目次 - API(機能別) - ディスプレイとウィンドウ - SDL_SetWindowKeyboardGrab

# SDL_SetWindowKeyboardGrab

ウィンドウのキーボードグラブモードを設定する

## 構文

`void SDL_SetWindowKeyboardGrab(SDL_Window* window, SDL_bool grabbed)`

## 引数

window | キーボードグラブモードが設定される
grabbed | SDL_TRUEのときキーボードグラブする, SDL_FALSEのとき解除する

## 詳細

キーボードをグラブすると, Alt+TabやMeta/Superキーのようなシステムキーボードショートカットを捕らえることができる. 全てのシステムキーボードショートカットをアプリケーションが捕らえることができるのではないので注意すること. (例えばWindowsのCtrl+Alt+Del)

これは主にVNCクライアントやVMフロントエンドのような特殊なアプリケーションを想定としている. 通常のゲーム等はキーボードをグラブすべきではない.

キーボードグラムを有効にしても, ウィンドウがフルスクリーンの場合は, SDLはユーザがアプリケーションから脱出できるようにAlt+Tabを処理する. フルスクリーンから脱出するショートカットを自分で作成する場合は, この動作をSDL_HINT_ALLOW_ALT_TAB_WHILE_GRABBEDで無効にすること.

既に他のウィンドウがマウスグラブされている状態で別のウィンドウのマウスグラブを設定した場合, 元のウィンドウはマウスグラブを失い, 後に設定したウィンドウがマウスグラブを得る.

## バージョン

この関数はバージョン2.0.16以降で使える

## 関連項目(関数)

SDL_GetWindowKeyboardGrab
SDL_SetWindowMouseGrab
SDL_SetWindowGrab

## SDL Wikiへのリンク

SDL_SetWindowKeyboardGrab - SDL Wiki