> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# GameInputSystemButtonCallback

> GameInputSystemButtonCallback

# GameInputSystemButtonCallback

Title-defined callback called when the Guide or Share button is pressed or released.

## Syntax

```cpp theme={null}
void GameInputSystemButtonCallback(
    GameInputCallbackToken callbackToken,
    void* context,
    IGameInputDevice* device,
    uint64_t timestamp,
    GameInputSystemButtons currentButtons,
    GameInputSystemButtons previousButtons
);
```

### Parameters

*callbackToken*   \_In\_\
Type: GameInputCallbackToken

The callback token returned by [IGameInput::RegisterSystemButtonCallback](/reference/input/gameinput/interfaces/igameinput/methods/igameinput_registersystembuttoncallback).

*context*   \_In\_\
Type: void\*

The title defined context passed to [IGameInput::RegisterSystemButtonCallback](/reference/input/gameinput/interfaces/igameinput/methods/igameinput_registersystembuttoncallback).

*device*   \_In\_\
Type: IGameInputDevice\*

The device that triggered the event.

*timestamp*   \_In\_\
Type: uint64\_t

The microsecond timestamp associated with the event.

*currentButtons*   \_In\_\
Type: GameInputSystemButtons

The set of system buttons that are currently pressed.

*previousButtons*   \_In\_\
Type: GameInputSystemButtons

The set of system buttons that were previously pressed before this change.

### Return value

Type: void

## Remarks

The `GameInputSystemButtonCallback` function is the title-defined callback for the Guide or Share button (pressed or released) events. It is registered with the [IGameInput::RegisterSystemButtonCallback](/reference/input/gameinput/interfaces/igameinput/methods/igameinput_registersystembuttoncallback) method. This function is triggered by the conditions set from the registration method. For more information, see [IGameInput::RegisterSystemButtonCallback](/reference/input/gameinput/interfaces/igameinput/methods/igameinput_registersystembuttoncallback).

## Requirements

**Header:** GameInput.h

[Overview of GameInput](/build/core-features/common/input/overviews/input-overview)\
[GameInput](/reference/input/gameinput/gameinput_members)

## Version History

| Version | Changes                                                                                          |
| ------- | ------------------------------------------------------------------------------------------------ |
| **v1**  | Renamed `currentState` and `previousState` parameters to `currentButtons` and `previousButtons`. |
| **v0**  | Introduced.                                                                                      |


## Related topics

- [GameInputGuidButtonCallback](/reference/input/gameinput/deprecated/functions/gameinputguidebuttoncallback.md)
- [IGameInput::RegisterGuideButtonCallback](/reference/input/gameinput/deprecated/interfaces/igameinput/methods/igameinput_registerguidebuttoncallback.md)
- [IGameInput::RegisterSystemButtonCallback](/reference/input/gameinput/interfaces/igameinput/methods/igameinput_registersystembuttoncallback.md)
- [GameInput](/reference/input/gameinput/gameinput_members.md)
- [Deprecated GameInput API members](/reference/input/gameinput/deprecated/gameinput_deprecated_members.md)
