目次 - SDL 3.0 API(機能別) - ジョイスティック
ジョイスティック
概要
SDLジョイスティック対応.
これはジョイスティックの低レベル対応で, より簡単に行いたいならば, ボタンの位置などがよく定義されたゲームパッドAPIを使用すべきである.
"instance_id"(「インスタンスID」)は, システムに現在インスタンス化されたジョイスティックデバイスを表す. もし, ジョイスティックを切断し, 再インスタンス化したならば, 新しいinstance_idになる. instance_idはジョイスティックが接続されるたびに単純に1ずつ加算される.
"player_index"(「プレイヤーインデックス番号」)は, コントローラに紐づけられたプレイヤーの番号を表す. XInputコントローラの場合は戻されたXInputユーザインデックスである. 多くのジョイスティックはこの情報に対応していない.
SDL_GUIDは, 時間がたっても変わらないジョイスティックデバイスの128ビットの固定IDとして使われる. これはデバイスのクラス(例えばX360有線コントローラなど)を識別する. 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_OpenJoystick()でオープンしたジョイスティックをクローズする
- SDL_DetachVirtualJoystick - 仮想ジョイスティックを切断する
- SDL_GetJoystickAxis - ジョイスティックの方向コントローラーの状態を得る
- SDL_GetJoystickAxisInitialState - ジョイスティックの方向コントローラーの初期状態を得る
- SDL_GetJoystickBall - トラックボールの最後のポーリングからの方向の変化量を得る
- SDL_GetJoystickButton - ジョイスティックのボタンの状態を得る
- SDL_GetJoystickConnectionState - ジョイスティックの接続状態を得る
- SDL_GetJoystickFirmwareVersion - オープンしたジョイスティックのファームウェアのバージョンを得る
- SDL_GetJoystickFromID - オープンされている場合, インスタンスIDに関連付けられたSDL_Joystickを得る
- SDL_GetJoystickFromPlayerIndex - プレイヤーインデックス番号に関連付けられたSDL_Joystickを得る
- SDL_GetJoystickGUID - オープンしたジョイスティックの実装に依存するGUIDを得る
- SDL_GetJoystickGUIDForID - ジョイスティックインスタンスIDからジョイスティックの実装に依存するGUIDを得る
- SDL_GetJoystickGUIDInfo - SDL_GUID構造体に組み込まれたジョイスティックデバイス情報を得る
- SDL_GetJoystickHat - ジョイスティックのPOVハットの状態を得る
- SDL_GetJoystickID - オープンされたジョイスティックからインスタンスIDを得る
- SDL_GetJoystickName - ジョイスティックの実装に依存する名前を得る
- SDL_GetJoystickNameForID - ジョイスティックインスタンスIDからジョイスティックの実装に依存する名前を得る
- SDL_GetJoystickPath - ジョイスティックの実装に依存するパスを得る
- SDL_GetJoystickPathForID - ジョイスティックインスタンスIDからジョイスティックの実装に依存するパスを得る
- SDL_GetJoystickPlayerIndex - オープンしたジョイスティックのプレイヤーインデックス番号を得る
- SDL_GetJoystickPlayerIndexForID - ジョイスティックインスタンスIDからプレイヤーインデックス番号を得る
- SDL_GetJoystickPowerInfo - ジョイスティックのバッテリー状態を得る
- SDL_GetJoystickProduct - オープンしたジョイスティックのUSBプロダクトIDを得る
- SDL_GetJoystickProductForID - ジョイスティックインスタンスIDからUSBプロダクトIDを得る
- SDL_GetJoystickProductVersion - オープンしたジョイスティックのプロダクトバージョンを得る
- SDL_GetJoystickProductVersionForID - ジョイスティックインスタンスIDからプロダクトバージョンを得る
- SDL_GetJoystickProperties - ジョイスティックに関連付けられたプロパティを得る
- SDL_GetJoysticks - 接続されているジョイスティックの一覧を得る
- SDL_GetJoystickSerial - オープンしたジョイスティックのシリアル番号を得る
- SDL_GetJoystickType - オープンしたジョイスティックの種類を得る
- SDL_GetJoystickTypeForID - ジョイスティックインスタンスIDからジョイスティックの種類を得る
- SDL_GetJoystickVendor - オープンしたジョイスティックのベンダーIDを得る
- SDL_GetJoystickVendorForID - ジョイスティックインスタンスIDからベンダーIDを得る
- SDL_GetNumJoystickAxes - ジョイスティックの方向コントローラーの数を得る
- SDL_GetNumJoystickBalls - ジョイスティックのトラックボールの数を得る
- SDL_GetNumJoystickButtons - ジョイスティックのボタンの数を得る
- SDL_GetNumJoystickHats - ジョイスティックのPOVハットの数を得る
- SDL_HasJoystick - ジョイスティックが接続されているかチェックする
- SDL_IsJoystickVirtual - ジョイスティックが仮想か否かをチェックする
- SDL_JoystickConnected - ジョイスティックが接続されているかチェックする
- SDL_JoystickEventsEnabled - ジョイスティックイベント処理の有無を得る
- SDL_LockJoysticks - ジョイスティックAPIへのアトミックなアクセスのためにロックする
- SDL_OpenJoystick - ジョイスティックを使用するためにオープンする
- SDL_RumbleJoystick - ジョイスティックの振動を開始する
- SDL_RumbleJoystickTriggers - ジョイスティックのトリガーの振動を開始する
- SDL_SendJoystickEffect - ジョイスティックにエフェクトパケットを送信する
- SDL_SendJoystickVirtualSensorData - オープンした仮想ジョイスティックのセンサーの状態を設定する
- SDL_SetJoystickEventsEnabled - ジョイスティックイベント処理の有無を設定する
- SDL_SetJoystickLED - ジョイスティックのLEDの色を設定する
- SDL_SetJoystickPlayerIndex - オープンされたジョイスティックにプレイヤーインデックス番号を設定する
- SDL_SetJoystickVirtualAxis - オープンした仮想ジョイスティックの方向の状態を設定する
- SDL_SetJoystickVirtualBall - オープンした仮想ジョイスティックのトラックボールの移動量を設定する
- SDL_SetJoystickVirtualButton - オープンした仮想ジョイスティックのボタンの状態を設定する
- SDL_SetJoystickVirtualHat - オープンした仮想ジョイスティックのハットの状態を設定する
- SDL_SetJoystickVirtualTouchpad - オープンした仮想ジョイスティックのタッチパッドの指の状態を設定する
- SDL_UnlockJoysticks - ジョイスティックAPIへのアトミックなアクセスのためのロックを解除する
- SDL_UpdateJoysticks - オープンされているジョイスティックの状態を更新する
型
- SDL_Joystick - SDLジョイスティックの識別のために使用される型
- SDL_JoystickID - システムに接続されたジョイスティックのユニークIDの型
構造体
- SDL_VirtualJoystickDesc - 仮想ジョイスティックを定義する構造体
- SDL_VirtualJoystickSensorDesc - 仮想ジョイスティックのセンサーを定義する構造体
- SDL_VirtualJoystickTouchpadDesc - 仮想ジョイスティックのタッチパッドを定義する構造体
列挙体
- SDL_JoystickConnectionState - ジョイスティックデバイスの接続方法の列挙体
- SDL_JoystickType - ジョイスティックの種類の列挙体
マクロ
- SDL_JOYSTICK_AXIS_MAX - SDL_Joystickが報告する方向の最大値のマクロ
- SDL_JOYSTICK_AXIS_MIN - SDL_Joystickが報告する方向の最小値のマクロ
SDL Wikiへのリンク
CategoryJoystick - SDL Wiki