Using hotkey combos AND dedicated buttons

Hi!

Is it possible to use hotkey-driven combos as well as designated function buttons? For example, I’m very used to use hotkeys and combos to do things - my hotkey is ‘select’, so I do a select+L to load a savestate, select+start to exit, etc. however, i also have a PS4 joystick with a designated menu button (the PS button), so that would be nice to use to instantly bring up the XMB without any hotkey pressed. you can also imagine other similar use cases with other buttons - the ‘share’ button to take a screenshot, etc.

i know i can turn off my hotkey and just set the PS button as the input_menu_toggle_btn, but then i’d have to lose all my useful hotkey macros (save, load, exit, etc). is there any way of achieving both? and if not, is this something worth logging on git? this is the first controller i’ve used where i’ve wanted this behaviour, but i guess any xbox or ps3/4 controller could benefit!

Here’s my retroarch-joypad cfg, to show the current way the hotkeys are programmed (the PS and share buttons are currently un-used):


# This assumes that you have the PS4/PS3 MODE Toggle Switch set to PS3 MODE
# and the Turbo and LS/DP switches in the neutral position.


input_device = "Venom Limited PS3/PS4 Arcade Joystick"
input_driver = "udev"
input_r_btn = "5"
input_save_state_btn = "5"
input_l2_btn = "6"
input_start_btn = "9"
input_exit_emulator_btn = "9"
input_l_btn = "4"
input_load_state_btn = "4"
input_up_btn = "h0up"
input_a_btn = "2"
input_b_btn = "1"
input_reset_btn = "1"
input_down_btn = "h0down"
input_r2_btn = "7"
input_right_btn = "h0right"
input_state_slot_increase_btn = "h0right"
input_x_btn = "3"
input_menu_toggle_btn = "3"
input_select_btn = "8"
input_enable_hotkey_btn = "8"
input_y_btn = "0"
input_left_btn = "h0left"


input_b_btn_label = "Cross"
input_y_btn_label = "Square"
input_select_btn_label = "Select"
input_start_btn_label = "Start"
input_up_btn_label = "D-Pad Up"
input_down_btn_label = "D-Pad Down"
input_left_btn_label = "D-Pad Left"
input_right_btn_label = "D-Pad Right"
input_a_btn_label = "Circle"
input_x_btn_label = "Triangle"
input_l_btn_label = "L1"
input_r_btn_label = "R1"
input_r2_btn_label = "R2"
input_l2_btn_label = "L2"

You would have to hold your hotkey enabler and then press the PS button. I don’t think there’s any way to change that behavior without totally re-inventing the hotkey enabler, since it makes RA completely stop listening for hotkeys unless it’s pressed.

thought so :frowning: i’d log it but i’m not sure of a way you could present it in the interface or configs without it being more confusing to users… guess it’s hotkeys or menu buttons, and never the twain shall meet.

Maybe in the future there would be a way to translate the button presses. So if your PS button press was detected, RA would interpret it prefixed with the “Select” button press - making one button press send two buttons to RA?

Kind of like how “sed” can translate one string into another.

So an entry in the .cfg may be like

input_menu_toggle_btn_nohotkey = “3” with the “nohotkey” flag meaning if its detected, it passes a prefix of the “hotkey enable button” (obviously this assumes it is a key not in use for something else already)

Probably multiple issues with this approach but I thought I’d have a go anyway :slight_smile: