CoCalc provides the best real-time collaborative environment for Jupyter Notebooks, LaTeX documents, and SageMath, scalable from individual users to large groups and classes!
CoCalc provides the best real-time collaborative environment for Jupyter Notebooks, LaTeX documents, and SageMath, scalable from individual users to large groups and classes!
Path: blob/master/Core/KeyMapDefaults.cpp
Views: 1401
#include "ppsspp_config.h"12#include "Common/CommonFuncs.h"3#include "Common/Input/KeyCodes.h"4#include "Common/Input/InputState.h"5#include "Common/System/System.h"6#include "Core/KeyMapDefaults.h"7#include "Core/KeyMap.h"89#include "Core/HLE/sceCtrl.h"1011namespace KeyMap {1213struct DefMappingStruct {14int pspKey;15int keyOrAxis;16int direction; // if 0, it's a key, otherwise an axis.17};1819static const DefMappingStruct defaultQwertyKeyboardKeyMap[] = {20{CTRL_SQUARE, NKCODE_A},21{CTRL_TRIANGLE, NKCODE_S},22{CTRL_CIRCLE, NKCODE_X},23{CTRL_CROSS, NKCODE_Z},24{CTRL_LTRIGGER, NKCODE_Q},25{CTRL_RTRIGGER, NKCODE_W},2627{CTRL_START, NKCODE_SPACE},28#ifdef _WIN3229{CTRL_SELECT, NKCODE_V},30#else31{CTRL_SELECT, NKCODE_ENTER},32#endif33{CTRL_UP , NKCODE_DPAD_UP},34{CTRL_DOWN , NKCODE_DPAD_DOWN},35{CTRL_LEFT , NKCODE_DPAD_LEFT},36{CTRL_RIGHT, NKCODE_DPAD_RIGHT},37{VIRTKEY_AXIS_Y_MAX, NKCODE_I},38{VIRTKEY_AXIS_Y_MIN, NKCODE_K},39{VIRTKEY_AXIS_X_MIN, NKCODE_J},40{VIRTKEY_AXIS_X_MAX, NKCODE_L},41{VIRTKEY_RAPID_FIRE, NKCODE_SHIFT_LEFT},42{VIRTKEY_FASTFORWARD, NKCODE_TAB},43{VIRTKEY_SPEED_TOGGLE, NKCODE_GRAVE},44{VIRTKEY_PAUSE , NKCODE_ESCAPE},45{VIRTKEY_REWIND , NKCODE_DEL},46{VIRTKEY_ANALOG_LIGHTLY, NKCODE_SHIFT_RIGHT},47};4849static const DefMappingStruct defaultAzertyKeyboardKeyMap[] = {50{CTRL_SQUARE, NKCODE_Q},51{CTRL_TRIANGLE, NKCODE_S},52{CTRL_CIRCLE, NKCODE_X},53{CTRL_CROSS, NKCODE_W},54{CTRL_LTRIGGER, NKCODE_A},55{CTRL_RTRIGGER, NKCODE_Z},5657{CTRL_START, NKCODE_SPACE},58#ifdef _WIN3259{CTRL_SELECT, NKCODE_V},60#else61{CTRL_SELECT, NKCODE_ENTER},62#endif63{CTRL_UP , NKCODE_DPAD_UP},64{CTRL_DOWN , NKCODE_DPAD_DOWN},65{CTRL_LEFT , NKCODE_DPAD_LEFT},66{CTRL_RIGHT, NKCODE_DPAD_RIGHT},67{VIRTKEY_AXIS_Y_MAX, NKCODE_I},68{VIRTKEY_AXIS_Y_MIN, NKCODE_K},69{VIRTKEY_AXIS_X_MIN, NKCODE_J},70{VIRTKEY_AXIS_X_MAX, NKCODE_L},71{VIRTKEY_RAPID_FIRE, NKCODE_SHIFT_LEFT},72{VIRTKEY_FASTFORWARD, NKCODE_TAB},73{VIRTKEY_SPEED_TOGGLE, NKCODE_GRAVE},74{VIRTKEY_PAUSE , NKCODE_ESCAPE},75{VIRTKEY_REWIND , NKCODE_DEL},76{VIRTKEY_ANALOG_LIGHTLY, NKCODE_SHIFT_RIGHT},77};7879static const DefMappingStruct defaultQwertzKeyboardKeyMap[] = {80{CTRL_SQUARE, NKCODE_A},81{CTRL_TRIANGLE, NKCODE_S},82{CTRL_CIRCLE, NKCODE_X},83{CTRL_CROSS, NKCODE_Y},84{CTRL_LTRIGGER, NKCODE_Q},85{CTRL_RTRIGGER, NKCODE_W},8687{CTRL_START, NKCODE_SPACE},88#ifdef _WIN3289{CTRL_SELECT, NKCODE_V},90#else91{CTRL_SELECT, NKCODE_ENTER},92#endif93{CTRL_UP , NKCODE_DPAD_UP},94{CTRL_DOWN , NKCODE_DPAD_DOWN},95{CTRL_LEFT , NKCODE_DPAD_LEFT},96{CTRL_RIGHT, NKCODE_DPAD_RIGHT},97{VIRTKEY_AXIS_Y_MAX, NKCODE_I},98{VIRTKEY_AXIS_Y_MIN, NKCODE_K},99{VIRTKEY_AXIS_X_MIN, NKCODE_J},100{VIRTKEY_AXIS_X_MAX, NKCODE_L},101{VIRTKEY_RAPID_FIRE, NKCODE_SHIFT_LEFT},102{VIRTKEY_FASTFORWARD, NKCODE_TAB},103{VIRTKEY_SPEED_TOGGLE, NKCODE_GRAVE},104{VIRTKEY_PAUSE , NKCODE_ESCAPE},105{VIRTKEY_REWIND , NKCODE_DEL},106{VIRTKEY_ANALOG_LIGHTLY, NKCODE_SHIFT_RIGHT},107};108109static const DefMappingStruct defaultXInputKeyMap[] = {110{VIRTKEY_AXIS_X_MIN, JOYSTICK_AXIS_X, -1},111{VIRTKEY_AXIS_X_MAX, JOYSTICK_AXIS_X, +1},112{VIRTKEY_AXIS_Y_MIN, JOYSTICK_AXIS_Y, -1},113{VIRTKEY_AXIS_Y_MAX, JOYSTICK_AXIS_Y, +1},114{CTRL_CROSS , NKCODE_BUTTON_A},115{CTRL_CIRCLE , NKCODE_BUTTON_B},116{CTRL_SQUARE , NKCODE_BUTTON_X},117{CTRL_TRIANGLE , NKCODE_BUTTON_Y},118{CTRL_UP , NKCODE_DPAD_UP},119{CTRL_RIGHT , NKCODE_DPAD_RIGHT},120{CTRL_DOWN , NKCODE_DPAD_DOWN},121{CTRL_LEFT , NKCODE_DPAD_LEFT},122{CTRL_START , NKCODE_BUTTON_START},123{CTRL_SELECT , NKCODE_BUTTON_SELECT},124{CTRL_LTRIGGER , NKCODE_BUTTON_L1},125{CTRL_RTRIGGER , NKCODE_BUTTON_R1},126{VIRTKEY_FASTFORWARD , JOYSTICK_AXIS_RTRIGGER, +1},127{VIRTKEY_SPEED_TOGGLE, NKCODE_BUTTON_THUMBR},128{VIRTKEY_PAUSE , JOYSTICK_AXIS_LTRIGGER, +1},129{VIRTKEY_PAUSE, NKCODE_HOME},130{VIRTKEY_FASTFORWARD , JOYSTICK_AXIS_GAS, +1},131{VIRTKEY_PAUSE , JOYSTICK_AXIS_BRAKE, +1},132};133134static const DefMappingStruct defaultShieldKeyMap[] = {135{CTRL_CROSS, NKCODE_BUTTON_A},136{CTRL_CIRCLE ,NKCODE_BUTTON_B},137{CTRL_SQUARE ,NKCODE_BUTTON_X},138{CTRL_TRIANGLE ,NKCODE_BUTTON_Y},139{CTRL_START, NKCODE_BUTTON_START},140{CTRL_SELECT, JOYSTICK_AXIS_LTRIGGER, +1},141{CTRL_LTRIGGER, NKCODE_BUTTON_L1},142{CTRL_RTRIGGER, NKCODE_BUTTON_R1},143{VIRTKEY_AXIS_X_MIN, JOYSTICK_AXIS_X, -1},144{VIRTKEY_AXIS_X_MAX, JOYSTICK_AXIS_X, +1},145{VIRTKEY_AXIS_Y_MIN, JOYSTICK_AXIS_Y, +1},146{VIRTKEY_AXIS_Y_MAX, JOYSTICK_AXIS_Y, -1},147{CTRL_LEFT, JOYSTICK_AXIS_HAT_X, -1},148{CTRL_RIGHT, JOYSTICK_AXIS_HAT_X, +1},149{CTRL_UP, JOYSTICK_AXIS_HAT_Y, -1},150{CTRL_DOWN, JOYSTICK_AXIS_HAT_Y, +1},151{VIRTKEY_FASTFORWARD, JOYSTICK_AXIS_RTRIGGER, +1 },152{VIRTKEY_PAUSE, NKCODE_BACK },153};154155static const DefMappingStruct defaultMOQI7SKeyMap[] = {156{CTRL_CROSS, NKCODE_BUTTON_A},157{CTRL_CIRCLE, NKCODE_BUTTON_B},158{CTRL_SQUARE, NKCODE_BUTTON_X},159{CTRL_TRIANGLE, NKCODE_BUTTON_Y},160{CTRL_START, JOYSTICK_AXIS_Z, +1},161{CTRL_SELECT, JOYSTICK_AXIS_Z, -1},162{CTRL_LTRIGGER, NKCODE_BUTTON_L1},163{CTRL_RTRIGGER, NKCODE_BUTTON_R1},164{VIRTKEY_AXIS_X_MIN, JOYSTICK_AXIS_X, -1},165{VIRTKEY_AXIS_X_MAX, JOYSTICK_AXIS_X, +1},166{VIRTKEY_AXIS_Y_MIN, JOYSTICK_AXIS_Y, +1},167{VIRTKEY_AXIS_Y_MAX, JOYSTICK_AXIS_Y, -1},168{CTRL_LEFT, JOYSTICK_AXIS_HAT_X, -1},169{CTRL_RIGHT, JOYSTICK_AXIS_HAT_X, +1},170{CTRL_UP, JOYSTICK_AXIS_HAT_Y, -1},171{CTRL_DOWN, JOYSTICK_AXIS_HAT_Y, +1},172{VIRTKEY_FASTFORWARD, JOYSTICK_AXIS_RZ, +1 },173{VIRTKEY_PAUSE, NKCODE_BACK },174};175176static const DefMappingStruct defaultAndroidXboxControllerMap[] = {177{CTRL_CROSS , NKCODE_BUTTON_A},178{CTRL_CIRCLE , NKCODE_BUTTON_B},179{CTRL_SQUARE , NKCODE_BUTTON_X},180{CTRL_TRIANGLE , NKCODE_BUTTON_Y},181// The hat for DPAD is standard for bluetooth pads, which is the most likely pads on Android I think.182{CTRL_LEFT , NKCODE_DPAD_LEFT},183{CTRL_RIGHT , NKCODE_DPAD_RIGHT},184{CTRL_UP , NKCODE_DPAD_UP},185{CTRL_DOWN , NKCODE_DPAD_DOWN},186{CTRL_START , NKCODE_BUTTON_START},187{CTRL_SELECT , NKCODE_BACK},188{CTRL_LTRIGGER , NKCODE_BUTTON_L1},189{CTRL_RTRIGGER , NKCODE_BUTTON_R1},190{VIRTKEY_FASTFORWARD , JOYSTICK_AXIS_RTRIGGER, +1},191{VIRTKEY_PAUSE , JOYSTICK_AXIS_LTRIGGER, +1},192{VIRTKEY_FASTFORWARD , JOYSTICK_AXIS_GAS, +1},193{VIRTKEY_PAUSE , JOYSTICK_AXIS_BRAKE, +1},194{VIRTKEY_AXIS_X_MIN, JOYSTICK_AXIS_X, -1},195{VIRTKEY_AXIS_X_MAX, JOYSTICK_AXIS_X, +1},196{VIRTKEY_AXIS_Y_MIN, JOYSTICK_AXIS_Y, +1},197{VIRTKEY_AXIS_Y_MAX, JOYSTICK_AXIS_Y, -1},198};199200// Retroid reports its controller as "Retro Station Controller".201// It's very similar to the Android Xbox mapping, just with main buttons swapped around.202static const DefMappingStruct defaultRetroStationControllerMap[] = {203{CTRL_CROSS , NKCODE_BUTTON_B},204{CTRL_CIRCLE , NKCODE_BUTTON_A},205{CTRL_SQUARE , NKCODE_BUTTON_Y},206{CTRL_TRIANGLE , NKCODE_BUTTON_X},207// The hat for DPAD is standard for bluetooth pads, which is the most likely pads on Android I think.208{CTRL_LEFT , NKCODE_DPAD_LEFT},209{CTRL_RIGHT , NKCODE_DPAD_RIGHT},210{CTRL_UP , NKCODE_DPAD_UP},211{CTRL_DOWN , NKCODE_DPAD_DOWN},212{CTRL_START , NKCODE_BUTTON_START},213{CTRL_SELECT , NKCODE_BACK},214{CTRL_LTRIGGER , NKCODE_BUTTON_L1},215{CTRL_RTRIGGER , NKCODE_BUTTON_R1},216{VIRTKEY_FASTFORWARD , JOYSTICK_AXIS_RTRIGGER, +1},217{VIRTKEY_PAUSE , JOYSTICK_AXIS_LTRIGGER, +1},218{VIRTKEY_AXIS_X_MIN, JOYSTICK_AXIS_X, -1},219{VIRTKEY_AXIS_X_MAX, JOYSTICK_AXIS_X, +1},220{VIRTKEY_AXIS_Y_MIN, JOYSTICK_AXIS_Y, +1},221{VIRTKEY_AXIS_Y_MAX, JOYSTICK_AXIS_Y, -1},222};223224225static const DefMappingStruct defaultPadMapAndroid[] = {226{CTRL_CROSS , NKCODE_BUTTON_A},227{CTRL_CIRCLE , NKCODE_BUTTON_B},228{CTRL_SQUARE , NKCODE_BUTTON_X},229{CTRL_TRIANGLE , NKCODE_BUTTON_Y},230// The hat for DPAD is standard for bluetooth pads, which is the most likely pads on Android I think.231{CTRL_LEFT , JOYSTICK_AXIS_HAT_X, -1},232{CTRL_LEFT , NKCODE_DPAD_LEFT},233{CTRL_RIGHT , JOYSTICK_AXIS_HAT_X, +1},234{CTRL_RIGHT , NKCODE_DPAD_RIGHT},235{CTRL_UP , JOYSTICK_AXIS_HAT_Y, -1},236{CTRL_UP , NKCODE_DPAD_UP},237{CTRL_DOWN , JOYSTICK_AXIS_HAT_Y, +1},238{CTRL_DOWN , NKCODE_DPAD_DOWN},239240{CTRL_START , NKCODE_BUTTON_START},241{CTRL_SELECT , NKCODE_BUTTON_SELECT},242{CTRL_LTRIGGER , NKCODE_BUTTON_L1},243{CTRL_RTRIGGER , NKCODE_BUTTON_R1},244{VIRTKEY_FASTFORWARD , JOYSTICK_AXIS_RTRIGGER, +1},245{VIRTKEY_FASTFORWARD , NKCODE_BUTTON_R2},246{VIRTKEY_PAUSE , JOYSTICK_AXIS_LTRIGGER, +1},247{VIRTKEY_PAUSE , NKCODE_BUTTON_L2 },248{VIRTKEY_FASTFORWARD , JOYSTICK_AXIS_GAS, +1},249{VIRTKEY_PAUSE , JOYSTICK_AXIS_BRAKE, +1},250{VIRTKEY_AXIS_X_MIN, JOYSTICK_AXIS_X, -1},251{VIRTKEY_AXIS_X_MAX, JOYSTICK_AXIS_X, +1},252{VIRTKEY_AXIS_Y_MIN, JOYSTICK_AXIS_Y, +1},253{VIRTKEY_AXIS_Y_MAX, JOYSTICK_AXIS_Y, -1},254};255256static const DefMappingStruct defaultPadMap[] = {257{CTRL_CROSS , NKCODE_BUTTON_2},258{CTRL_CIRCLE , NKCODE_BUTTON_3},259{CTRL_SQUARE , NKCODE_BUTTON_4},260{CTRL_TRIANGLE , NKCODE_BUTTON_1},261{CTRL_UP , NKCODE_DPAD_UP},262{CTRL_RIGHT , NKCODE_DPAD_RIGHT},263{CTRL_DOWN , NKCODE_DPAD_DOWN},264{CTRL_LEFT , NKCODE_DPAD_LEFT},265{CTRL_START , NKCODE_BUTTON_10},266{CTRL_SELECT , NKCODE_BUTTON_9},267{CTRL_LTRIGGER , NKCODE_BUTTON_7},268{CTRL_RTRIGGER , NKCODE_BUTTON_8},269{VIRTKEY_AXIS_X_MIN, JOYSTICK_AXIS_X, -1},270{VIRTKEY_AXIS_X_MAX, JOYSTICK_AXIS_X, +1},271{VIRTKEY_AXIS_Y_MIN, JOYSTICK_AXIS_Y, +1},272{VIRTKEY_AXIS_Y_MAX, JOYSTICK_AXIS_Y, -1},273{VIRTKEY_PAUSE , NKCODE_BUTTON_SELECT },274{VIRTKEY_PAUSE , NKCODE_BUTTON_L2 },275};276277static const DefMappingStruct defaultPadMapIOS[] = {278{CTRL_CROSS , NKCODE_BUTTON_2},279{CTRL_CIRCLE , NKCODE_BUTTON_3},280{CTRL_SQUARE , NKCODE_BUTTON_4},281{CTRL_TRIANGLE , NKCODE_BUTTON_1},282{CTRL_UP , NKCODE_DPAD_UP},283{CTRL_RIGHT , NKCODE_DPAD_RIGHT},284{CTRL_DOWN , NKCODE_DPAD_DOWN},285{CTRL_LEFT , NKCODE_DPAD_LEFT},286{CTRL_START , NKCODE_BUTTON_START},287{CTRL_SELECT , NKCODE_BUTTON_SELECT},288{CTRL_LTRIGGER , NKCODE_BUTTON_L1},289{CTRL_RTRIGGER , NKCODE_BUTTON_R1},290{VIRTKEY_AXIS_X_MIN, JOYSTICK_AXIS_X, -1},291{VIRTKEY_AXIS_X_MAX, JOYSTICK_AXIS_X, +1},292{VIRTKEY_AXIS_Y_MIN, JOYSTICK_AXIS_Y, +1},293{VIRTKEY_AXIS_Y_MAX, JOYSTICK_AXIS_Y, -1},294{VIRTKEY_PAUSE , NKCODE_BUTTON_THUMBL },295{VIRTKEY_FASTFORWARD , JOYSTICK_AXIS_RTRIGGER, +1},296};297298static const DefMappingStruct defaultOuyaMap[] = {299{CTRL_CROSS , NKCODE_BUTTON_A},300{CTRL_CIRCLE , NKCODE_BUTTON_B},301{CTRL_SQUARE , NKCODE_BUTTON_X},302{CTRL_TRIANGLE , NKCODE_BUTTON_Y},303{CTRL_UP , NKCODE_DPAD_UP},304{CTRL_RIGHT , NKCODE_DPAD_RIGHT},305{CTRL_DOWN , NKCODE_DPAD_DOWN},306{CTRL_LEFT , NKCODE_DPAD_LEFT},307{CTRL_START , NKCODE_BUTTON_R2},308{CTRL_SELECT , NKCODE_BUTTON_L2},309{CTRL_LTRIGGER , NKCODE_BUTTON_L1},310{CTRL_RTRIGGER , NKCODE_BUTTON_R1},311{VIRTKEY_FASTFORWARD , NKCODE_BUTTON_THUMBL},312{VIRTKEY_PAUSE , NKCODE_BUTTON_THUMBR},313{VIRTKEY_AXIS_X_MIN, JOYSTICK_AXIS_X, -1},314{VIRTKEY_AXIS_X_MAX, JOYSTICK_AXIS_X, +1},315{VIRTKEY_AXIS_Y_MIN, JOYSTICK_AXIS_Y, +1},316{VIRTKEY_AXIS_Y_MAX, JOYSTICK_AXIS_Y, -1},317};318319static const DefMappingStruct defaultXperiaPlay[] = {320{CTRL_CROSS , NKCODE_BUTTON_CROSS},321{CTRL_CIRCLE , NKCODE_BUTTON_CIRCLE},322{CTRL_SQUARE , NKCODE_BUTTON_X},323{CTRL_TRIANGLE , NKCODE_BUTTON_Y},324{CTRL_UP , NKCODE_DPAD_UP},325{CTRL_RIGHT , NKCODE_DPAD_RIGHT},326{CTRL_DOWN , NKCODE_DPAD_DOWN},327{CTRL_LEFT , NKCODE_DPAD_LEFT},328{CTRL_START , NKCODE_BUTTON_START},329{CTRL_SELECT , NKCODE_BUTTON_SELECT},330{CTRL_LTRIGGER , NKCODE_BUTTON_L1},331{CTRL_RTRIGGER , NKCODE_BUTTON_R1},332{VIRTKEY_AXIS_X_MIN, JOYSTICK_AXIS_X, -1},333{VIRTKEY_AXIS_X_MAX, JOYSTICK_AXIS_X, +1},334{VIRTKEY_AXIS_Y_MIN, JOYSTICK_AXIS_Y, -1},335{VIRTKEY_AXIS_Y_MAX, JOYSTICK_AXIS_Y, +1},336};337338static const DefMappingStruct defaultVRLeftController[] = {339{CTRL_UP , NKCODE_DPAD_UP},340{CTRL_DOWN , NKCODE_DPAD_DOWN},341{CTRL_LEFT , NKCODE_DPAD_LEFT},342{CTRL_RIGHT , NKCODE_DPAD_RIGHT},343{CTRL_SELECT , NKCODE_BUTTON_THUMBL},344{CTRL_LTRIGGER , NKCODE_BUTTON_X},345{CTRL_RTRIGGER , NKCODE_BUTTON_Y},346{CTRL_SCREEN , NKCODE_ALT_LEFT},347};348349static const DefMappingStruct defaultVRRightController[] = {350{CTRL_CIRCLE , NKCODE_ALT_RIGHT},351{CTRL_CROSS , NKCODE_ENTER},352{CTRL_SQUARE , NKCODE_BUTTON_B},353{CTRL_TRIANGLE , NKCODE_BUTTON_A},354{CTRL_START , NKCODE_BUTTON_THUMBR},355{VIRTKEY_AXIS_Y_MAX, NKCODE_DPAD_UP},356{VIRTKEY_AXIS_Y_MIN, NKCODE_DPAD_DOWN},357{VIRTKEY_AXIS_X_MIN, NKCODE_DPAD_LEFT},358{VIRTKEY_AXIS_X_MAX, NKCODE_DPAD_RIGHT},359};360361static void SetDefaultKeyMap(InputDeviceID deviceId, const DefMappingStruct *array, size_t count, bool replace) {362for (size_t i = 0; i < count; i++) {363if (array[i].direction == 0)364SetInputMapping(array[i].pspKey, MultiInputMapping(InputMapping(deviceId, array[i].keyOrAxis)), replace);365else366SetInputMapping(array[i].pspKey, MultiInputMapping(InputMapping(deviceId, array[i].keyOrAxis, array[i].direction)), replace);367}368g_seenDeviceIds.insert(deviceId);369}370371void SetDefaultKeyMap(DefaultMaps dmap, bool replace) {372switch (dmap) {373case DEFAULT_MAPPING_KEYBOARD:374{375int keyboardLayout = (int)System_GetPropertyInt(SYSPROP_KEYBOARD_LAYOUT);376switch (keyboardLayout) {377case KEYBOARD_LAYOUT_QWERTZ:378SetDefaultKeyMap(DEVICE_ID_KEYBOARD, defaultQwertzKeyboardKeyMap, ARRAY_SIZE(defaultQwertzKeyboardKeyMap), replace);379break;380case KEYBOARD_LAYOUT_AZERTY:381SetDefaultKeyMap(DEVICE_ID_KEYBOARD, defaultAzertyKeyboardKeyMap, ARRAY_SIZE(defaultAzertyKeyboardKeyMap), replace);382break;383case KEYBOARD_LAYOUT_QWERTY:384default:385SetDefaultKeyMap(DEVICE_ID_KEYBOARD, defaultQwertyKeyboardKeyMap, ARRAY_SIZE(defaultQwertyKeyboardKeyMap), replace);386break;387}388}389break;390case DEFAULT_MAPPING_XINPUT:391SetDefaultKeyMap(DEVICE_ID_XINPUT_0, defaultXInputKeyMap, ARRAY_SIZE(defaultXInputKeyMap), replace);392break;393case DEFAULT_MAPPING_SHIELD:394SetDefaultKeyMap(DEVICE_ID_PAD_0, defaultShieldKeyMap, ARRAY_SIZE(defaultShieldKeyMap), replace);395break;396case DEFAULT_MAPPING_MOQI_I7S:397SetDefaultKeyMap(DEVICE_ID_PAD_0, defaultMOQI7SKeyMap, ARRAY_SIZE(defaultMOQI7SKeyMap), replace);398break;399case DEFAULT_MAPPING_PAD:400SetDefaultKeyMap(DEVICE_ID_PAD_0, defaultPadMap, ARRAY_SIZE(defaultPadMap), replace);401break;402case DEFAULT_MAPPING_ANDROID_PAD:403SetDefaultKeyMap(DEVICE_ID_PAD_0, defaultPadMapAndroid, ARRAY_SIZE(defaultPadMapAndroid), replace);404break;405case DEFAULT_MAPPING_IOS_PAD:406SetDefaultKeyMap(DEVICE_ID_PAD_0, defaultPadMapIOS, ARRAY_SIZE(defaultPadMapIOS), replace);407break;408case DEFAULT_MAPPING_OUYA:409SetDefaultKeyMap(DEVICE_ID_PAD_0, defaultOuyaMap, ARRAY_SIZE(defaultOuyaMap), replace);410break;411case DEFAULT_MAPPING_XPERIA_PLAY:412SetDefaultKeyMap(DEVICE_ID_DEFAULT, defaultXperiaPlay, ARRAY_SIZE(defaultXperiaPlay), replace);413break;414case DEFAULT_MAPPING_ANDROID_XBOX:415SetDefaultKeyMap(DEVICE_ID_PAD_0, defaultAndroidXboxControllerMap, ARRAY_SIZE(defaultAndroidXboxControllerMap), replace);416break;417case DEFAULT_MAPPING_RETRO_STATION_CONTROLLER:418SetDefaultKeyMap(DEVICE_ID_PAD_0, defaultRetroStationControllerMap, ARRAY_SIZE(defaultRetroStationControllerMap), replace);419break;420case DEFAULT_MAPPING_VR_HEADSET:421SetDefaultKeyMap(DEVICE_ID_XR_CONTROLLER_LEFT, defaultVRLeftController, ARRAY_SIZE(defaultVRLeftController), replace);422SetDefaultKeyMap(DEVICE_ID_XR_CONTROLLER_RIGHT, defaultVRRightController, ARRAY_SIZE(defaultVRRightController), replace);423break;424}425426UpdateNativeMenuKeys();427}428429} // namespace KeyMap430431432