目次 - SDL 3.0 API(機能別) - ゲームパッド - SDL_AddGamepadMapping

SDL_AddGamepadMapping

SDLが認識していないゲームパッドを追加する. または既存のゲームパッドのバインドを変更する

ヘッダ

SDL3/SDL_gamepad.h

構文

int SDL_AddGamepadMapping(const char *mapping);

引数

const char *mappingマッピング文字列

戻り値

(int) 新しいマッピングが追加されたとき1, 既にあるマッピングが更新されたとき0, 失敗のとき-1を戻す. SDL_GetError()を呼んで詳細を知ることができる.

詳細

マッピング文字列は"GUID,name,mapping"の形式で, GUIDはSDL_GUIDToString()が戻す文字列, nameはデバイスの人が読める文字列, mappingはゲームパッドとジョイスティックのマッピングである. Windowsでは, "xinput"というGUIDは全てXInputデバイスのために予約されている. ジョイスティックとのマッピングは次の形式である.:

スレッドセーフ

この関数はどのスレッドからも安全に呼べる.

ボタンをゲームパッドの方向にすることや, その逆も可能である.

このGUIDのデバイスが既に接続されているとき, SDLはSDL_EVENT_GAMEPAD_ADDEDイベントを発生させる.

ゲームパッドとの対応付けの文字列の例:

"341a3608000000000000504944564944,Afterglow PS3 Controller,a:b1,b:b2,y:b3,x:b0,start:b9,guide:b12,back:b8,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftshoulder:b4,rightshoulder:b5,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7"

バージョン

SDL 3.2.0以降

関連項目

SDL Wikiへのリンク

SDL_AddGamepadMapping - SDL Wiki