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

# IGameInputDevice::SetLightingColor

> Prepara uma cor para uma ou mais lâmpadas do dispositivo de entrada.

Prepara uma cor para uma ou mais lâmpadas do dispositivo de entrada. A cor é enviada ao dispositivo na próxima vez que você chamar [IGameInputDevice::ApplyLightingColors](https://docs.xbox.com/pt-BR/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_applylightingcolors.md).

## Sintaxe

```cpp theme={null}
void SetLightingColor(
    GameInputColor color,
    GameInputLightingGroups group,
    uint32_t groupOrderIndex = GAMEINPUT_LIGHTING_GROUP_ORDER_INDEX_ALL
);
```

### Parâmetros

*color*\
Tipo: [GameInputColor](https://learn.microsoft.com/en-us/gaming/gdk/docs/reference/input/gameinput/structs/gameinputcolor)

A cor a ser preparada para as lâmpadas selecionadas.

*group*\
Tipo: [GameInputLightingGroups](https://learn.microsoft.com/en-us/gaming/gdk/docs/reference/input/gameinput/enums/gameinputlightinggroups)

A seleção de grupos de iluminação que contém as lâmpadas a serem definidas. Pode ser um ou mais sinalizadores de grupo nomeado, `GameInputLightingGroupAll` para selecionar todas as lâmpadas do dispositivo ou `GameInputLightingGroupUnknown` para selecionar as lâmpadas que não pertencem a nenhum grupo nomeado.

*groupOrderIndex*   \_In\_opt\_\
Tipo: uint32\_t

Seleciona uma lâmpada individual dentro de *group*. O valor padrão, `GAMEINPUT_LIGHTING_GROUP_ORDER_INDEX_ALL`, seleciona todas as lâmpadas em *group*. Confira os Comentários para saber como os outros valores são interpretados.

### Valor retornado

Tipo: void

## Comentários

`SetLightingColor` não altera as lâmpadas imediatamente. Ele registra (prepara) a cor das lâmpadas selecionadas. Chame [IGameInputDevice::ApplyLightingColors](https://docs.xbox.com/pt-BR/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_applylightingcolors.md) para enviar todas as cores preparadas ao dispositivo em uma única atualização. Como nada é enviado até que você aplique as cores, você pode definir vários grupos ou lâmpadas individuais e fazer com que eles mudem ao mesmo tempo. As cores preparadas permanecem em vigor depois de aplicadas; portanto, para alterar um grupo posteriormente, basta preparar a nova cor para esse grupo e aplicar novamente.

O parâmetro *groupOrderIndex* é interpretado da seguinte maneira.

| Valor de *groupOrderIndex* | Lâmpadas selecionadas |
| - | - |
| `GAMEINPUT_LIGHTING_GROUP_ORDER_INDEX_ALL` (0xFFFFFFFF) | Todas as lâmpadas em *group*. |
| Um código de verificação do teclado, quando *group* é `GameInputLightingGroupKeyboardKey` | A lâmpada da tecla com esse código de verificação. O código de verificação usa a codificação Set 1: de 0x01 a 0x7F, códigos de verificação estendidos de 0xE001 a 0xE07F ou 0xE11D para a tecla Pause. |
| Qualquer outro valor | A lâmpada nessa posição baseada em zero dentro de *group*. O valor deve ser menor que o valor retornado por [IGameInputDevice::GetSupportedLightingGroupSize](https://docs.xbox.com/pt-BR/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getsupportedlightinggroupsize.md) para *group*. |

Uma seleção que combina `GameInputLightingGroupKeyboardKey` com outros grupos nomeados não pode selecionar uma lâmpada individual, pois o índice seria ambíguo. Use `GAMEINPUT_LIGHTING_GROUP_ORDER_INDEX_ALL` com essas seleções. `GameInputLightingGroupAll` pode selecionar uma lâmpada individual pela sua posição baseada em zero entre todas as lâmpadas do dispositivo.

Se a seleção não for válida para o dispositivo, a chamada será ignorada e nada será preparado. Uma seleção não é válida se incluir um grupo nomeado que o dispositivo não tem (confira [IGameInputDevice::GetSupportedLightingGroups](https://docs.xbox.com/pt-BR/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getsupportedlightinggroups.md)), se não contiver lâmpadas ou se especificar um *groupOrderIndex* que esteja fora do intervalo ou que não seja um código de verificação válido. Chamadas em um dispositivo desconectado não têm efeito.

Para descartar as cores preparadas e retornar as lâmpadas ao comportamento padrão, chame [IGameInputDevice::ApplyLightingSystemDefault](https://docs.xbox.com/pt-BR/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_applylightingsystemdefault.md).

O exemplo a seguir define os botões frontais de um controle como vermelhos e a luz central como azul e, em seguida, aplica as duas cores em uma única atualização.

```cpp theme={null}
void SetControllerLighting(IGameInputDevice* device) noexcept
{
    const GameInputLightingGroups groups = device->GetSupportedLightingGroups();

    if ((groups & GameInputLightingGroupFaceButtons) != 0)
    {
        device->SetLightingColor({ 255, 0, 0 }, GameInputLightingGroupFaceButtons);
    }

    if ((groups & GameInputLightingGroupCenterLight) != 0)
    {
        device->SetLightingColor({ 0, 0, 255 }, GameInputLightingGroupCenterLight);
    }

    device->ApplyLightingColors();
}
```

O exemplo a seguir escurece todas as teclas de um teclado com iluminação por tecla e destaca a tecla A, que tem o código de verificação Set 1 0x1E.

```cpp theme={null}
void HighlightKeyA(IGameInputDevice* device) noexcept
{
    if ((device->GetSupportedLightingGroups() & GameInputLightingGroupKeyboardKey) == 0)
    {
        return;
    }

    device->SetLightingColor({ 16, 16, 16 }, GameInputLightingGroupKeyboardKey);
    device->SetLightingColor({ 0, 255, 0 }, GameInputLightingGroupKeyboardKey, 0x1E);
    device->ApplyLightingColors();
}
```

> [!NOTE]
>
> O suporte à iluminação depende do dispositivo e da plataforma. Atualmente, o GameInput oferece suporte à iluminação em dispositivos com Iluminação Dinâmica do Windows (LampArray) e na barra de luz dos controles DualSense.

## Requisitos

**Cabeçalho:** GameInput.h

**Biblioteca:** gameinput.lib

**Plataformas com suporte:** Windows, consoles da família XBOX One e consoles XBOX Series

## Confira também

[Visão geral do GameInput](https://docs.xbox.com/pt-BR/build/core-features/common/input/overviews/input-overview.md)\
[IGameInputDevice](https://docs.xbox.com/pt-BR/reference/input/gameinput/interfaces/igameinputdevice/igameinputdevice.md)\
[GameInputColor](https://learn.microsoft.com/en-us/gaming/gdk/docs/reference/input/gameinput/structs/gameinputcolor)\
[GameInputLightingGroups](https://learn.microsoft.com/en-us/gaming/gdk/docs/reference/input/gameinput/enums/gameinputlightinggroups)\
[IGameInputDevice::ApplyLightingColors](https://docs.xbox.com/pt-BR/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_applylightingcolors.md)\
[IGameInputDevice::ApplyLightingSystemDefault](https://docs.xbox.com/pt-BR/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_applylightingsystemdefault.md)\
[IGameInputDevice::GetSupportedLightingGroups](https://docs.xbox.com/pt-BR/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getsupportedlightinggroups.md)\
[IGameInputDevice::GetSupportedLightingGroupSize](https://docs.xbox.com/pt-BR/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getsupportedlightinggroupsize.md)

## Histórico de versões

| Versão | Alterações |
| - | - |
| **v4** | Introduzido. |


## Related topics

- [IGameInputDevice::ApplyLightingColors](https://docs.xbox.com/pt-BR/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_applylightingcolors.md)
- [IGameInputDevice::ApplyLightingSystemDefault](https://docs.xbox.com/pt-BR/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_applylightingsystemdefault.md)
- [IGameInputDevice::GetSupportedLightingGroups](https://docs.xbox.com/pt-BR/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getsupportedlightinggroups.md)
- [IGameInputDevice::GetSupportedLightingGroupSize](https://docs.xbox.com/pt-BR/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getsupportedlightinggroupsize.md)
- [Membros da API do GameInput](https://docs.xbox.com/pt-BR/reference/input/gameinput/gameinput_members.md)
