Controller: added controller configs with hotkeys for generic controller, ps3,4,5, gordon, switchpro and xbox360 [skip ci]

This commit is contained in:
XargonWan 2023-10-10 15:29:50 +02:00
parent a6f90e87ff
commit e44be29c0f
11 changed files with 7670 additions and 3 deletions

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,974 @@
"controller_mappings"
{
"version" "3"
"revision" "60"
"title" "RetroDECK: Official Layout - Steam Controller"
"description" "RetroDECK: Steam Controller"
"creator" ""
"progenitor" ""
"url" ""
"export_type" ""
"controller_type" "controller_steamcontroller_gordon"
"controller_caps" "2179063"
"major_revision" "0"
"minor_revision" "0"
"Timestamp" "-952722512"
"actions"
{
"Default"
{
"title" "RetroDECK - Set"
"legacy_set" "1"
}
"Preset_1000001"
{
"title" "Global Hotkeys - Set"
"legacy_set" "1"
}
}
"action_layers"
{
}
"group"
{
"id" "0"
"mode" "four_buttons"
"name" ""
"description" ""
"inputs"
{
"button_a"
{
"activators"
{
"Full_Press"
{
"bindings"
{
"binding" "xinput_button A, , "
}
}
}
"disabled_activators"
{
}
}
"button_b"
{
"activators"
{
"Full_Press"
{
"bindings"
{
"binding" "xinput_button B, , "
}
}
}
"disabled_activators"
{
}
}
"button_x"
{
"activators"
{
"Full_Press"
{
"bindings"
{
"binding" "xinput_button X, , "
}
}
}
"disabled_activators"
{
}
}
"button_y"
{
"activators"
{
"Full_Press"
{
"bindings"
{
"binding" "xinput_button Y, , "
}
}
}
"disabled_activators"
{
}
}
}
}
"group"
{
"id" "1"
"mode" "dpad"
"name" ""
"description" ""
"inputs"
{
"dpad_north"
{
"activators"
{
"Full_Press"
{
"bindings"
{
"binding" "xinput_button dpad_up, , "
}
"settings"
{
"haptic_intensity" "0"
}
}
}
"disabled_activators"
{
}
}
"dpad_south"
{
"activators"
{
"Full_Press"
{
"bindings"
{
"binding" "xinput_button dpad_down, , "
}
"settings"
{
"haptic_intensity" "0"
}
}
}
"disabled_activators"
{
}
}
"dpad_east"
{
"activators"
{
"Full_Press"
{
"bindings"
{
"binding" "xinput_button dpad_right, , "
}
"settings"
{
"haptic_intensity" "0"
}
}
}
"disabled_activators"
{
}
}
"dpad_west"
{
"activators"
{
"Full_Press"
{
"bindings"
{
"binding" "xinput_button dpad_left, , "
}
"settings"
{
"haptic_intensity" "0"
}
}
}
"disabled_activators"
{
}
}
}
}
"group"
{
"id" "2"
"mode" "joystick_move"
"name" ""
"description" ""
"inputs"
{
"click"
{
"activators"
{
"Full_Press"
{
"bindings"
{
"binding" "xinput_button JOYSTICK_RIGHT, , "
}
}
}
"disabled_activators"
{
}
}
}
}
"group"
{
"id" "3"
"mode" "joystick_move"
"name" ""
"description" ""
"inputs"
{
"click"
{
"activators"
{
"Full_Press"
{
"bindings"
{
"binding" "xinput_button JOYSTICK_LEFT, , "
}
"settings"
{
"haptic_intensity" "2"
}
}
}
"disabled_activators"
{
}
}
}
}
"group"
{
"id" "4"
"mode" "trigger"
"name" ""
"description" ""
"inputs"
{
"click"
{
"activators"
{
"Full_Press"
{
"bindings"
{
"binding" "xinput_button TRIGGER_LEFT, , "
}
"settings"
{
"haptic_intensity" "2"
}
}
}
"disabled_activators"
{
}
}
}
"settings"
{
"output_trigger" "1"
}
}
"group"
{
"id" "5"
"mode" "trigger"
"name" ""
"description" ""
"inputs"
{
"click"
{
"activators"
{
"Full_Press"
{
"bindings"
{
"binding" "xinput_button TRIGGER_RIGHT, , "
}
"settings"
{
"haptic_intensity" "2"
}
}
}
"disabled_activators"
{
}
}
}
"settings"
{
"output_trigger" "2"
}
}
"group"
{
"id" "6"
"mode" "joystick_move"
"name" ""
"description" ""
"inputs"
{
"click"
{
"activators"
{
"Full_Press"
{
"bindings"
{
"binding" "xinput_button JOYSTICK_RIGHT, , "
}
"settings"
{
"haptic_intensity" "2"
}
}
}
"disabled_activators"
{
}
}
}
}
"group"
{
"id" "11"
"mode" "four_buttons"
"name" ""
"description" ""
"inputs"
{
"button_a"
{
"activators"
{
"Full_Press"
{
"bindings"
{
"binding" "key_press LEFT_CONTROL, Pause / Resume, , "
"binding" "key_press P, Pause / Resume, , "
}
}
}
"disabled_activators"
{
}
}
"button_b"
{
"activators"
{
"Full_Press"
{
"bindings"
{
"binding" "key_press LEFT_CONTROL, Take Screenshot, , "
"binding" "key_press X, Take Screenshot, , "
}
}
}
"disabled_activators"
{
}
}
"button_x"
{
"activators"
{
"Full_Press"
{
"bindings"
{
"binding" "key_press LEFT_CONTROL, Fullscreen Toggle, , "
"binding" "key_press RETURN, Fullscreen Toggle, , "
}
}
}
"disabled_activators"
{
}
}
"button_y"
{
"activators"
{
"Full_Press"
{
"bindings"
{
"binding" "key_press LEFT_CONTROL, Open Menu, , "
"binding" "key_press M, Open Menu, , "
}
}
}
"disabled_activators"
{
}
}
}
}
"group"
{
"id" "12"
"mode" "dpad"
"name" ""
"description" ""
"inputs"
{
"dpad_north"
{
"activators"
{
"Full_Press"
{
"bindings"
{
"binding" "key_press LEFT_CONTROL, Increase Emulation Speed, , "
"binding" "key_press 1, Increase Emulation Speed, , "
}
}
}
"disabled_activators"
{
}
}
"dpad_south"
{
"activators"
{
"Full_Press"
{
"bindings"
{
"binding" "key_press LEFT_CONTROL, Decrease Emulation Speed, , "
"binding" "key_press 2, Decrease Emulation Speed, , "
}
}
}
"disabled_activators"
{
}
}
"dpad_east"
{
"activators"
{
"Full_Press"
{
"bindings"
{
"binding" "key_press LEFT_CONTROL, Next State Slot, , "
"binding" "key_press K, Next State Slot, , "
}
}
}
"disabled_activators"
{
}
}
"dpad_west"
{
"activators"
{
"Full_Press"
{
"bindings"
{
"binding" "key_press LEFT_CONTROL, Previous State Slot, , "
"binding" "key_press J, Previous State Slot, , "
}
}
}
"disabled_activators"
{
}
}
}
}
"group"
{
"id" "13"
"mode" "joystick_move"
"name" ""
"description" ""
"inputs"
{
"click"
{
"activators"
{
"Full_Press"
{
"bindings"
{
"binding" "xinput_button JOYSTICK_RIGHT, , "
}
}
}
"disabled_activators"
{
}
}
}
}
"group"
{
"id" "14"
"mode" "joystick_move"
"name" ""
"description" ""
"inputs"
{
"click"
{
"activators"
{
"Full_Press"
{
"bindings"
{
"binding" "xinput_button JOYSTICK_LEFT, , "
}
"settings"
{
"haptic_intensity" "2"
}
}
}
"disabled_activators"
{
}
}
}
}
"group"
{
"id" "15"
"mode" "trigger"
"name" ""
"description" ""
"inputs"
{
"click"
{
"activators"
{
"Full_Press"
{
"bindings"
{
"binding" "key_press LEFT_CONTROL, Decrease Emulation Speed, , "
"binding" "key_press KEYPAD_DASH, Decrease Emulation Speed, , "
}
"settings"
{
"haptic_intensity" "2"
}
}
}
"disabled_activators"
{
}
}
}
"settings"
{
"output_trigger" "1"
}
}
"group"
{
"id" "16"
"mode" "trigger"
"name" ""
"description" ""
"inputs"
{
"click"
{
"activators"
{
"Full_Press"
{
"bindings"
{
"binding" "key_press LEFT_CONTROL, Increase Emulation Speed, , "
"binding" "key_press KEYPAD_PLUS, Increase Emulation Speed, , "
}
"settings"
{
"haptic_intensity" "2"
}
}
}
"disabled_activators"
{
}
}
}
"settings"
{
"output_trigger" "2"
}
}
"group"
{
"id" "19"
"mode" "absolute_mouse"
"name" ""
"description" ""
"inputs"
{
"click"
{
"activators"
{
"Full_Press"
{
"bindings"
{
"binding" "mouse_button LEFT, , "
}
"settings"
{
"haptic_intensity" "1"
}
}
}
"disabled_activators"
{
}
}
}
}
"group"
{
"id" "20"
"mode" "absolute_mouse"
"name" ""
"description" ""
"inputs"
{
"click"
{
"activators"
{
"Full_Press"
{
"bindings"
{
"binding" "mouse_button LEFT, , "
}
"settings"
{
"haptic_intensity" "1"
}
}
}
"disabled_activators"
{
}
}
}
}
"group"
{
"id" "23"
"mode" "absolute_mouse"
"name" ""
"description" ""
"inputs"
{
}
"gameactions"
{
}
}
"group"
{
"id" "7"
"mode" "switches"
"name" ""
"description" "#Description"
"inputs"
{
"button_escape"
{
"activators"
{
"Full_Press"
{
"bindings"
{
"binding" "xinput_button start, , "
}
}
}
"disabled_activators"
{
}
}
"button_menu"
{
"activators"
{
"Full_Press"
{
"bindings"
{
"binding" "xinput_button select, , "
}
}
"Full_Press"
{
"bindings"
{
"binding" "controller_action CHANGE_PRESET 2 0 1, , "
}
}
}
"disabled_activators"
{
}
}
"left_bumper"
{
"activators"
{
"Full_Press"
{
"bindings"
{
"binding" "xinput_button shoulder_left, , "
}
}
}
"disabled_activators"
{
}
}
"right_bumper"
{
"activators"
{
"Full_Press"
{
"bindings"
{
"binding" "xinput_button shoulder_right, , "
}
}
}
"disabled_activators"
{
}
}
"button_back_left"
{
"activators"
{
"Full_Press"
{
"bindings"
{
"binding" "xinput_button JOYSTICK_LEFT, , "
}
}
}
"disabled_activators"
{
}
}
"button_back_right"
{
"activators"
{
"Full_Press"
{
"bindings"
{
"binding" "xinput_button JOYSTICK_RIGHT, , "
}
}
}
"disabled_activators"
{
}
}
}
}
"group"
{
"id" "10"
"mode" "switches"
"name" ""
"description" ""
"inputs"
{
"button_escape"
{
"activators"
{
"Full_Press"
{
"bindings"
{
"binding" "key_press LEFT_CONTROL, Quit Emulator, , "
"binding" "key_press Q, Quit Emulator, , "
}
}
}
"disabled_activators"
{
}
}
"button_menu"
{
"activators"
{
"release"
{
"bindings"
{
"binding" "controller_action CHANGE_PRESET 1 0 1, , "
}
}
"Full_Press"
{
"bindings"
{
"binding" "xinput_button SELECT, , "
}
}
}
"disabled_activators"
{
}
}
"left_bumper"
{
"activators"
{
"Full_Press"
{
"bindings"
{
"binding" "key_press LEFT_CONTROL, Load State, , "
"binding" "key_press A, Load State, , "
}
}
}
"disabled_activators"
{
}
}
"right_bumper"
{
"activators"
{
"Full_Press"
{
"bindings"
{
"binding" "key_press LEFT_CONTROL, Save State, , "
"binding" "key_press S, Save State, , "
}
}
}
"disabled_activators"
{
}
}
"button_back_left"
{
"activators"
{
"Full_Press"
{
"bindings"
{
"binding" "key_press LEFT_CONTROL, Swap Screens, , "
"binding" "key_press TAB, Swap Screens, , "
}
}
}
"disabled_activators"
{
}
}
"button_back_right"
{
"activators"
{
"Full_Press"
{
"bindings"
{
"binding" "key_press ESCAPE, Escape, , "
}
}
}
"disabled_activators"
{
}
}
}
}
"preset"
{
"id" "0"
"name" "Default"
"group_source_bindings"
{
"7" "switch active"
"0" "button_diamond active"
"1" "left_trackpad active"
"2" "right_trackpad inactive"
"6" "right_trackpad inactive"
"19" "right_trackpad active"
"3" "joystick active"
"4" "left_trigger active"
"5" "right_trigger active"
"23" "gyro inactive"
}
}
"preset"
{
"id" "1"
"name" "Preset_1000001"
"group_source_bindings"
{
"10" "switch active"
"11" "button_diamond active"
"12" "left_trackpad active"
"13" "right_trackpad inactive"
"20" "right_trackpad active"
"14" "joystick active"
"15" "left_trigger active"
"16" "right_trigger active"
}
}
"settings"
{
"left_trackpad_mode" "0"
"right_trackpad_mode" "0"
}
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -467,7 +467,7 @@ install_retrodeck_controller_profile() {
# USAGE: install_retrodeck_controller_profile # USAGE: install_retrodeck_controller_profile
if [[ -d "$HOME/.steam/steam/tenfoot/resource/images/library/controller/binding_icons/" && -d "$HOME/.steam/steam/controller_base/templates/" ]]; then if [[ -d "$HOME/.steam/steam/tenfoot/resource/images/library/controller/binding_icons/" && -d "$HOME/.steam/steam/controller_base/templates/" ]]; then
rsync -rlD --mkpath "/app/retrodeck/binding_icons/" "$HOME/.steam/steam/tenfoot/resource/images/library/controller/binding_icons/" rsync -rlD --mkpath "/app/retrodeck/binding_icons/" "$HOME/.steam/steam/tenfoot/resource/images/library/controller/binding_icons/"
cp -f "$emuconfigs/defaults/retrodeck/RetroDECK_controller_config.vdf" "$HOME/.steam/steam/controller_base/templates/RetroDECK_controller_config.vdf" cp -f "$emuconfigs/defaults/retrodeck/controller_configs/*.vdf" "$HOME/.steam/steam/controller_base/templates"
else else
configurator_generic_dialog "RetroDECK Controller Profile Install" "The target directories for the controller profile do not exist.\n\nThis may happen if you do not have Steam installed or the location is does not have permission to be read." configurator_generic_dialog "RetroDECK Controller Profile Install" "The target directories for the controller profile do not exist.\n\nThis may happen if you do not have Steam installed or the location is does not have permission to be read."
fi fi

View file

@ -239,7 +239,7 @@ post_update() {
fi fi
if [[ -f "$HOME/.steam/steam/controller_base/templates/RetroDECK_controller_config.vdf" ]]; then # If RetroDECK controller profile has been previously installed if [[ -f "$HOME/.steam/steam/controller_base/templates/RetroDECK_controller_config.vdf" ]]; then # If RetroDECK controller profile has been previously installed
cp -f "$emuconfigs/defaults/retrodeck/RetroDECK_controller_config.vdf" "$HOME/.steam/steam/controller_base/templates/RetroDECK_controller_config.vdf" cp -f "$emuconfigs/defaults/retrodeck/controller_configs/*.vdf" "$HOME/.steam/steam/controller_base/templates"
rsync -rlD --mkpath "/app/retrodeck/binding_icons/" "$HOME/.steam/steam/tenfoot/resource/images/library/controller/binding_icons/" rsync -rlD --mkpath "/app/retrodeck/binding_icons/" "$HOME/.steam/steam/tenfoot/resource/images/library/controller/binding_icons/"
fi fi

View file

@ -529,7 +529,7 @@ configurator_retrodeck_tools_dialog() {
;; ;;
"Install: RetroDECK SD Controller Profile" ) "Install: RetroDECK SD Controller Profile" )
configurator_generic_dialog "RetroDECK Configurator - Install: RetroDECK Controller Profile" "We are now offering a new official RetroDECK controller profile!\nIt is an optional component that helps you get the most out of RetroDECK with a new in-game radial menu for unified hotkeys across emulators.\n\nThe files need to be installed outside of the normal ~/retrodeck folder, so we wanted your permission before proceeding.\n\nThe files will be installed at the following shared Steam locations:\n\n$HOME/.steam/steam/tenfoot/resource/images/library/controller/binding_icons/\n$HOME/.steam/steam/controller_base/templates/RetroDECK_controller_config.vdf" configurator_generic_dialog "RetroDECK Configurator - Install: RetroDECK Controller Profile" "We are now offering a new official RetroDECK controller profile!\nIt is an optional component that helps you get the most out of RetroDECK with a new in-game radial menu for unified hotkeys across emulators.\n\nThe files need to be installed outside of the normal ~/retrodeck folder, so we wanted your permission before proceeding.\n\nThe files will be installed at the following shared Steam locations:\n\n$HOME/.steam/steam/tenfoot/resource/images/library/controller/binding_icons/\n$HOME/.steam/steam/controller_base/templates"
if [[ $(configurator_generic_question_dialog "Install: RetroDECK Controller Profile" "Would you like to install the official RetroDECK controller profile?") == "true" ]]; then if [[ $(configurator_generic_question_dialog "Install: RetroDECK Controller Profile" "Would you like to install the official RetroDECK controller profile?") == "true" ]]; then
install_retrodeck_controller_profile install_retrodeck_controller_profile
configurator_generic_dialog "RetroDECK Configurator - Install: RetroDECK Controller Profile" "The RetroDECK controller profile install is complete.\nSee the Wiki for more details on how to use it to its fullest potential!" configurator_generic_dialog "RetroDECK Configurator - Install: RetroDECK Controller Profile" "The RetroDECK controller profile install is complete.\nSee the Wiki for more details on how to use it to its fullest potential!"