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

SDL_SetWindowKeyboardGrab

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

構文

void SDL_SetWindowKeyboardGrab(SDL_Window* window, SDL_bool grabbed)

引数

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

詳細

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

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

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

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

バージョン

SDL 2.0.16以降

関連項目(関数)

SDL_GetWindowKeyboardGrab
SDL_SetWindowMouseGrab
SDL_SetWindowGrab

SDL Wikiへのリンク

SDL_SetWindowKeyboardGrab - SDL Wiki