目次 - API(機能別) - ゲームコントローラー - SDL_GameControllerAddMapping

# SDL_GameControllerAddMapping

SDLが認識していないコントローラを追加する. または認識済みのコントローラを別の配置にする

## 構文

`int SDL_GameControllerAddMapping(const char* mappingString)`

## 引数

mappingString | マッピング文字列 (詳細を参照すること)

## 戻り値

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

## 詳細

マッピング文字列は"GUID,name,mapping"の形式で, GUIDはSDL_JoystickGetGUIDString()で獲得する文字列, nameはデバイスの人が読める文字列, mappingはコントローラーとジョイスティックのマッピングである. Windowsでは, "xinput"というGUIDは全てのXInputデバイスのために予約されている. ジョイスティックとのマッピングは次の形式である.

bX | ジョイスティックのX番目のボタン
hX.Y | ハットXの値Y
aX | ジョイスティックの軸X

ボタンをコントローラーの軸にすることや, その逆も可能である.

コントローラとの対応付けの文字列の例: "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 2.0.0以降

## 関連項目(関数)

SDL_GameControllerMapping
SDL_GameControllerMappingForGUID

## SDL Wikiへのリンク

SDL_GameControllerAddMapping - SDL Wiki