diff --git a/config.def.keybinds.h b/config.def.keybinds.h index d86c8b6413e..bbfbda2c588 100644 --- a/config.def.keybinds.h +++ b/config.def.keybinds.h @@ -25,252 +25,252 @@ static const struct retro_keybind retro_keybinds_1[] = { #ifdef __QNX__ { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_B, RETROK_k, RETRO_DEVICE_ID_JOYPAD_B, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_Y, RETROK_i, RETRO_DEVICE_ID_JOYPAD_Y, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_SELECT, RETROK_v, RETRO_DEVICE_ID_JOYPAD_SELECT, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_START, RETROK_b, RETRO_DEVICE_ID_JOYPAD_START, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_UP, RETROK_e, RETRO_DEVICE_ID_JOYPAD_UP, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_DOWN, RETROK_s, RETRO_DEVICE_ID_JOYPAD_DOWN, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_LEFT, RETROK_w, RETRO_DEVICE_ID_JOYPAD_LEFT, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_RIGHT, RETROK_d, RETRO_DEVICE_ID_JOYPAD_RIGHT, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_A, RETROK_l, RETRO_DEVICE_ID_JOYPAD_A, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_X, RETROK_o, RETRO_DEVICE_ID_JOYPAD_X, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_L, RETROK_f, RETRO_DEVICE_ID_JOYPAD_L, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_R, RETROK_j, RETRO_DEVICE_ID_JOYPAD_R, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_L2, RETROK_r, RETRO_DEVICE_ID_JOYPAD_L2, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_R2, RETROK_u, RETRO_DEVICE_ID_JOYPAD_R2, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_L3, RETROK_g, RETRO_DEVICE_ID_JOYPAD_L3, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_R3, RETROK_h, RETRO_DEVICE_ID_JOYPAD_R3, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_ANALOG_LEFT_X_PLUS, RETROK_UNKNOWN, RARCH_ANALOG_LEFT_X_PLUS, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_ANALOG_LEFT_X_MINUS, RETROK_UNKNOWN, RARCH_ANALOG_LEFT_X_MINUS, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_ANALOG_LEFT_Y_PLUS, RETROK_UNKNOWN, RARCH_ANALOG_LEFT_Y_PLUS, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_ANALOG_LEFT_Y_MINUS, RETROK_UNKNOWN, RARCH_ANALOG_LEFT_Y_MINUS, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_ANALOG_RIGHT_X_PLUS, RETROK_UNKNOWN, RARCH_ANALOG_RIGHT_X_PLUS, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_ANALOG_RIGHT_X_MINUS, RETROK_UNKNOWN, RARCH_ANALOG_RIGHT_X_MINUS, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_ANALOG_RIGHT_Y_PLUS, RETROK_UNKNOWN, RARCH_ANALOG_RIGHT_Y_PLUS, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_ANALOG_RIGHT_Y_MINUS, RETROK_UNKNOWN, RARCH_ANALOG_RIGHT_Y_MINUS, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_LIGHTGUN_TRIGGER, RETROK_UNKNOWN, RARCH_LIGHTGUN_TRIGGER, RETRO_DEVICE_ID_MOUSE_LEFT, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_LIGHTGUN_RELOAD, RETROK_UNKNOWN, RARCH_LIGHTGUN_RELOAD, RETRO_DEVICE_ID_MOUSE_RIGHT, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_LIGHTGUN_AUX_A, RETROK_UNKNOWN, RARCH_LIGHTGUN_AUX_A, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_LIGHTGUN_AUX_B, RETROK_UNKNOWN, RARCH_LIGHTGUN_AUX_B, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_LIGHTGUN_AUX_C, RETROK_UNKNOWN, RARCH_LIGHTGUN_AUX_C, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_LIGHTGUN_START, RETROK_UNKNOWN, RARCH_LIGHTGUN_START, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_LIGHTGUN_SELECT, RETROK_UNKNOWN, RARCH_LIGHTGUN_SELECT, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_LIGHTGUN_DPAD_UP, RETROK_UNKNOWN, RARCH_LIGHTGUN_DPAD_UP, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_LIGHTGUN_DPAD_DOWN, RETROK_UNKNOWN, RARCH_LIGHTGUN_DPAD_DOWN, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_LIGHTGUN_DPAD_LEFT, RETROK_UNKNOWN, RARCH_LIGHTGUN_DPAD_LEFT, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_LIGHTGUN_DPAD_RIGHT, RETROK_UNKNOWN, RARCH_LIGHTGUN_DPAD_RIGHT, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_TURBO_ENABLE, RETROK_UNKNOWN, RARCH_TURBO_ENABLE, NO_BTN, NO_BTN, 0, true @@ -278,371 +278,371 @@ static const struct retro_keybind retro_keybinds_1[] = { /* Hotkeys */ { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_ENABLE_HOTKEY, RETROK_UNKNOWN, RARCH_ENABLE_HOTKEY, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_MENU_TOGGLE, RETROK_SPACE, RARCH_MENU_TOGGLE, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_QUIT_KEY, RETROK_UNKNOWN, RARCH_QUIT_KEY, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_CLOSE_CONTENT_KEY, RETROK_UNKNOWN, RARCH_CLOSE_CONTENT_KEY, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_RESET, RETROK_UNKNOWN, RARCH_RESET, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_FAST_FORWARD_KEY, RETROK_UNKNOWN, RARCH_FAST_FORWARD_KEY, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_FAST_FORWARD_HOLD_KEY, RETROK_UNKNOWN, RARCH_FAST_FORWARD_HOLD_KEY, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_SLOWMOTION_KEY, RETROK_UNKNOWN, RARCH_SLOWMOTION_KEY, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_SLOWMOTION_HOLD_KEY, RETROK_UNKNOWN, RARCH_SLOWMOTION_HOLD_KEY, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_REWIND, RETROK_UNKNOWN, RARCH_REWIND, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_PAUSE_TOGGLE, RETROK_UNKNOWN, RARCH_PAUSE_TOGGLE, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_FRAMEADVANCE, RETROK_UNKNOWN, RARCH_FRAMEADVANCE, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_MUTE, RETROK_UNKNOWN, RARCH_MUTE, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_VOLUME_UP, RETROK_UNKNOWN, RARCH_VOLUME_UP, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_VOLUME_DOWN, RETROK_UNKNOWN, RARCH_VOLUME_DOWN, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_LOAD_STATE_KEY, RETROK_UNKNOWN, RARCH_LOAD_STATE_KEY, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_SAVE_STATE_KEY, RETROK_UNKNOWN, RARCH_SAVE_STATE_KEY, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_STATE_SLOT_PLUS, RETROK_UNKNOWN, RARCH_STATE_SLOT_PLUS, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_STATE_SLOT_MINUS, RETROK_UNKNOWN, RARCH_STATE_SLOT_MINUS, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_PLAY_REPLAY_KEY, RETROK_UNKNOWN, RARCH_PLAY_REPLAY_KEY, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_RECORD_REPLAY_KEY, RETROK_UNKNOWN, RARCH_RECORD_REPLAY_KEY, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_HALT_REPLAY_KEY, RETROK_UNKNOWN, RARCH_HALT_REPLAY_KEY, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_REPLAY_SLOT_PLUS, RETROK_UNKNOWN, RARCH_REPLAY_SLOT_PLUS, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_REPLAY_SLOT_MINUS, RETROK_UNKNOWN, RARCH_REPLAY_SLOT_MINUS, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_DISK_EJECT_TOGGLE, RETROK_UNKNOWN, RARCH_DISK_EJECT_TOGGLE, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_DISK_NEXT, RETROK_UNKNOWN, RARCH_DISK_NEXT, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_DISK_PREV, RETROK_UNKNOWN, RARCH_DISK_PREV, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_SHADER_TOGGLE, RETROK_UNKNOWN, RARCH_SHADER_TOGGLE, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_SHADER_NEXT, RETROK_UNKNOWN, RARCH_SHADER_NEXT, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_SHADER_PREV, RETROK_UNKNOWN, RARCH_SHADER_PREV, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_CHEAT_TOGGLE, RETROK_UNKNOWN, RARCH_CHEAT_TOGGLE, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_CHEAT_INDEX_PLUS, RETROK_UNKNOWN, RARCH_CHEAT_INDEX_PLUS, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_CHEAT_INDEX_MINUS, RETROK_UNKNOWN, RARCH_CHEAT_INDEX_MINUS, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_SCREENSHOT, RETROK_UNKNOWN, RARCH_SCREENSHOT, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_RECORDING_TOGGLE, RETROK_UNKNOWN, RARCH_RECORDING_TOGGLE, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_STREAMING_TOGGLE, RETROK_UNKNOWN, RARCH_STREAMING_TOGGLE, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_GRAB_MOUSE_TOGGLE, RETROK_UNKNOWN, RARCH_GRAB_MOUSE_TOGGLE, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_GAME_FOCUS_TOGGLE, RETROK_UNKNOWN, RARCH_GAME_FOCUS_TOGGLE, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_FULLSCREEN_TOGGLE_KEY, RETROK_UNKNOWN, RARCH_FULLSCREEN_TOGGLE_KEY, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_UI_COMPANION_TOGGLE, RETROK_UNKNOWN, RARCH_UI_COMPANION_TOGGLE, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_VRR_RUNLOOP_TOGGLE, RETROK_UNKNOWN, RARCH_VRR_RUNLOOP_TOGGLE, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_RUNAHEAD_TOGGLE, RETROK_UNKNOWN, RARCH_RUNAHEAD_TOGGLE, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_PREEMPT_TOGGLE, RETROK_UNKNOWN, RARCH_PREEMPT_TOGGLE, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_FPS_TOGGLE, RETROK_UNKNOWN, RARCH_FPS_TOGGLE, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_STATISTICS_TOGGLE, RETROK_UNKNOWN, RARCH_STATISTICS_TOGGLE, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_AI_SERVICE, RETROK_UNKNOWN, RARCH_AI_SERVICE, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_NETPLAY_PING_TOGGLE, RETROK_UNKNOWN, RARCH_NETPLAY_PING_TOGGLE, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_NETPLAY_HOST_TOGGLE, RETROK_UNKNOWN, RARCH_NETPLAY_HOST_TOGGLE, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_NETPLAY_GAME_WATCH, RETROK_UNKNOWN, RARCH_NETPLAY_GAME_WATCH, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_NETPLAY_PLAYER_CHAT, RETROK_UNKNOWN, RARCH_NETPLAY_PLAYER_CHAT, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_NETPLAY_FADE_CHAT_TOGGLE, RETROK_UNKNOWN, RARCH_NETPLAY_FADE_CHAT_TOGGLE, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_OVERLAY_NEXT, RETROK_UNKNOWN, RARCH_OVERLAY_NEXT, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_OSK, RETROK_UNKNOWN, RARCH_OSK, NO_BTN, NO_BTN, 0, true @@ -651,7 +651,7 @@ static const struct retro_keybind retro_keybinds_1[] = { /* Deprecated */ { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_SEND_DEBUG_INFO, RETROK_UNKNOWN, RARCH_SEND_DEBUG_INFO, NO_BTN, NO_BTN, 0, true @@ -660,252 +660,252 @@ static const struct retro_keybind retro_keybinds_1[] = { #elif defined(DINGUX) { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_B, RETROK_LALT, RETRO_DEVICE_ID_JOYPAD_B, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_Y, RETROK_LSHIFT, RETRO_DEVICE_ID_JOYPAD_Y, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_SELECT, RETROK_ESCAPE, RETRO_DEVICE_ID_JOYPAD_SELECT, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_START, RETROK_RETURN, RETRO_DEVICE_ID_JOYPAD_START, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_UP, RETROK_UP, RETRO_DEVICE_ID_JOYPAD_UP, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_DOWN, RETROK_DOWN, RETRO_DEVICE_ID_JOYPAD_DOWN, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_LEFT, RETROK_LEFT, RETRO_DEVICE_ID_JOYPAD_LEFT, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_RIGHT, RETROK_RIGHT, RETRO_DEVICE_ID_JOYPAD_RIGHT, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_A, RETROK_LCTRL, RETRO_DEVICE_ID_JOYPAD_A, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_X, RETROK_SPACE, RETRO_DEVICE_ID_JOYPAD_X, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_L, RETROK_TAB, RETRO_DEVICE_ID_JOYPAD_L, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_R, RETROK_BACKSPACE, RETRO_DEVICE_ID_JOYPAD_R, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_L2, RETROK_PAGEUP, RETRO_DEVICE_ID_JOYPAD_L2, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_R2, RETROK_PAGEDOWN, RETRO_DEVICE_ID_JOYPAD_R2, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_L3, RETROK_KP_DIVIDE, RETRO_DEVICE_ID_JOYPAD_L3, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_R3, RETROK_KP_PERIOD, RETRO_DEVICE_ID_JOYPAD_R3, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_ANALOG_LEFT_X_PLUS, RETROK_UNKNOWN, RARCH_ANALOG_LEFT_X_PLUS, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_ANALOG_LEFT_X_MINUS, RETROK_UNKNOWN, RARCH_ANALOG_LEFT_X_MINUS, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_ANALOG_LEFT_Y_PLUS, RETROK_UNKNOWN, RARCH_ANALOG_LEFT_Y_PLUS, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_ANALOG_LEFT_Y_MINUS, RETROK_UNKNOWN, RARCH_ANALOG_LEFT_Y_MINUS, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_ANALOG_RIGHT_X_PLUS, RETROK_UNKNOWN, RARCH_ANALOG_RIGHT_X_PLUS, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_ANALOG_RIGHT_X_MINUS, RETROK_UNKNOWN, RARCH_ANALOG_RIGHT_X_MINUS, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_ANALOG_RIGHT_Y_PLUS, RETROK_UNKNOWN, RARCH_ANALOG_RIGHT_Y_PLUS, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_ANALOG_RIGHT_Y_MINUS, RETROK_UNKNOWN, RARCH_ANALOG_RIGHT_Y_MINUS, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_LIGHTGUN_TRIGGER, RETROK_UNKNOWN, RARCH_LIGHTGUN_TRIGGER, RETRO_DEVICE_ID_MOUSE_LEFT, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_LIGHTGUN_RELOAD, RETROK_UNKNOWN, RARCH_LIGHTGUN_RELOAD, RETRO_DEVICE_ID_MOUSE_RIGHT, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_LIGHTGUN_AUX_A, RETROK_UNKNOWN, RARCH_LIGHTGUN_AUX_A, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_LIGHTGUN_AUX_B, RETROK_UNKNOWN, RARCH_LIGHTGUN_AUX_B, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_LIGHTGUN_AUX_C, RETROK_UNKNOWN, RARCH_LIGHTGUN_AUX_C, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_LIGHTGUN_START, RETROK_UNKNOWN, RARCH_LIGHTGUN_START, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_LIGHTGUN_SELECT, RETROK_UNKNOWN, RARCH_LIGHTGUN_SELECT, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_LIGHTGUN_DPAD_UP, RETROK_UNKNOWN, RARCH_LIGHTGUN_DPAD_UP, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_LIGHTGUN_DPAD_DOWN, RETROK_UNKNOWN, RARCH_LIGHTGUN_DPAD_DOWN, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_LIGHTGUN_DPAD_LEFT, RETROK_UNKNOWN, RARCH_LIGHTGUN_DPAD_LEFT, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_LIGHTGUN_DPAD_RIGHT, RETROK_UNKNOWN, RARCH_LIGHTGUN_DPAD_RIGHT, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_TURBO_ENABLE, RETROK_UNKNOWN, RARCH_TURBO_ENABLE, NO_BTN, NO_BTN, 0, true @@ -913,371 +913,371 @@ static const struct retro_keybind retro_keybinds_1[] = { /* Hotkeys */ { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_ENABLE_HOTKEY, RETROK_UNKNOWN, RARCH_ENABLE_HOTKEY, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_MENU_TOGGLE, RETROK_HOME, RARCH_MENU_TOGGLE, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_QUIT_KEY, RETROK_UNKNOWN, RARCH_QUIT_KEY, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_CLOSE_CONTENT_KEY, RETROK_UNKNOWN, RARCH_CLOSE_CONTENT_KEY, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_RESET, RETROK_UNKNOWN, RARCH_RESET, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_FAST_FORWARD_KEY, RETROK_UNKNOWN, RARCH_FAST_FORWARD_KEY, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_FAST_FORWARD_HOLD_KEY, RETROK_UNKNOWN, RARCH_FAST_FORWARD_HOLD_KEY, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_SLOWMOTION_KEY, RETROK_UNKNOWN, RARCH_SLOWMOTION_KEY, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_SLOWMOTION_HOLD_KEY, RETROK_UNKNOWN, RARCH_SLOWMOTION_HOLD_KEY, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_REWIND, RETROK_UNKNOWN, RARCH_REWIND, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_PAUSE_TOGGLE, RETROK_UNKNOWN, RARCH_PAUSE_TOGGLE, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_FRAMEADVANCE, RETROK_UNKNOWN, RARCH_FRAMEADVANCE, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_MUTE, RETROK_UNKNOWN, RARCH_MUTE, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_VOLUME_UP, RETROK_UNKNOWN, RARCH_VOLUME_UP, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_VOLUME_DOWN, RETROK_UNKNOWN, RARCH_VOLUME_DOWN, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_LOAD_STATE_KEY, RETROK_UNKNOWN, RARCH_LOAD_STATE_KEY, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_SAVE_STATE_KEY, RETROK_UNKNOWN, RARCH_SAVE_STATE_KEY, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_STATE_SLOT_PLUS, RETROK_UNKNOWN, RARCH_STATE_SLOT_PLUS, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_STATE_SLOT_MINUS, RETROK_UNKNOWN, RARCH_STATE_SLOT_MINUS, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_PLAY_REPLAY_KEY, RETROK_UNKNOWN, RARCH_PLAY_REPLAY_KEY, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_RECORD_REPLAY_KEY, RETROK_UNKNOWN, RARCH_RECORD_REPLAY_KEY, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_HALT_REPLAY_KEY, RETROK_UNKNOWN, RARCH_HALT_REPLAY_KEY, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_REPLAY_SLOT_PLUS, RETROK_UNKNOWN, RARCH_REPLAY_SLOT_PLUS, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_REPLAY_SLOT_MINUS, RETROK_UNKNOWN, RARCH_REPLAY_SLOT_MINUS, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_DISK_EJECT_TOGGLE, RETROK_UNKNOWN, RARCH_DISK_EJECT_TOGGLE, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_DISK_NEXT, RETROK_UNKNOWN, RARCH_DISK_NEXT, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_DISK_PREV, RETROK_UNKNOWN, RARCH_DISK_PREV, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_SHADER_TOGGLE, RETROK_UNKNOWN, RARCH_SHADER_TOGGLE, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_SHADER_NEXT, RETROK_UNKNOWN, RARCH_SHADER_NEXT, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_SHADER_PREV, RETROK_UNKNOWN, RARCH_SHADER_PREV, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_CHEAT_TOGGLE, RETROK_UNKNOWN, RARCH_CHEAT_TOGGLE, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_CHEAT_INDEX_PLUS, RETROK_UNKNOWN, RARCH_CHEAT_INDEX_PLUS, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_CHEAT_INDEX_MINUS, RETROK_UNKNOWN, RARCH_CHEAT_INDEX_MINUS, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_SCREENSHOT, RETROK_UNKNOWN, RARCH_SCREENSHOT, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_RECORDING_TOGGLE, RETROK_UNKNOWN, RARCH_RECORDING_TOGGLE, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_STREAMING_TOGGLE, RETROK_UNKNOWN, RARCH_STREAMING_TOGGLE, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_GRAB_MOUSE_TOGGLE, RETROK_UNKNOWN, RARCH_GRAB_MOUSE_TOGGLE, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_GAME_FOCUS_TOGGLE, RETROK_UNKNOWN, RARCH_GAME_FOCUS_TOGGLE, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_FULLSCREEN_TOGGLE_KEY, RETROK_UNKNOWN, RARCH_FULLSCREEN_TOGGLE_KEY, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_UI_COMPANION_TOGGLE, RETROK_UNKNOWN, RARCH_UI_COMPANION_TOGGLE, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_VRR_RUNLOOP_TOGGLE, RETROK_UNKNOWN, RARCH_VRR_RUNLOOP_TOGGLE, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_RUNAHEAD_TOGGLE, RETROK_UNKNOWN, RARCH_RUNAHEAD_TOGGLE, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_PREEMPT_TOGGLE, RETROK_UNKNOWN, RARCH_PREEMPT_TOGGLE, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_FPS_TOGGLE, RETROK_UNKNOWN, RARCH_FPS_TOGGLE, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_STATISTICS_TOGGLE, RETROK_UNKNOWN, RARCH_STATISTICS_TOGGLE, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_AI_SERVICE, RETROK_UNKNOWN, RARCH_AI_SERVICE, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_NETPLAY_PING_TOGGLE, RETROK_UNKNOWN, RARCH_NETPLAY_PING_TOGGLE, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_NETPLAY_HOST_TOGGLE, RETROK_UNKNOWN, RARCH_NETPLAY_HOST_TOGGLE, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_NETPLAY_GAME_WATCH, RETROK_UNKNOWN, RARCH_NETPLAY_GAME_WATCH, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_NETPLAY_PLAYER_CHAT, RETROK_UNKNOWN, RARCH_NETPLAY_PLAYER_CHAT, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_NETPLAY_FADE_CHAT_TOGGLE, RETROK_UNKNOWN, RARCH_NETPLAY_FADE_CHAT_TOGGLE, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_OVERLAY_NEXT, RETROK_UNKNOWN, RARCH_OVERLAY_NEXT, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_OSK, RETROK_UNKNOWN, RARCH_OSK, NO_BTN, NO_BTN, 0, true @@ -1286,7 +1286,7 @@ static const struct retro_keybind retro_keybinds_1[] = { /* Deprecated */ { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_SEND_DEBUG_INFO, RETROK_UNKNOWN, RARCH_SEND_DEBUG_INFO, NO_BTN, NO_BTN, 0, true @@ -1295,252 +1295,252 @@ static const struct retro_keybind retro_keybinds_1[] = { #else { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_B, RETROK_z, RETRO_DEVICE_ID_JOYPAD_B, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_Y, RETROK_a, RETRO_DEVICE_ID_JOYPAD_Y, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_SELECT, RETROK_RSHIFT, RETRO_DEVICE_ID_JOYPAD_SELECT, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_START, RETROK_RETURN, RETRO_DEVICE_ID_JOYPAD_START, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_UP, RETROK_UP, RETRO_DEVICE_ID_JOYPAD_UP, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_DOWN, RETROK_DOWN, RETRO_DEVICE_ID_JOYPAD_DOWN, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_LEFT, RETROK_LEFT, RETRO_DEVICE_ID_JOYPAD_LEFT, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_RIGHT, RETROK_RIGHT, RETRO_DEVICE_ID_JOYPAD_RIGHT, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_A, RETROK_x, RETRO_DEVICE_ID_JOYPAD_A, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_X, RETROK_s, RETRO_DEVICE_ID_JOYPAD_X, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_L, RETROK_q, RETRO_DEVICE_ID_JOYPAD_L, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_R, RETROK_w, RETRO_DEVICE_ID_JOYPAD_R, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_L2, RETROK_UNKNOWN, RETRO_DEVICE_ID_JOYPAD_L2, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_R2, RETROK_UNKNOWN, RETRO_DEVICE_ID_JOYPAD_R2, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_L3, RETROK_UNKNOWN, RETRO_DEVICE_ID_JOYPAD_L3, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_R3, RETROK_UNKNOWN, RETRO_DEVICE_ID_JOYPAD_R3, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_ANALOG_LEFT_X_PLUS, RETROK_UNKNOWN, RARCH_ANALOG_LEFT_X_PLUS, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_ANALOG_LEFT_X_MINUS, RETROK_UNKNOWN, RARCH_ANALOG_LEFT_X_MINUS, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_ANALOG_LEFT_Y_PLUS, RETROK_UNKNOWN, RARCH_ANALOG_LEFT_Y_PLUS, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_ANALOG_LEFT_Y_MINUS, RETROK_UNKNOWN, RARCH_ANALOG_LEFT_Y_MINUS, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_ANALOG_RIGHT_X_PLUS, RETROK_UNKNOWN, RARCH_ANALOG_RIGHT_X_PLUS, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_ANALOG_RIGHT_X_MINUS, RETROK_UNKNOWN, RARCH_ANALOG_RIGHT_X_MINUS, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_ANALOG_RIGHT_Y_PLUS, RETROK_UNKNOWN, RARCH_ANALOG_RIGHT_Y_PLUS, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_ANALOG_RIGHT_Y_MINUS, RETROK_UNKNOWN, RARCH_ANALOG_RIGHT_Y_MINUS, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_LIGHTGUN_TRIGGER, RETROK_UNKNOWN, RARCH_LIGHTGUN_TRIGGER, RETRO_DEVICE_ID_MOUSE_LEFT, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_LIGHTGUN_RELOAD, RETROK_UNKNOWN, RARCH_LIGHTGUN_RELOAD, RETRO_DEVICE_ID_MOUSE_RIGHT, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_LIGHTGUN_AUX_A, RETROK_UNKNOWN, RARCH_LIGHTGUN_AUX_A, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_LIGHTGUN_AUX_B, RETROK_UNKNOWN, RARCH_LIGHTGUN_AUX_B, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_LIGHTGUN_AUX_C, RETROK_UNKNOWN, RARCH_LIGHTGUN_AUX_C, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_LIGHTGUN_START, RETROK_UNKNOWN, RARCH_LIGHTGUN_START, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_LIGHTGUN_SELECT, RETROK_UNKNOWN, RARCH_LIGHTGUN_SELECT, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_LIGHTGUN_DPAD_UP, RETROK_UNKNOWN, RARCH_LIGHTGUN_DPAD_UP, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_LIGHTGUN_DPAD_DOWN, RETROK_UNKNOWN, RARCH_LIGHTGUN_DPAD_DOWN, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_LIGHTGUN_DPAD_LEFT, RETROK_UNKNOWN, RARCH_LIGHTGUN_DPAD_LEFT, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_LIGHTGUN_DPAD_RIGHT, RETROK_UNKNOWN, RARCH_LIGHTGUN_DPAD_RIGHT, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_TURBO_ENABLE, RETROK_UNKNOWN, RARCH_TURBO_ENABLE, NO_BTN, NO_BTN, 0, true @@ -1548,14 +1548,14 @@ static const struct retro_keybind retro_keybinds_1[] = { /* Hotkeys */ { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_ENABLE_HOTKEY, RETROK_UNKNOWN, RARCH_ENABLE_HOTKEY, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_MENU_TOGGLE, RETROK_F1, RARCH_MENU_TOGGLE, NO_BTN, NO_BTN, 0, true @@ -1563,7 +1563,7 @@ static const struct retro_keybind retro_keybinds_1[] = { #ifdef HAVE_LAKKA { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_RESTART_KEY, RETROK_ESCAPE, RARCH_QUIT_KEY, NO_BTN, NO_BTN, 0, true @@ -1571,7 +1571,7 @@ static const struct retro_keybind retro_keybinds_1[] = { #else { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_QUIT_KEY, RETROK_ESCAPE, RARCH_QUIT_KEY, NO_BTN, NO_BTN, 0, true @@ -1579,350 +1579,350 @@ static const struct retro_keybind retro_keybinds_1[] = { #endif { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_CLOSE_CONTENT_KEY, RETROK_UNKNOWN, RARCH_CLOSE_CONTENT_KEY, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_RESET, RETROK_h, RARCH_RESET, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_FAST_FORWARD_KEY, RETROK_SPACE, RARCH_FAST_FORWARD_KEY, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_FAST_FORWARD_HOLD_KEY, RETROK_l, RARCH_FAST_FORWARD_HOLD_KEY, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_SLOWMOTION_KEY, RETROK_UNKNOWN, RARCH_SLOWMOTION_KEY, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_SLOWMOTION_HOLD_KEY, RETROK_e, RARCH_SLOWMOTION_HOLD_KEY, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_REWIND, RETROK_r, RARCH_REWIND, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_PAUSE_TOGGLE, RETROK_p, RARCH_PAUSE_TOGGLE, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_FRAMEADVANCE, RETROK_k, RARCH_FRAMEADVANCE, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_MUTE, RETROK_F9, RARCH_MUTE, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_VOLUME_UP, RETROK_KP_PLUS, RARCH_VOLUME_UP, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_VOLUME_DOWN, RETROK_KP_MINUS, RARCH_VOLUME_DOWN, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_LOAD_STATE_KEY, RETROK_F4, RARCH_LOAD_STATE_KEY, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_SAVE_STATE_KEY, RETROK_F2, RARCH_SAVE_STATE_KEY, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_STATE_SLOT_PLUS, RETROK_F7, RARCH_STATE_SLOT_PLUS, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_STATE_SLOT_MINUS, RETROK_F6, RARCH_STATE_SLOT_MINUS, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_PLAY_REPLAY_KEY, RETROK_UNKNOWN, RARCH_PLAY_REPLAY_KEY, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_RECORD_REPLAY_KEY, RETROK_UNKNOWN, RARCH_RECORD_REPLAY_KEY, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_HALT_REPLAY_KEY, RETROK_UNKNOWN, RARCH_HALT_REPLAY_KEY, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_REPLAY_SLOT_PLUS, RETROK_UNKNOWN, RARCH_REPLAY_SLOT_PLUS, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_REPLAY_SLOT_MINUS, RETROK_UNKNOWN, RARCH_REPLAY_SLOT_MINUS, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_DISK_EJECT_TOGGLE, RETROK_UNKNOWN, RARCH_DISK_EJECT_TOGGLE, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_DISK_NEXT, RETROK_UNKNOWN, RARCH_DISK_NEXT, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_DISK_PREV, RETROK_UNKNOWN, RARCH_DISK_PREV, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_SHADER_TOGGLE, RETROK_COMMA, RARCH_SHADER_TOGGLE, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_SHADER_NEXT, RETROK_m, RARCH_SHADER_NEXT, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_SHADER_PREV, RETROK_n, RARCH_SHADER_PREV, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_CHEAT_TOGGLE, RETROK_u, RARCH_CHEAT_TOGGLE, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_CHEAT_INDEX_PLUS, RETROK_y, RARCH_CHEAT_INDEX_PLUS, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_CHEAT_INDEX_MINUS, RETROK_t, RARCH_CHEAT_INDEX_MINUS, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_SCREENSHOT, RETROK_F8, RARCH_SCREENSHOT, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_RECORDING_TOGGLE, RETROK_UNKNOWN, RARCH_RECORDING_TOGGLE, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_STREAMING_TOGGLE, RETROK_UNKNOWN, RARCH_STREAMING_TOGGLE, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_GRAB_MOUSE_TOGGLE, RETROK_F11, RARCH_GRAB_MOUSE_TOGGLE, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_GAME_FOCUS_TOGGLE, RETROK_SCROLLOCK, RARCH_GAME_FOCUS_TOGGLE, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_FULLSCREEN_TOGGLE_KEY, RETROK_f, RARCH_FULLSCREEN_TOGGLE_KEY, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_UI_COMPANION_TOGGLE, RETROK_F5, RARCH_UI_COMPANION_TOGGLE, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_VRR_RUNLOOP_TOGGLE, RETROK_UNKNOWN, RARCH_VRR_RUNLOOP_TOGGLE, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_RUNAHEAD_TOGGLE, RETROK_UNKNOWN, RARCH_RUNAHEAD_TOGGLE, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_PREEMPT_TOGGLE, RETROK_UNKNOWN, RARCH_PREEMPT_TOGGLE, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_FPS_TOGGLE, RETROK_F3, RARCH_FPS_TOGGLE, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_STATISTICS_TOGGLE, RETROK_UNKNOWN, RARCH_STATISTICS_TOGGLE, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_AI_SERVICE, RETROK_UNKNOWN, RARCH_AI_SERVICE, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_NETPLAY_PING_TOGGLE, RETROK_UNKNOWN, RARCH_NETPLAY_PING_TOGGLE, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_NETPLAY_HOST_TOGGLE, RETROK_UNKNOWN, RARCH_NETPLAY_HOST_TOGGLE, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_NETPLAY_GAME_WATCH, RETROK_i, RARCH_NETPLAY_GAME_WATCH, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_NETPLAY_PLAYER_CHAT, RETROK_BACKQUOTE, RARCH_NETPLAY_PLAYER_CHAT, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_NETPLAY_FADE_CHAT_TOGGLE, RETROK_UNKNOWN, RARCH_NETPLAY_FADE_CHAT_TOGGLE, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_OVERLAY_NEXT, RETROK_UNKNOWN, RARCH_OVERLAY_NEXT, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_OSK, RETROK_UNKNOWN, RARCH_OSK, NO_BTN, NO_BTN, 0, true @@ -1931,7 +1931,7 @@ static const struct retro_keybind retro_keybinds_1[] = { /* Deprecated */ { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_META_SEND_DEBUG_INFO, RETROK_UNKNOWN, RARCH_SEND_DEBUG_INFO, NO_BTN, NO_BTN, 0, true @@ -1944,252 +1944,252 @@ static const struct retro_keybind retro_keybinds_1[] = { static const struct retro_keybind retro_keybinds_rest[] = { { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_B, RETROK_UNKNOWN, RETRO_DEVICE_ID_JOYPAD_B, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_Y, RETROK_UNKNOWN, RETRO_DEVICE_ID_JOYPAD_Y, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_SELECT, RETROK_UNKNOWN, RETRO_DEVICE_ID_JOYPAD_SELECT, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_START, RETROK_UNKNOWN, RETRO_DEVICE_ID_JOYPAD_START, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_UP, RETROK_UNKNOWN, RETRO_DEVICE_ID_JOYPAD_UP, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_DOWN, RETROK_UNKNOWN, RETRO_DEVICE_ID_JOYPAD_DOWN, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_LEFT, RETROK_UNKNOWN, RETRO_DEVICE_ID_JOYPAD_LEFT, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_RIGHT, RETROK_UNKNOWN, RETRO_DEVICE_ID_JOYPAD_RIGHT, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_A, RETROK_UNKNOWN, RETRO_DEVICE_ID_JOYPAD_A, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_X, RETROK_UNKNOWN, RETRO_DEVICE_ID_JOYPAD_X, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_L, RETROK_UNKNOWN, RETRO_DEVICE_ID_JOYPAD_L, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_R, RETROK_UNKNOWN, RETRO_DEVICE_ID_JOYPAD_R, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_L2, RETROK_UNKNOWN, RETRO_DEVICE_ID_JOYPAD_L2, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_R2, RETROK_UNKNOWN, RETRO_DEVICE_ID_JOYPAD_R2, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_L3, RETROK_UNKNOWN, RETRO_DEVICE_ID_JOYPAD_L3, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_R3, RETROK_UNKNOWN, RETRO_DEVICE_ID_JOYPAD_R3, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_ANALOG_LEFT_X_PLUS, RETROK_UNKNOWN, RARCH_ANALOG_LEFT_X_PLUS, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_ANALOG_LEFT_X_MINUS, RETROK_UNKNOWN, RARCH_ANALOG_LEFT_X_MINUS, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_ANALOG_LEFT_Y_PLUS, RETROK_UNKNOWN, RARCH_ANALOG_LEFT_Y_PLUS, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_ANALOG_LEFT_Y_MINUS, RETROK_UNKNOWN, RARCH_ANALOG_LEFT_Y_MINUS, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_ANALOG_RIGHT_X_PLUS, RETROK_UNKNOWN, RARCH_ANALOG_RIGHT_X_PLUS, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_ANALOG_RIGHT_X_MINUS, RETROK_UNKNOWN, RARCH_ANALOG_RIGHT_X_MINUS, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_ANALOG_RIGHT_Y_PLUS, RETROK_UNKNOWN, RARCH_ANALOG_RIGHT_Y_PLUS, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_ANALOG_RIGHT_Y_MINUS, RETROK_UNKNOWN, RARCH_ANALOG_RIGHT_Y_MINUS, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_LIGHTGUN_TRIGGER, RETROK_UNKNOWN, RARCH_LIGHTGUN_TRIGGER, RETRO_DEVICE_ID_MOUSE_LEFT, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_LIGHTGUN_RELOAD, RETROK_UNKNOWN, RARCH_LIGHTGUN_RELOAD, RETRO_DEVICE_ID_MOUSE_RIGHT, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_LIGHTGUN_AUX_A, RETROK_UNKNOWN, RARCH_LIGHTGUN_AUX_A, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_LIGHTGUN_AUX_B, RETROK_UNKNOWN, RARCH_LIGHTGUN_AUX_B, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_LIGHTGUN_AUX_C, RETROK_UNKNOWN, RARCH_LIGHTGUN_AUX_C, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_LIGHTGUN_START, RETROK_UNKNOWN, RARCH_LIGHTGUN_START, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_LIGHTGUN_SELECT, RETROK_UNKNOWN, RARCH_LIGHTGUN_SELECT, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_LIGHTGUN_DPAD_UP, RETROK_UNKNOWN, RARCH_LIGHTGUN_DPAD_UP, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_LIGHTGUN_DPAD_DOWN, RETROK_UNKNOWN, RARCH_LIGHTGUN_DPAD_DOWN, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_LIGHTGUN_DPAD_LEFT, RETROK_UNKNOWN, RARCH_LIGHTGUN_DPAD_LEFT, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_LIGHTGUN_DPAD_RIGHT, RETROK_UNKNOWN, RARCH_LIGHTGUN_DPAD_RIGHT, NO_BTN, NO_BTN, 0, true }, { NULL, NULL, - AXIS_NONE, AXIS_NONE, AXIS_NONE, + AXIS_NONE, AXIS_NONE, MENU_ENUM_LABEL_VALUE_INPUT_TURBO_ENABLE, RETROK_UNKNOWN, RARCH_TURBO_ENABLE, NO_BTN, NO_BTN, 0, true diff --git a/configuration.c b/configuration.c index 301290e2f5b..19e4ec730a0 100644 --- a/configuration.c +++ b/configuration.c @@ -6496,9 +6496,6 @@ void input_config_parse_joy_axis( else bind->joyaxis = AXIS_NEG(i_axis); } - - /* Ensure that D-pad emulation doesn't screw this over. */ - bind->orig_joyaxis = bind->joyaxis; } fill_pathname_join_delim(key, s, diff --git a/input/input_driver.c b/input/input_driver.c index b9607db26b8..6f1761676d7 100644 --- a/input/input_driver.c +++ b/input/input_driver.c @@ -1022,6 +1022,39 @@ static int16_t input_joypad_analog_axis( if (!bind_y_minus->valid || !bind_y_plus->valid) return 0; + /* Keyboard bind priority */ + if ( bind_plus->key != RETROK_UNKNOWN + || bind_minus->key != RETROK_UNKNOWN) + { + input_driver_state_t *input_st = &input_driver_st; + + if (bind_plus->key && input_state_wrap( + input_st->current_driver, + input_st->current_data, + input_st->primary_joypad, + NULL, + joypad_info, + (*input_st->libretro_input_binds), + (input_st->flags & INP_FLAG_KB_MAPPING_BLOCKED) ? true : false, + 0, RETRO_DEVICE_KEYBOARD, 0, + bind_plus->key)) + res = 0x7fff; + if (bind_minus->key && input_state_wrap( + input_st->current_driver, + input_st->current_data, + input_st->primary_joypad, + NULL, + joypad_info, + (*input_st->libretro_input_binds), + (input_st->flags & INP_FLAG_KB_MAPPING_BLOCKED) ? true : false, + 0, RETRO_DEVICE_KEYBOARD, 0, + bind_minus->key)) + res += -0x7fff; + + if (res) + return res; + } + { uint32_t axis_minus = (bind_minus->joyaxis == AXIS_NONE) ? joypad_info->auto_binds[ident_minus].joyaxis @@ -1796,17 +1829,18 @@ static int16_t input_state_internal( unsigned idx, unsigned id) { rarch_joypad_info_t joypad_info; - unsigned mapped_port; float input_analog_deadzone = settings->floats.input_analog_deadzone; float input_analog_sensitivity = settings->floats.input_analog_sensitivity; - unsigned *input_remap_port_map = settings->uints.input_remap_port_map[port]; - bool input_driver_analog_requested = input_st->analog_requested[port]; const input_device_driver_t *joypad = input_st->primary_joypad; #ifdef HAVE_MFI const input_device_driver_t *sec_joypad = input_st->secondary_joypad; #else const input_device_driver_t *sec_joypad = NULL; #endif + unsigned *input_remap_port_map = settings->uints.input_remap_port_map[port]; + uint8_t max_users = settings->uints.input_max_users; + uint8_t mapped_port = 0; + int16_t result = 0; #ifdef HAVE_MENU struct menu_state *menu_st = menu_state_get_ptr(); bool input_blocked = (menu_st->input_driver_flushing_input > 0) @@ -1814,9 +1848,8 @@ static int16_t input_state_internal( #else bool input_blocked = (input_st->flags & INP_FLAG_BLOCK_LIBRETRO_INPUT) ? true : false; #endif + bool input_driver_analog_requested = input_st->analog_requested[port]; bool bitmask_enabled = false; - unsigned max_users = settings->uints.input_max_users; - int16_t result = 0; device &= RETRO_DEVICE_MASK; bitmask_enabled = (device == RETRO_DEVICE_JOYPAD) @@ -1827,12 +1860,12 @@ static int16_t input_state_internal( * 'virtual' port index */ while ((mapped_port = *(input_remap_port_map++)) < MAX_USERS) { - int32_t ret = 0; - int32_t port_result = 0; - unsigned input_analog_dpad_mode = settings->uints.input_analog_dpad_mode[mapped_port]; + int16_t ret = 0; + int16_t port_result = 0; + uint8_t input_analog_dpad_mode = settings->uints.input_analog_dpad_mode[mapped_port]; - joypad_info.joy_idx = settings->uints.input_joypad_index[mapped_port]; - joypad_info.auto_binds = input_autoconf_binds[joypad_info.joy_idx]; + joypad_info.joy_idx = settings->uints.input_joypad_index[mapped_port]; + joypad_info.auto_binds = input_autoconf_binds[joypad_info.joy_idx]; /* Skip disabled input devices */ if (mapped_port >= max_users) @@ -1871,8 +1904,13 @@ static int16_t input_state_internal( (input_st->flags & INP_FLAG_KB_MAPPING_BLOCKED) ? true : false, mapped_port, device, idx, id); - if ( (device == RETRO_DEVICE_ANALOG) - && (ret == 0)) + /* Ignore analog sticks when using Analog to Digital */ + if ( (device == RETRO_DEVICE_ANALOG) + && (input_analog_dpad_mode != ANALOG_DPAD_NONE)) + ret = 0; + + if ( (device == RETRO_DEVICE_ANALOG) + && (ret == 0)) { if (input_st->libretro_input_binds[mapped_port]) { @@ -1942,7 +1980,7 @@ static int16_t input_state_internal( if (bitmask_enabled) { - unsigned i; + uint8_t i; for (i = 0; i < RARCH_FIRST_CUSTOM_BIND; i++) if (input_state_device(input_st, settings, handle, @@ -1955,6 +1993,69 @@ static int16_t input_state_internal( settings, handle, input_analog_dpad_mode, ret, mapped_port, device, idx, id, false); + + /* Handle Analog to Digital */ + if ( (device == RETRO_DEVICE_JOYPAD) + && (input_analog_dpad_mode != ANALOG_DPAD_NONE) + && (bitmask_enabled || (id >= RETRO_DEVICE_ID_JOYPAD_UP && id <= RETRO_DEVICE_ID_JOYPAD_RIGHT))) + { + int16_t ret_axis; + uint8_t s; + uint8_t a; + + for (s = RETRO_DEVICE_INDEX_ANALOG_LEFT; s <= RETRO_DEVICE_INDEX_ANALOG_RIGHT; s++) + { + if ( (s == RETRO_DEVICE_INDEX_ANALOG_LEFT && input_analog_dpad_mode != ANALOG_DPAD_LSTICK) + || (s == RETRO_DEVICE_INDEX_ANALOG_RIGHT && input_analog_dpad_mode != ANALOG_DPAD_RSTICK)) + continue; + + for (a = RETRO_DEVICE_ID_ANALOG_X; a <= RETRO_DEVICE_ID_ANALOG_Y; a++) + { + ret_axis = input_joypad_analog_axis( + ANALOG_DPAD_NONE, + settings->floats.input_analog_deadzone, + settings->floats.input_analog_sensitivity, + joypad, + &joypad_info, + s, + a, + (*input_st->libretro_input_binds[mapped_port])); + + if (ret_axis) + { + if (a == RETRO_DEVICE_ID_ANALOG_Y && (float)ret_axis / 0x7fff < -joypad_info.axis_threshold) + { + if (bitmask_enabled) + port_result |= (1 << RETRO_DEVICE_ID_JOYPAD_UP); + else if (id == RETRO_DEVICE_ID_JOYPAD_UP) + port_result = RETRO_DEVICE_ID_JOYPAD_UP; + } + else if (a == RETRO_DEVICE_ID_ANALOG_Y && (float)ret_axis / 0x7fff > joypad_info.axis_threshold) + { + if (bitmask_enabled) + port_result |= (1 << RETRO_DEVICE_ID_JOYPAD_DOWN); + else if (id == RETRO_DEVICE_ID_JOYPAD_DOWN) + port_result = RETRO_DEVICE_ID_JOYPAD_DOWN; + } + + if (a == RETRO_DEVICE_ID_ANALOG_X && (float)ret_axis / 0x7fff < -joypad_info.axis_threshold) + { + if (bitmask_enabled) + port_result |= (1 << RETRO_DEVICE_ID_JOYPAD_LEFT); + else if (id == RETRO_DEVICE_ID_JOYPAD_LEFT) + port_result = RETRO_DEVICE_ID_JOYPAD_LEFT; + } + else if (a == RETRO_DEVICE_ID_ANALOG_X && (float)ret_axis / 0x7fff > joypad_info.axis_threshold) + { + if (bitmask_enabled) + port_result |= (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT); + else if (id == RETRO_DEVICE_ID_JOYPAD_RIGHT) + port_result = RETRO_DEVICE_ID_JOYPAD_RIGHT; + } + } + } + } + } } /* Digital values are represented by a bitmap; @@ -7038,9 +7139,8 @@ void input_remapping_set_defaults(bool clear_cache) void input_driver_collect_system_input(input_driver_state_t *input_st, settings_t *settings, input_bits_t *current_bits) { - int port; rarch_joypad_info_t joypad_info; - unsigned block_delay = settings->uints.input_hotkey_block_delay; + input_driver_t *current_input = input_st->current_driver; const input_device_driver_t *joypad = input_st->primary_joypad; #ifdef HAVE_MFI const input_device_driver_t @@ -7049,16 +7149,17 @@ void input_driver_collect_system_input(input_driver_state_t *input_st, const input_device_driver_t *sec_joypad = NULL; #endif + unsigned block_delay = settings->uints.input_hotkey_block_delay; + uint8_t max_users = settings->uints.input_max_users; + uint8_t port = 0; #ifdef HAVE_MENU + bool all_users_control_menu = settings->bools.input_all_users_control_menu; bool display_kb = menu_input_dialog_get_display_kb(); bool menu_is_alive = (menu_state_get_ptr()->flags & MENU_ST_FLAG_ALIVE) ? true : false; bool menu_input_active = menu_is_alive && !(settings->bools.menu_unified_controls && !display_kb); #endif - input_driver_t *current_input = input_st->current_driver; - unsigned max_users = settings->uints.input_max_users; - bool all_users_control_menu = settings->bools.input_all_users_control_menu; joypad_info.axis_threshold = settings->floats.input_axis_threshold; /* Gather input from each (enabled) joypad */ @@ -7066,68 +7167,47 @@ void input_driver_collect_system_input(input_driver_state_t *input_st, { const struct retro_keybind *binds_norm = &input_config_binds[port][RARCH_ENABLE_HOTKEY]; const struct retro_keybind *binds_auto = &input_autoconf_binds[port][RARCH_ENABLE_HOTKEY]; - struct retro_keybind *auto_binds = input_autoconf_binds[port]; - struct retro_keybind *general_binds = input_config_binds[port]; + joypad_info.joy_idx = settings->uints.input_joypad_index[port]; joypad_info.auto_binds = input_autoconf_binds[joypad_info.joy_idx]; #ifdef HAVE_MENU if (menu_is_alive) { - int k; - int s; - - /* Remember original analog D-pad binds. */ - for (k = RETRO_DEVICE_ID_JOYPAD_UP; k <= RETRO_DEVICE_ID_JOYPAD_RIGHT; k++) - { - (auto_binds)[k].orig_joyaxis = (auto_binds)[k].joyaxis; - (general_binds)[k].orig_joyaxis = (general_binds)[k].joyaxis; - } + int16_t ret; + uint8_t s; + uint8_t a; /* Read input from analog sticks according to settings. */ for (s = RETRO_DEVICE_INDEX_ANALOG_LEFT; s <= RETRO_DEVICE_INDEX_ANALOG_RIGHT; s++) { - unsigned x_plus = RARCH_ANALOG_LEFT_X_PLUS; - unsigned y_plus = RARCH_ANALOG_LEFT_Y_PLUS; - unsigned x_minus = RARCH_ANALOG_LEFT_X_MINUS; - unsigned y_minus = RARCH_ANALOG_LEFT_Y_MINUS; - - if ((settings->bools.menu_disable_left_analog && s == RETRO_DEVICE_INDEX_ANALOG_LEFT ) || - (settings->bools.menu_disable_right_analog && s == RETRO_DEVICE_INDEX_ANALOG_RIGHT)) - continue; - if (s == RETRO_DEVICE_INDEX_ANALOG_RIGHT) - { - x_plus = RARCH_ANALOG_RIGHT_X_PLUS; - y_plus = RARCH_ANALOG_RIGHT_Y_PLUS; - x_minus = RARCH_ANALOG_RIGHT_X_MINUS; - y_minus = RARCH_ANALOG_RIGHT_Y_MINUS; - } + if ( (settings->bools.menu_disable_left_analog && s == RETRO_DEVICE_INDEX_ANALOG_LEFT) + || (settings->bools.menu_disable_right_analog && s == RETRO_DEVICE_INDEX_ANALOG_RIGHT)) + continue; - if (!INHERIT_JOYAXIS(auto_binds)) + for (a = RETRO_DEVICE_ID_ANALOG_X; a <= RETRO_DEVICE_ID_ANALOG_Y; a++) { - unsigned j = x_plus + 3; - /* Inherit joyaxis from analogs. */ - for (k = RETRO_DEVICE_ID_JOYPAD_UP; k <= RETRO_DEVICE_ID_JOYPAD_RIGHT; k++) - { - if ((auto_binds)[j].joyaxis != AXIS_NONE && - ((float)abs(joypad->axis(port, (uint32_t)(auto_binds)[j].joyaxis)) - / 0x8000) > joypad_info.axis_threshold) - (auto_binds)[k].joyaxis = (auto_binds)[j].joyaxis; - j--; - } - } + ret = input_joypad_analog_axis( + ANALOG_DPAD_NONE, + settings->floats.input_analog_deadzone, + settings->floats.input_analog_sensitivity, + joypad, + &joypad_info, + s, + a, + (*input_st->libretro_input_binds[port])); - if (!INHERIT_JOYAXIS(general_binds)) - { - unsigned j = x_plus + 3; - /* Inherit joyaxis from analogs. */ - for (k = RETRO_DEVICE_ID_JOYPAD_UP; k <= RETRO_DEVICE_ID_JOYPAD_RIGHT; k++) + if (ret) { - if ((general_binds)[j].joyaxis != AXIS_NONE && - ((float)abs(joypad->axis(port, (uint32_t)(general_binds)[j].joyaxis)) - / 0x8000) > joypad_info.axis_threshold) - (general_binds)[k].joyaxis = (general_binds)[j].joyaxis; - j--; + if (a == RETRO_DEVICE_ID_ANALOG_Y && (float)ret / 0x7fff < -joypad_info.axis_threshold) + BIT256_SET_PTR(current_bits, RETRO_DEVICE_ID_JOYPAD_UP); + else if (a == RETRO_DEVICE_ID_ANALOG_Y && (float)ret / 0x7fff > joypad_info.axis_threshold) + BIT256_SET_PTR(current_bits, RETRO_DEVICE_ID_JOYPAD_DOWN); + + if (a == RETRO_DEVICE_ID_ANALOG_X && (float)ret / 0x7fff < -joypad_info.axis_threshold) + BIT256_SET_PTR(current_bits, RETRO_DEVICE_ID_JOYPAD_LEFT); + else if (a == RETRO_DEVICE_ID_ANALOG_X && (float)ret / 0x7fff > joypad_info.axis_threshold) + BIT256_SET_PTR(current_bits, RETRO_DEVICE_ID_JOYPAD_RIGHT); } } } @@ -7153,15 +7233,6 @@ void input_driver_collect_system_input(input_driver_state_t *input_st, #ifdef HAVE_MENU if (menu_is_alive) { - int k; - - /* Restore analog D-pad binds temporarily overridden. */ - for (k = RETRO_DEVICE_ID_JOYPAD_UP; k <= RETRO_DEVICE_ID_JOYPAD_RIGHT; k++) - { - (auto_binds)[k].joyaxis = (auto_binds)[k].orig_joyaxis; - (general_binds)[k].joyaxis = (general_binds)[k].orig_joyaxis; - } - if (!all_users_control_menu) break; } diff --git a/input/input_driver.h b/input/input_driver.h index 09174b9219e..ba4242a6257 100644 --- a/input/input_driver.h +++ b/input/input_driver.h @@ -100,8 +100,6 @@ #define MAPPER_SET_KEY(state, key) (state)->keys[(key) / 32] |= 1 << ((key) % 32) #define MAPPER_UNSET_KEY(state, key) (state)->keys[(key) / 32] &= ~(1 << ((key) % 32)) -#define INHERIT_JOYAXIS(binds) (((binds)[x_plus].joyaxis == (binds)[x_minus].joyaxis) || ( (binds)[y_plus].joyaxis == (binds)[y_minus].joyaxis)) - #define REPLAY_TOKEN_INVALID '\0' #define REPLAY_TOKEN_REGULAR_FRAME 'f' #define REPLAY_TOKEN_CHECKPOINT_FRAME 'c' diff --git a/input/input_types.h b/input/input_types.h index 301d6d68425..094559ecf00 100644 --- a/input/input_types.h +++ b/input/input_types.h @@ -75,8 +75,6 @@ struct retro_keybind uint32_t joyaxis; /* Default joy axis binding value for resetting bind to default. */ uint32_t def_joyaxis; - /* Used by input_{push,pop}_analog_dpad(). */ - uint32_t orig_joyaxis; enum msg_hash_enums enum_idx; diff --git a/runloop.c b/runloop.c index 1d5339c34e7..e93ef4f10a7 100644 --- a/runloop.c +++ b/runloop.c @@ -6819,8 +6819,6 @@ static enum runloop_state_enum runloop_check_state( **/ int runloop_iterate(void) { - int i; - enum analog_dpad_mode dpad_mode[MAX_USERS]; input_driver_state_t *input_st = input_state_get_ptr(); audio_driver_state_t *audio_st = audio_state_get_ptr(); video_driver_state_t *video_st = video_state_get_ptr(); @@ -7015,77 +7013,6 @@ int runloop_iterate(void) camera_st->driver->poll(camera_st->data, camera_st->cb.frame_raw_framebuffer, camera_st->cb.frame_opengl_texture); - - /* Update binds for analog dpad modes. */ - for (i = 0; i < (int)max_users; i++) - { - dpad_mode[i] = (enum analog_dpad_mode) - settings->uints.input_analog_dpad_mode[i]; - - switch (dpad_mode[i]) - { - case ANALOG_DPAD_LSTICK: - case ANALOG_DPAD_RSTICK: - { - unsigned mapped_port = settings->uints.input_remap_ports[i]; - if (input_st->analog_requested[mapped_port]) - dpad_mode[i] = ANALOG_DPAD_NONE; - } - break; - case ANALOG_DPAD_LSTICK_FORCED: - dpad_mode[i] = ANALOG_DPAD_LSTICK; - break; - case ANALOG_DPAD_RSTICK_FORCED: - dpad_mode[i] = ANALOG_DPAD_RSTICK; - break; - default: - break; - } - - /* Push analog to D-Pad mappings to binds. */ - if (dpad_mode[i] != ANALOG_DPAD_NONE) - { - unsigned k; - unsigned joy_idx = settings->uints.input_joypad_index[i]; - struct retro_keybind *general_binds = input_config_binds[joy_idx]; - struct retro_keybind *auto_binds = input_autoconf_binds[joy_idx]; - unsigned x_plus = RARCH_ANALOG_RIGHT_X_PLUS; - unsigned y_plus = RARCH_ANALOG_RIGHT_Y_PLUS; - unsigned x_minus = RARCH_ANALOG_RIGHT_X_MINUS; - unsigned y_minus = RARCH_ANALOG_RIGHT_Y_MINUS; - - if (dpad_mode[i] == ANALOG_DPAD_LSTICK) - { - x_plus = RARCH_ANALOG_LEFT_X_PLUS; - y_plus = RARCH_ANALOG_LEFT_Y_PLUS; - x_minus = RARCH_ANALOG_LEFT_X_MINUS; - y_minus = RARCH_ANALOG_LEFT_Y_MINUS; - } - - for (k = RETRO_DEVICE_ID_JOYPAD_UP; k <= RETRO_DEVICE_ID_JOYPAD_RIGHT; k++) - { - (auto_binds)[k].orig_joyaxis = (auto_binds)[k].joyaxis; - (general_binds)[k].orig_joyaxis = (general_binds)[k].joyaxis; - } - - if (!INHERIT_JOYAXIS(auto_binds)) - { - unsigned j = x_plus + 3; - /* Inherit joyaxis from analogs. */ - for (k = RETRO_DEVICE_ID_JOYPAD_UP; k <= RETRO_DEVICE_ID_JOYPAD_RIGHT; k++) - (auto_binds)[k].joyaxis = (auto_binds)[j--].joyaxis; - } - - if (!INHERIT_JOYAXIS(general_binds)) - { - unsigned j = x_plus + 3; - /* Inherit joyaxis from analogs. */ - for (k = RETRO_DEVICE_ID_JOYPAD_UP; k <= RETRO_DEVICE_ID_JOYPAD_RIGHT; k++) - (general_binds)[k].joyaxis = (general_binds)[j--].joyaxis; - } - } - } - /* Measure the time between core_run() and video_driver_frame() */ runloop_st->core_run_time = cpu_features_get_time_usec(); @@ -7134,25 +7061,6 @@ int runloop_iterate(void) #ifdef HAVE_PRESENCE presence_update(PRESENCE_GAME); #endif - - /* Restores analog D-pad binds temporarily overridden. */ - for (i = 0; i < (int)max_users; i++) - { - if (dpad_mode[i] != ANALOG_DPAD_NONE) - { - int j; - unsigned joy_idx = settings->uints.input_joypad_index[i]; - struct retro_keybind *general_binds = input_config_binds[joy_idx]; - struct retro_keybind *auto_binds = input_autoconf_binds[joy_idx]; - - for (j = RETRO_DEVICE_ID_JOYPAD_UP; j <= RETRO_DEVICE_ID_JOYPAD_RIGHT; j++) - { - (auto_binds)[j].joyaxis = (auto_binds)[j].orig_joyaxis; - (general_binds)[j].joyaxis = (general_binds)[j].orig_joyaxis; - } - } - } - #ifdef HAVE_BSV_MOVIE bsv_movie_finish_rewind(input_st); if (input_st->bsv_movie_state.flags & BSV_FLAG_MOVIE_END)