目次 - SDL 3.0 API(機能別) - ジョイスティック

ジョイスティック

概要

SDL joystick support.
SDLジョイスティック対応.

これはジョイスティックの低レベル対応で, より簡単に行いたいならば, ボタンの位置などがよく定義されたゲームパッドAPIを使用すべきである.

"instance_id"は, システムに現在インスタンス化されたジョイスティックデバイスを表す. もし, ジョイスティックを切断し, 再インスタンス化したならば, 新しいinstance_idになる. instance_idはジョイスティックが接続されるたびに単純に1ずつ加算される.

"player_index"は, コントローラに紐づけられたプレイヤーの番号を表す. XInputコントローラの場合は戻されたXInputユーザインデックスである. 多くのジョイスティックはこの情報に対応していない.

SDL_GUIDは, 時間がたっても変わらないジョイスティックデバイスの128ビットの固定IDとして使われる. これはデバイスのクラス(例えばX36有線コントローラなど)を識別する. IDは環境に依存する.

これらの関数を使うときは, SDL_INIT_JOYSTICKフラグを付けてSDL_Init()を呼ぶ必要がある. これでSDLはシステムのジョイスティックをスキャンし, 正しいドライバを読み込むようになる.

アプリケーションがバックグラウンドのときもジョイスティックのイベントを受信したい場合は, SDL_Init()を呼ぶ前にSDL_HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTSヒントを設定する必要がある.

SDLは仮想ジョイスティックも提供している. アプリケーションはSDL_AttachVirtualJoystick()で仮想のコントローラを定義でき, 入力はSDL_SetJoystickVirtualAxis()やSDL_SetJoystickVirtualButton()などで得られる. このデータが生成されると, ハードウェアのドライバが背後にないだけで, SDLからは通常のコントローラのように見える. これはVRヘッドセットコントローラや, ゲーム入力の記録/再生のような, 一般的ではないデバイスを生成するために使用される.

関数

  1. SDL_AttachVirtualJoystick
  2. SDL_CloseJoystick
  3. SDL_DetachVirtualJoystick
  4. SDL_GetJoystickAxis
  5. SDL_GetJoystickAxisInitialState
  6. SDL_GetJoystickBall
  7. SDL_GetJoystickButton
  8. SDL_GetJoystickConnectionState
  9. SDL_GetJoystickFirmwareVersion
  10. SDL_GetJoystickFromID
  11. SDL_GetJoystickFromPlayerIndex
  12. SDL_GetJoystickGUID
  13. SDL_GetJoystickGUIDForID
  14. SDL_GetJoystickGUIDInfo
  15. SDL_GetJoystickHat
  16. SDL_GetJoystickID
  17. SDL_GetJoystickName
  18. SDL_GetJoystickNameForID
  19. SDL_GetJoystickPath
  20. SDL_GetJoystickPathForID
  21. SDL_GetJoystickPlayerIndex
  22. SDL_GetJoystickPlayerIndexForID
  23. SDL_GetJoystickPowerInfo
  24. SDL_GetJoystickProduct
  25. SDL_GetJoystickProductForID
  26. SDL_GetJoystickProductVersion
  27. SDL_GetJoystickProductVersionForID
  28. SDL_GetJoystickProperties
  29. SDL_GetJoysticks
  30. SDL_GetJoystickSerial
  31. SDL_GetJoystickType
  32. SDL_GetJoystickTypeForID
  33. SDL_GetJoystickVendor
  34. SDL_GetJoystickVendorForID
  35. SDL_GetNumJoystickAxes
  36. SDL_GetNumJoystickBalls
  37. SDL_GetNumJoystickButtons
  38. SDL_GetNumJoystickHats
  39. SDL_HasJoystick
  40. SDL_IsJoystickVirtual
  41. SDL_JoystickConnected
  42. SDL_JoystickEventsEnabled
  43. SDL_LockJoysticks
  44. SDL_OpenJoystick
  45. SDL_RumbleJoystick
  46. SDL_RumbleJoystickTriggers
  47. SDL_SendJoystickEffect
  48. SDL_SendJoystickVirtualSensorData
  49. SDL_SetJoystickEventsEnabled
  50. SDL_SetJoystickLED
  51. SDL_SetJoystickPlayerIndex
  52. SDL_SetJoystickVirtualAxis
  53. SDL_SetJoystickVirtualBall
  54. SDL_SetJoystickVirtualButton
  55. SDL_SetJoystickVirtualHat
  56. SDL_SetJoystickVirtualTouchpad
  57. SDL_UnlockJoysticks
  58. SDL_UpdateJoysticks

  1. SDL_Joystick
  2. SDL_JoystickID

構造体

  1. SDL_VirtualJoystickDesc
  2. SDL_VirtualJoystickSensorDesc
  3. SDL_VirtualJoystickTouchpadDesc

列挙体

  1. SDL_JoystickConnectionState
  2. SDL_JoystickType

マクロ

  1. SDL_JOYSTICK_AXIS_MAX
  2. SDL_JOYSTICK_AXIS_MIN

SDL Wikiへのリンク

CategoryJoystick - SDL Wiki