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

# IGameInputReading::GetSystemButtonState

> Récupère l'état des boutons système, comme les boutons Guide et Partager, à partir d'une lecture d'entrée.

Récupère l'état des boutons système, comme les boutons Guide et Partager, à partir d'une lecture d'entrée.

## Syntaxe

```cpp theme={null}
bool GetSystemButtonState(
    GameInputSystemButtons* buttons
);
```

### Paramètres

*buttons*   \_Out\_\
Type : [GameInputSystemButtons](https://docs.xbox.com/fr-CA/reference/input/gameinput/enums/gameinputsystembuttons.md)\*

Reçoit l'ensemble des boutons système enfoncés dans cette lecture.

### Valeur de retour

Type : bool

Retourne `true` si la lecture contient l'état des boutons système. Retourne `false` dans le cas contraire; *buttons* est alors défini à `GameInputSystemButtonNone`.

## Remarques

Dans GameInput v4, les boutons système constituent un type d'entrée ordinaire, `GameInputKindSystemButton`. Chaque lecture d'un périphérique doté de boutons système inclut `GameInputKindSystemButton` dans [IGameInputReading::GetInputKind](https://docs.xbox.com/fr-CA/reference/input/gameinput/interfaces/igameinputreading/methods/igameinputreading_getinputkind.md), et `GetSystemButtonState` retourne l'état actuel de ces boutons de la même façon que [IGameInputReading::GetGamepadState](https://docs.xbox.com/fr-CA/reference/input/gameinput/interfaces/igameinputreading/methods/igameinputreading_getgamepadstate.md) retourne l'état des boutons de la manette de jeu. Pour savoir quels boutons système un périphérique possède, appelez [IGameInputDevice::GetSupportedSystemButtons](https://docs.xbox.com/fr-CA/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getsupportedsystembuttons.md).

La lecture indique quels boutons sont enfoncés, et non des événements d'appui ou de relâchement. Pour détecter un appui ou un relâchement, comparez l'état avec celui de la lecture précédente.

Cette méthode remplace la méthode [IGameInput::RegisterSystemButtonCallback](https://docs.xbox.com/fr-CA/reference/input/gameinput/deprecated/interfaces/igameinput/methods/igameinput_registersystembuttoncallback.md) des versions antérieures de GameInput. Utilisez [IGameInput::RegisterReadingCallback](https://docs.xbox.com/fr-CA/reference/input/gameinput/interfaces/igameinput/methods/igameinput_registerreadingcallback.md) avec `GameInputKindSystemButton`, ou interrogez [IGameInput::GetCurrentReading](https://docs.xbox.com/fr-CA/reference/input/gameinput/interfaces/igameinput/methods/igameinput_getcurrentreading.md), pour recevoir les entrées des boutons système.

Les entrées des boutons système ne sont transmises que lorsque l'application a le focus, sauf si les entrées en arrière-plan sont activées avec [IGameInput::EnableBackgroundInput](https://docs.xbox.com/fr-CA/reference/input/gameinput/interfaces/igameinput/methods/igameinput_enablebackgroundinput.md).

L'exemple suivant montre comment détecter un nouvel appui sur le bouton Guide.

```cpp theme={null}
Microsoft::WRL::ComPtr<IGameInput> gameInput;
GameInputSystemButtons previousButtons = GameInputSystemButtonNone;

void PollGuideButton() noexcept
{
    Microsoft::WRL::ComPtr<IGameInputReading> reading;
    if (SUCCEEDED(gameInput->GetCurrentReading(GameInputKindSystemButton, nullptr, &reading)))
    {
        GameInputSystemButtons buttons = GameInputSystemButtonNone;
        if (reading->GetSystemButtonState(&buttons))
        {
            const bool guidePressed = (buttons & GameInputSystemButtonGuide) != 0;
            const bool guidePreviouslyPressed = (previousButtons & GameInputSystemButtonGuide) != 0;
            if (guidePressed && !guidePreviouslyPressed)
            {
                // Handle new Guide button press
            }

            previousButtons = buttons;
        }
    }
}
```

## Configuration requise

**En-tête :** GameInput.h

**Bibliothèque :** gameinput.lib

**Plateformes prises en charge :** Windows, consoles de la famille XBOX One et consoles XBOX Series

## Voir aussi

[Vue d'ensemble de GameInput](https://docs.xbox.com/fr-CA/build/core-features/common/input/overviews/input-overview.md)\
[IGameInputReading](https://docs.xbox.com/fr-CA/reference/input/gameinput/interfaces/igameinputreading/igameinputreading.md)\
[GameInputSystemButtons](https://docs.xbox.com/fr-CA/reference/input/gameinput/enums/gameinputsystembuttons.md)\
[GameInputKind](https://docs.xbox.com/fr-CA/reference/input/gameinput/enums/gameinputkind.md)\
[IGameInput::EnableBackgroundInput](https://docs.xbox.com/fr-CA/reference/input/gameinput/interfaces/igameinput/methods/igameinput_enablebackgroundinput.md)\
[IGameInputDevice::GetSupportedSystemButtons](https://docs.xbox.com/fr-CA/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getsupportedsystembuttons.md)

## Historique des versions

| Version | Modifications |
| - | - |
| **v4** | Introduit. |


## Related topics

- [GameInputSystemButtons](https://docs.xbox.com/fr-CA/reference/input/gameinput/enums/gameinputsystembuttons.md)
- [IGameInputDevice::GetSupportedSystemButtons](https://docs.xbox.com/fr-CA/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getsupportedsystembuttons.md)
- [RegisterSystemButtonCallback (déprécié)](https://docs.xbox.com/fr-CA/reference/input/gameinput/deprecated/interfaces/igameinput/methods/igameinput_registersystembuttoncallback.md)
- [Membres de l'API GameInput](https://docs.xbox.com/fr-CA/reference/input/gameinput/gameinput_members.md)
- [Membres déconseillés de l'API GameInput](https://docs.xbox.com/fr-CA/reference/input/gameinput/deprecated/gameinput_deprecated_members.md)
