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

> キーボードの種類、レイアウト、キーの数など、デバイスのキーボードのプロパティを取得します。

キーボードの種類、レイアウト、キーの数など、デバイスのキーボードのプロパティを取得します。

## 構文

```cpp theme={null}
bool GetKeyboardInfo(
    GameInputKeyboardInfo* info
);
```

### パラメーター

*info*   \_Out\_\
型: [GameInputKeyboardInfo](https://docs.xbox.com/ja-jp/reference/input/gameinput/structs/gameinputkeyboardinfo.md)\*

デバイスのキーボードのプロパティを受け取る `GameInputKeyboardInfo` 構造体へのポインター。デバイスがキーボード入力をサポートしていない場合、構造体のすべてのメンバーは 0 に設定されます。

### 戻り値

型: bool

デバイスがキーボード入力をサポートしていて、*info* にデータが格納された場合は `true`。それ以外の場合は `false`。

## 解説

`GetKeyboardInfo` メソッドは、デバイスのキーボードのプロパティを、呼び出し元が用意した構造体にコピーします。[GetSupportedInput](https://docs.xbox.com/ja-jp/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getsupportedinput.md) から返される値に `GameInputKindKeyboard` が含まれている場合、そのデバイスはキーボード入力をサポートしています。デバイスがキーボード入力をサポートしていない場合、`GetKeyboardInfo` は *info* を 0 で初期化し、`false` を返します。

ほとんどのキーボードのプロパティはデバイスの有効期間中は固定されています。例外は `layout` メンバーで、アクティブなキーボード レイアウトが変更されると (たとえば、ユーザーが入力言語を切り替えたとき)、GameInput によってその場で更新されます。レイアウトが変更されると、GameInput は [IGameInput::RegisterDeviceCallback](https://docs.xbox.com/ja-jp/reference/input/gameinput/interfaces/igameinput/methods/igameinput_registerdevicecallback.md) で登録されたデバイス コールバックに対して `GameInputDeviceEventKeyboardLayoutUpdated` [GameInputDeviceEvent](https://learn.microsoft.com/en-us/gaming/gdk/docs/reference/input/gameinput/enums/gameinputdeviceevent) を発生させます。新しいレイアウトを読み取るには、そのコールバック内から `GetKeyboardInfo` をもう一度呼び出します。

次の例は、デバイスのキーボードのプロパティをクエリする方法を示しています。

```cpp theme={null}
GameInputKeyboardInfo info;
if (device->GetKeyboardInfo(&info))
{
    uint32_t keyboardLayout = info.layout;
    uint32_t keyCount = info.keyCount;
    // ...
}
```

GameInput v3 以前では、この情報は [IGameInputDevice::GetDeviceInfo](https://docs.xbox.com/ja-jp/reference/input/gameinput/deprecated/interfaces/igameinputdevice/methods/igameinputdevice_getdeviceinfo.md) から返される [GameInputDeviceInfo](https://docs.xbox.com/ja-jp/reference/input/gameinput/deprecated/structs/gameinputdeviceinfo.md) 構造体の `keyboardInfo` メンバーから取得できました。

## 要件

**ヘッダー:** GameInput.h

**ライブラリ:** gameinput.lib

**サポートされているプラットフォーム:** Windows、XBOX One ファミリー本体、XBOX Series 本体

## 関連項目

[GameInput の概要](https://docs.xbox.com/ja-jp/build/core-features/common/input/overviews/input-overview.md)\
[GameInputKeyboardInfo](https://docs.xbox.com/ja-jp/reference/input/gameinput/structs/gameinputkeyboardinfo.md)\
[GetSupportedInput](https://docs.xbox.com/ja-jp/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getsupportedinput.md)\
[GameInputKind](https://docs.xbox.com/ja-jp/reference/input/gameinput/enums/gameinputkind.md)\
[IGameInput::RegisterDeviceCallback](https://docs.xbox.com/ja-jp/reference/input/gameinput/interfaces/igameinput/methods/igameinput_registerdevicecallback.md)\
[GameInputDeviceEvent](https://learn.microsoft.com/en-us/gaming/gdk/docs/reference/input/gameinput/enums/gameinputdeviceevent)\
[IGameInputReading::GetKeyState](https://docs.xbox.com/ja-jp/reference/input/gameinput/interfaces/igameinputreading/methods/igameinputreading_getkeystate.md)\
[IGameInputDevice](https://docs.xbox.com/ja-jp/reference/input/gameinput/interfaces/igameinputdevice/igameinputdevice.md)

## バージョン履歴

| バージョン | 変更内容 |
| - | - |
| **v4** | 導入されました。 |


## Related topics

- [GameInputKeyboardInfo](https://docs.xbox.com/ja-jp/reference/input/gameinput/structs/gameinputkeyboardinfo.md)
- [IGameInput::RegisterKeyboardLayoutCallback (非推奨)](https://docs.xbox.com/ja-jp/reference/input/gameinput/deprecated/interfaces/igameinput/methods/igameinput_registerkeyboardlayoutcallback.md)
- [IGameInputDevice::GetInputReportInfo](https://docs.xbox.com/ja-jp/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getinputreportinfo.md)
- [IGameInputDevice::GetGamepadInfo](https://docs.xbox.com/ja-jp/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getgamepadinfo.md)
- [IGameInputDevice::GetMouseInfo](https://docs.xbox.com/ja-jp/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getmouseinfo.md)
