目次 - 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ヘッドセットコントローラや, ゲーム入力の記録/再生のような, 一般的ではないデバイスを生成するために使用される.
関数
- SDL_AttachVirtualJoystick
- SDL_CloseJoystick
- SDL_DetachVirtualJoystick
- SDL_GetJoystickAxis
- SDL_GetJoystickAxisInitialState
- SDL_GetJoystickBall
- SDL_GetJoystickButton
- SDL_GetJoystickConnectionState
- SDL_GetJoystickFirmwareVersion
- SDL_GetJoystickFromID
- SDL_GetJoystickFromPlayerIndex
- SDL_GetJoystickGUID
- SDL_GetJoystickGUIDForID
- SDL_GetJoystickGUIDInfo
- SDL_GetJoystickHat
- SDL_GetJoystickID
- SDL_GetJoystickName
- SDL_GetJoystickNameForID
- SDL_GetJoystickPath
- SDL_GetJoystickPathForID
- SDL_GetJoystickPlayerIndex
- SDL_GetJoystickPlayerIndexForID
- SDL_GetJoystickPowerInfo
- SDL_GetJoystickProduct
- SDL_GetJoystickProductForID
- SDL_GetJoystickProductVersion
- SDL_GetJoystickProductVersionForID
- SDL_GetJoystickProperties
- SDL_GetJoysticks
- SDL_GetJoystickSerial
- SDL_GetJoystickType
- SDL_GetJoystickTypeForID
- SDL_GetJoystickVendor
- SDL_GetJoystickVendorForID
- SDL_GetNumJoystickAxes
- SDL_GetNumJoystickBalls
- SDL_GetNumJoystickButtons
- SDL_GetNumJoystickHats
- SDL_HasJoystick
- SDL_IsJoystickVirtual
- SDL_JoystickConnected
- SDL_JoystickEventsEnabled
- SDL_LockJoysticks
- SDL_OpenJoystick
- SDL_RumbleJoystick
- SDL_RumbleJoystickTriggers
- SDL_SendJoystickEffect
- SDL_SendJoystickVirtualSensorData
- SDL_SetJoystickEventsEnabled
- SDL_SetJoystickLED
- SDL_SetJoystickPlayerIndex
- SDL_SetJoystickVirtualAxis
- SDL_SetJoystickVirtualBall
- SDL_SetJoystickVirtualButton
- SDL_SetJoystickVirtualHat
- SDL_SetJoystickVirtualTouchpad
- SDL_UnlockJoysticks
- SDL_UpdateJoysticks
型
- SDL_Joystick
- SDL_JoystickID
構造体
- SDL_VirtualJoystickDesc
- SDL_VirtualJoystickSensorDesc
- SDL_VirtualJoystickTouchpadDesc
列挙体
- SDL_JoystickConnectionState
- SDL_JoystickType
マクロ
- SDL_JOYSTICK_AXIS_MAX
- SDL_JOYSTICK_AXIS_MIN
SDL Wikiへのリンク
CategoryJoystick - SDL Wiki