目次 - 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からゲームを起動すると, ゲームコントローラーは自動的にマッピングされる.

関数

  1. SDL_GameControllerAddMapping - SDLが認識していないコントローラを追加する. または認識済みのコントローラを別の配置にする
  2. SDL_GameControllerAddMappingsFromRW - SDLデータストリームからゲームコントローラーマッピングを読み込む
  3. SDL_GameControllerClose - SDL_GameControllerOpen()で開いたゲームコントローラーを閉じる
  4. SDL_GameControllerEventState - ゲームコントローラーのイベントを有効・無効にする
  5. SDL_GameControllerFromInstanceID - インスタンスIDと関連付けられたSDL_GameControllerを得る
  6. SDL_GameControllerFromPlayerIndex - プレイヤーの番号と関連付けられたSDL_GameControllerを得る
  7. SDL_GameControllerGetAppleSFSymbolsNameForAxis - Apple環境のゲームコントローラーの指定の軸のsfSymbolsNameを得る
  8. SDL_GameControllerGetAppleSFSymbolsNameForButton - Apple環境のゲームコントローラーの指定のボタンのsfSymbolsNameを得る
  9. SDL_GameControllerGetAttached - ゲームコントローラーが開かれていて, かつ接続されているかチェックする
  10. SDL_GameControllerGetAxis - ゲームコントローラーの軸の状態を得る
  11. SDL_GameControllerGetAxisFromString - 文字列をゲームコントローラーの軸を表す列挙体の値に変換する
  12. SDL_GameControllerGetBindForAxis - ゲームコントローラー軸マッピングのためのジョイスティック レイヤー バインドを得る
  13. SDL_GameControllerGetBindForButton - ゲームコントローラー ボタン マッピングのためのジョイスティック レイヤー バインドを得る
  14. SDL_GameControllerGetButton - ゲームコントローラーのボタンの状態を得る
  15. SDL_GameControllerGetButtonFromString - 文字列をボタンマッピングに変換する
  16. SDL_GameControllerGetFirmwareVersion - 可能ならばオープンしたゲームコントローラーのファームウェアのバージョンを得る
  17. SDL_GameControllerGetJoystick - ゲームコントローラーIDからジョイスティックIDを得る
  18. SDL_GameControllerGetNumTouchpadFingers - ゲームコントローラーのタッチパッドの同時に検知できる指の数を得る
  19. SDL_GameControllerGetNumTouchpads - ゲームコントローラーのタッチパッドの数を得る
  20. SDL_GameControllerGetPlayerIndex - オープンされたゲームコントローラーのプレイヤーの番号を得る
  21. SDL_GameControllerGetProduct - 可能ならばオープンされたゲームコントローラーのUSBプロダクトIDを得る
  22. SDL_GameControllerGetProductVersion - 可能ならばオープンされたゲームコントローラーのプロダクトバージョンを得る
  23. SDL_GameControllerGetSensorData - ゲームコントローラーのセンサーの状態を得る
  24. SDL_GameControllerGetSensorDataRate - ゲームコントローラーセンサーのデータレート(1秒あたりのイベント数)を得る
  25. SDL_GameControllerGetSensorDataWithTimestamp - ゲームコントローラーのセンサーの状態と更新時間を得る
  26. SDL_GameControllerGetSerial - 可能ならばオープンされたゲームコントローラーのシリアル番号を得る
  27. SDL_GameControllerGetStringForAxis - ゲームコントローラーの軸番号を文字列に変換する
  28. SDL_GameControllerGetStringForButton - ゲームコントローラーのボタン番号を文字列に変換する
  29. SDL_GameControllerGetTouchpadFinger - ゲームコントローラーのタッチパッド上の指の状態を得る
  30. SDL_GameControllerGetType - オープンされたゲームコントローラーの種類を得る
  31. SDL_GameControllerGetVendor - 可能ならばオープンされたゲームコントローラーのベンダーIDを得る
  32. SDL_GameControllerHasAxis - ゲームコントローラーに指定の軸が存在するかを得る
  33. SDL_GameControllerHasButton - ゲームコントローラーに指定のボタンが存在するかを得る
  34. SDL_GameControllerHasLED - ゲームコントローラーにLEDが存在するかを得る
  35. SDL_GameControllerHasRumble - ゲームコントローラーが振動に対応しているかを得る
  36. SDL_GameControllerHasRumbleTriggers - ゲームコントローラーがトリガー振動に対応しているかを得る
  37. SDL_GameControllerHasSensor - ゲームコントローラーに指定のセンサーが存在するかを得る
  38. SDL_GameControllerIsSensorEnabled - ゲームコントローラーの指定のセンサーが有効かを得る
  39. SDL_GameControllerMapping - ゲームコントローラーの現在のマッピングを得る
  40. SDL_GameControllerMappingForDeviceIndex - ゲームコントローラーのマッピングを得る
  41. SDL_GameControllerMappingForGUID - 指定のGUIDのゲームコントローラーマッピング文字列を得る
  42. SDL_GameControllerMappingForIndex - ゲームコントローラーの指定の番号のマッピングを得る
  43. SDL_GameControllerName - 開いたゲームコントローラーの実装から得た名前を得る
  44. SDL_GameControllerNameForIndex - ゲームコントローラーの実装から得た名前を得る
  45. SDL_GameControllerNumMappings - インストールされているゲームコントローラーマッピングの数を得る
  46. SDL_GameControllerOpen - ゲームコントローラーを使うために開く
  47. SDL_GameControllerPath - オープンしたゲームコントローラーの実装に依存したパスを得る
  48. SDL_GameControllerPathForIndex - オープンしたゲームコントローラーの実装に依存したパスを得る
  49. SDL_GameControllerRumble - ゲームコントローラーの振動効果を開始する
  50. SDL_GameControllerRumbleTriggers - ゲームコントローラーのトリガーの振動効果を開始する
  51. SDL_GameControllerSendEffect - コントローラー固有の効果パケットを送信する
  52. SDL_GameControllerSetLED - ゲームコントローラーのLEDの色を変更する
  53. SDL_GameControllerSetPlayerIndex - オープンされたゲームコントローラーにプレイヤー番号を設定する
  54. SDL_GameControllerSetSensorEnabled - ゲームコントローラーのセンサーからのデータ報告を有効にするかを設定する
  55. SDL_GameControllerTypeForIndex - ゲームコントローラーの種類を得る
  56. SDL_GameControllerUpdate - イベントループを使わないときゲームコントローラーの更新を吸い出す
  57. SDL_IsGameController - ジョイスティクがゲームコントローラーインターフェースに対応しているかチェックする

構造体

  1. _SDL_GameController
  2. SDL_GameControllerButtonBind - SDL_GameControllerの論理ボタン/軸がどのSDL_Joystickのボタン/軸/ハットにマップされたものかの情報を持つ構造体

列挙体

  1. SDL_GameControllerAxis - コントローラーで利用可能な軸の列挙対
  2. SDL_GameControllerBindType - SDL_GameControllerButtonBind構造体のマップされたSDL_Joystickの種類の列挙体
  3. SDL_GameControllerButton - コントローラーで利用可能なボタンの列挙対

マクロ

  1. SDL_GameControllerAddMappingsFromFile - ファイルから現在のSDL_GetPlatform()のゲームコントローラーマッピングを読み込む

SDL Wikiへのリンク

GameController and Joystick Mapping - SDL Wiki