目次 - API(機能別) - ゲームコントローラー
ゲームコントローラー
インクルードファイル: SDL_gamecontroller.h
概要
ここに分類される関数は, ゲームコントローラーとゲームコントローラーにマッピング(対応付け)されたジョイスティックを扱う.
これは既存のジョイスティックAPIの上に成り立っている.
SDL_GameControllerはゲームパッド(コントローラー)をxbox360-padと同じようなものとして抽象化してあつかう.
つまり, ゲームパッドには十字キー, 2つのアナログスティック, 右側の4ボタン(よくA, B, X, Yと呼ばれる), ショルダーボタン(その内の2つはコントローラーかもしれない), 中央の3ボタン(スタート, バック, そしてしばしばロゴボタン)がある.
これは似たようなレイアウトのデバイス, 例えばPlaystation DualShockコントローラーにも存在するが, ボタン名が異なる.
SDL_GameControllerでは, 対応する全てのデバイスはxbox360/XInputの名称に変換される.
例えば, SDL_CONTROLLER_AXIS_LEFTXは常に左アナログスティックのX軸, SDL_CONTROLLER_BUTTON_Bは常に右側の4ボタンで最も右側のボタンである.
これによりあなたのユーザに「Bでジャンプ, 左アナログスティックで移動」のように(同じようなデバイスに)一貫したルールを提供できる.
SDL_Joystick(とDirectInputのような下位API)では, SDL(やDirectInput)上のスティックやボタンとデバイス上の物理的なスティック/ボタンの位置の対応付けを知ることはできない.
もしStreamからゲームを起動すると, ゲームコントローラーは自動的にマッピングされる.
関数
- SDL_GameControllerAddMapping - SDLが認識していないコントローラを追加する. または認識済みのコントローラを別の配置にする
- SDL_GameControllerAddMappingsFromRW - SDLデータストリームからゲームコントローラーマッピングを読み込む
- SDL_GameControllerClose - SDL_GameControllerOpen()で開いたゲームコントローラーを閉じる
- SDL_GameControllerEventState - ゲームコントローラーのイベントを有効・無効にする
- SDL_GameControllerFromInstanceID - インスタンスIDと関連付けられたSDL_GameControllerを得る
- SDL_GameControllerFromPlayerIndex - プレイヤーの番号と関連付けられたSDL_GameControllerを得る
- SDL_GameControllerGetAppleSFSymbolsNameForAxis - Apple環境のゲームコントローラーの指定の軸のsfSymbolsNameを得る
- SDL_GameControllerGetAppleSFSymbolsNameForButton - Apple環境のゲームコントローラーの指定のボタンのsfSymbolsNameを得る
- SDL_GameControllerGetAttached - ゲームコントローラーが開かれていて, かつ接続されているかチェックする
- SDL_GameControllerGetAxis - ゲームコントローラーの軸の状態を得る
- SDL_GameControllerGetAxisFromString - 文字列をゲームコントローラーの軸を表す列挙体の値に変換する
- SDL_GameControllerGetBindForAxis - ゲームコントローラー軸マッピングのためのジョイスティック レイヤー バインドを得る
- SDL_GameControllerGetBindForButton - ゲームコントローラー ボタン マッピングのためのジョイスティック レイヤー バインドを得る
- SDL_GameControllerGetButton - ゲームコントローラーのボタンの状態を得る
- SDL_GameControllerGetButtonFromString - 文字列をボタンマッピングに変換する
- SDL_GameControllerGetFirmwareVersion - 可能ならばオープンしたゲームコントローラーのファームウェアのバージョンを得る
- SDL_GameControllerGetJoystick - ゲームコントローラーIDからジョイスティックIDを得る
- SDL_GameControllerGetNumTouchpadFingers - ゲームコントローラーのタッチパッドの同時に検知できる指の数を得る
- SDL_GameControllerGetNumTouchpads - ゲームコントローラーのタッチパッドの数を得る
- SDL_GameControllerGetPlayerIndex - オープンされたゲームコントローラーのプレイヤーの番号を得る
- SDL_GameControllerGetProduct - 可能ならばオープンされたゲームコントローラーのUSBプロダクトIDを得る
- SDL_GameControllerGetProductVersion - 可能ならばオープンされたゲームコントローラーのプロダクトバージョンを得る
- SDL_GameControllerGetSensorData - ゲームコントローラーのセンサーの状態を得る
- SDL_GameControllerGetSensorDataRate - ゲームコントローラーセンサーのデータレート(1秒あたりのイベント数)を得る
- SDL_GameControllerGetSensorDataWithTimestamp - ゲームコントローラーのセンサーの状態と更新時間を得る
- SDL_GameControllerGetSerial - 可能ならばオープンされたゲームコントローラーのシリアル番号を得る
- SDL_GameControllerGetSteamHandle - 可能ならばオープンされたゲームコントローラーのSteam入力ハンドルを得る
- SDL_GameControllerGetStringForAxis - ゲームコントローラーの軸番号を文字列に変換する
- SDL_GameControllerGetStringForButton - ゲームコントローラーのボタン番号を文字列に変換する
- SDL_GameControllerGetTouchpadFinger - ゲームコントローラーのタッチパッド上の指の状態を得る
- SDL_GameControllerGetType - オープンされたゲームコントローラーの種類を得る
- SDL_GameControllerGetVendor - 可能ならばオープンされたゲームコントローラーのベンダーIDを得る
- SDL_GameControllerHasAxis - ゲームコントローラーに指定の軸が存在するかを得る
- SDL_GameControllerHasButton - ゲームコントローラーに指定のボタンが存在するかを得る
- SDL_GameControllerHasLED - ゲームコントローラーにLEDが存在するかを得る
- SDL_GameControllerHasRumble - ゲームコントローラーが振動に対応しているかを得る
- SDL_GameControllerHasRumbleTriggers - ゲームコントローラーがトリガー振動に対応しているかを得る
- SDL_GameControllerHasSensor - ゲームコントローラーに指定のセンサーが存在するかを得る
- SDL_GameControllerIsSensorEnabled - ゲームコントローラーの指定のセンサーが有効かを得る
- SDL_GameControllerMapping - ゲームコントローラーの現在のマッピングを得る
- SDL_GameControllerMappingForDeviceIndex - ゲームコントローラーのマッピングを得る
- SDL_GameControllerMappingForGUID - 指定のGUIDのゲームコントローラーマッピング文字列を得る
- SDL_GameControllerMappingForIndex - ゲームコントローラーの指定の番号のマッピングを得る
- SDL_GameControllerName - 開いたゲームコントローラーの実装から得た名前を得る
- SDL_GameControllerNameForIndex - ゲームコントローラーの実装から得た名前を得る
- SDL_GameControllerNumMappings - インストールされているゲームコントローラーマッピングの数を得る
- SDL_GameControllerOpen - ゲームコントローラーを使うために開く
- SDL_GameControllerPath - オープンしたゲームコントローラーの実装に依存したパスを得る
- SDL_GameControllerPathForIndex - オープンしたゲームコントローラーの実装に依存したパスを得る
- SDL_GameControllerRumble - ゲームコントローラーの振動効果を開始する
- SDL_GameControllerRumbleTriggers - ゲームコントローラーのトリガーの振動効果を開始する
- SDL_GameControllerSendEffect - コントローラー固有の効果パケットを送信する
- SDL_GameControllerSetLED - ゲームコントローラーのLEDの色を変更する
- SDL_GameControllerSetPlayerIndex - オープンされたゲームコントローラーにプレイヤー番号を設定する
- SDL_GameControllerSetSensorEnabled - ゲームコントローラーのセンサーからのデータ報告を有効にするかを設定する
- SDL_GameControllerTypeForIndex - ゲームコントローラーの種類を得る
- SDL_GameControllerUpdate - イベントループを使わないときゲームコントローラーの更新を吸い出す
- SDL_IsGameController - ジョイスティクがゲームコントローラーインターフェースに対応しているかチェックする
構造体
- _SDL_GameController
- SDL_GameControllerButtonBind - SDL_GameControllerの論理ボタン/軸がどのSDL_Joystickのボタン/軸/ハットにマップされたものかの情報を持つ構造体
列挙体
- SDL_GameControllerAxis - コントローラーで利用可能な軸の列挙対
- SDL_GameControllerBindType - SDL_GameControllerButtonBind構造体のマップされたSDL_Joystickの種類の列挙体
- SDL_GameControllerButton - コントローラーで利用可能なボタンの列挙対
マクロ
- SDL_GameControllerAddMappingsFromFile - ファイルから現在のSDL_GetPlatform()のゲームコントローラーマッピングを読み込む
SDL Wikiへのリンク
GameController and Joystick Mapping - SDL Wiki