Hotkeys implementation

I have a bit of feedback regarding the very awesome hotkeys feature.

I got a couple of arcade sticks today, and created a couple of autoconfig files for them, everything was working fine… until I noticed while I was happily mashing away that I was saving states, and other weirdness.

Then I realized that it was because the hotkeys implementation is based on absolute values - in other words, if you set up ‘select’ as your hotkey on the original gamepad you were using, and the value is ‘7’, whatever button 7 is on the new stick will be the hotkey, and not whatever you mapped to ‘select.’

This is counter-intuitive.

The settings should be implemented the same way they are in the ‘Quick options’ when you remap a pad for a given core. In other words, I open up the hotkey settings, and I tap left and right to manually choose 'enable hotkeys = select, instead of physically pressing the select button.

Turbo should also work this way. If you have turbo mapped to L2 on an xbox controller and that value is (I’m just guessing here because I’m too lazy to actually check) 9, that will cause problems if you try to switch gamepads on the fly, and the new gamepad’s value for L2 isn’t ‘9’.

The advantage of doing things this way is that you can easily switch gamepads for any core, and all of your hotkey settings and mapping for a turbo key are ready to go.

One thing I wanted to add…

The ‘menu’ button/xbox button ought to be configurable in the main input options also. Then once it is mapped there (if it is to be used all/if your controller even has it), it can be a choice for a hotkey (e.g. ‘menu’ or ‘enable hotkeys’).