> ## 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

> Recupera el estado de los botones del sistema, como los botones Guía y Compartir, de una lectura de entrada.

Recupera el estado de los botones del sistema, como los botones Guía y Compartir, de una lectura de entrada.

## Sintaxis

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

### Parámetros

*buttons*   \_Out\_\
Tipo: [GameInputSystemButtons](https://docs.xbox.com/es/reference/input/gameinput/enums/gameinputsystembuttons.md)\*

Recibe el conjunto de botones del sistema que están presionados en esta lectura.

### Valor devuelto

Tipo: bool

Devuelve `true` si la lectura contiene el estado de los botones del sistema. Devuelve `false` si no lo contiene, en cuyo caso *buttons* se establece en `GameInputSystemButtonNone`.

## Comentarios

En GameInput v4, los botones del sistema son un tipo de entrada ordinario, `GameInputKindSystemButton`. Todas las lecturas de un dispositivo que tiene botones del sistema incluyen `GameInputKindSystemButton` en [IGameInputReading::GetInputKind](https://docs.xbox.com/es/reference/input/gameinput/interfaces/igameinputreading/methods/igameinputreading_getinputkind.md), y `GetSystemButtonState` devuelve el estado actual de esos botones de la misma manera que [IGameInputReading::GetGamepadState](https://docs.xbox.com/es/reference/input/gameinput/interfaces/igameinputreading/methods/igameinputreading_getgamepadstate.md) devuelve el estado de los botones del mando de juego. Para averiguar qué botones del sistema tiene un dispositivo, llame a [IGameInputDevice::GetSupportedSystemButtons](https://docs.xbox.com/es/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getsupportedsystembuttons.md).

La lectura indica qué botones están presionados, no eventos de pulsación o liberación. Para detectar una pulsación o una liberación, compare el estado con el de la lectura anterior.

Este método reemplaza al método [IGameInput::RegisterSystemButtonCallback](https://docs.xbox.com/es/reference/input/gameinput/deprecated/interfaces/igameinput/methods/igameinput_registersystembuttoncallback.md) de versiones anteriores de GameInput. Use [IGameInput::RegisterReadingCallback](https://docs.xbox.com/es/reference/input/gameinput/interfaces/igameinput/methods/igameinput_registerreadingcallback.md) con `GameInputKindSystemButton`, o sondee con [IGameInput::GetCurrentReading](https://docs.xbox.com/es/reference/input/gameinput/interfaces/igameinput/methods/igameinput_getcurrentreading.md), para recibir la entrada de los botones del sistema.

La entrada de los botones del sistema solo se entrega mientras la aplicación tiene el foco, a menos que la entrada en segundo plano esté habilitada con [IGameInput::EnableBackgroundInput](https://docs.xbox.com/es/reference/input/gameinput/interfaces/igameinput/methods/igameinput_enablebackgroundinput.md).

En el siguiente ejemplo se muestra cómo detectar una nueva pulsación del botón Guía.

```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;
        }
    }
}
```

## Requisitos

**Encabezado:** GameInput.h

**Biblioteca:** gameinput.lib

**Plataformas compatibles:** Windows, consolas de la familia XBOX One y consolas XBOX Series

## Consulte también

[Información general de GameInput](https://docs.xbox.com/es/build/core-features/common/input/overviews/input-overview.md)\
[IGameInputReading](https://docs.xbox.com/es/reference/input/gameinput/interfaces/igameinputreading/igameinputreading.md)\
[GameInputSystemButtons](https://docs.xbox.com/es/reference/input/gameinput/enums/gameinputsystembuttons.md)\
[GameInputKind](https://docs.xbox.com/es/reference/input/gameinput/enums/gameinputkind.md)\
[IGameInput::EnableBackgroundInput](https://docs.xbox.com/es/reference/input/gameinput/interfaces/igameinput/methods/igameinput_enablebackgroundinput.md)\
[IGameInputDevice::GetSupportedSystemButtons](https://docs.xbox.com/es/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getsupportedsystembuttons.md)

## Historial de versiones

| Versión | Cambios |
| - | - |
| **v4** | Se introdujo. |


## Related topics

- [GameInputSystemButtons](https://docs.xbox.com/es/reference/input/gameinput/enums/gameinputsystembuttons.md)
- [IGameInputDevice::GetSupportedSystemButtons](https://docs.xbox.com/es/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getsupportedsystembuttons.md)
- [RegisterSystemButtonCallback (en desuso)](https://docs.xbox.com/es/reference/input/gameinput/deprecated/interfaces/igameinput/methods/igameinput_registersystembuttoncallback.md)
- [GameInputKind](https://docs.xbox.com/es/reference/input/gameinput/enums/gameinputkind.md)
- [Miembros de la API de GameInput](https://docs.xbox.com/es/reference/input/gameinput/gameinput_members.md)
