1
0
Fork 0
mirror of https://github.com/AquariaOSE/Aquaria.git synced 2025-08-23 23:10:55 +00:00

Major input handling improvements (#28):

- Support joystick hotplugging
- Support axes as buttons (means xbox360 shoulder triggers can be used as buttons)
- Show pretty joystick axis & button names if possible
- Tabify input actions UI
- Add 'mouse' column to input actions UI
- Allow to configure form hotkeys
- Allow ALL keys, get rid of internal key remapping
- SDL2: Use scancodes instead of keycodes since they are layout independent
- Allow extra mouse buttons (if present)
- Remove "lmbd" & "lmbu" actions in favor of "PrimaryAction" & "SecondaryAction"
  Makes the configuration less redundant and doesn't send each action twice,
  which happened if both were set to the same key.
- Fix Regressions from prev commits (menu not opening on Esc)

Still has a few minor bugs/issues that need to be fixed,
but pushing this now before the commit gets too large again.
This commit is contained in:
fgenesis 2016-07-13 05:00:19 +02:00
parent 082dcacad8
commit a043dd852f
19 changed files with 585 additions and 223 deletions

View file

@ -45,15 +45,18 @@ struct ActionData
enum ActionButtonType
{
// must start at > 512 (SDL scancodes end there)
MOUSE_BUTTON_LEFT = 999,
MOUSE_BUTTON_RIGHT = 1000,
MOUSE_BUTTON_MIDDLE = 1001,
MOUSE_BUTTON_LEFT = 1000,
MOUSE_BUTTON_RIGHT = 1001,
MOUSE_BUTTON_MIDDLE = 1002,
MOUSE_BUTTON_EXTRA_START = 1003,
JOY_BUTTON_0 = 2000,
JOY_BUTTON_END = JOY_BUTTON_0 + MAX_JOYSTICK_BTN, // one past end
JOY_AXIS_0 = 3000,
JOY_AXIS_END = JOY_AXIS_0 + MAX_JOYSTICK_AXIS,
JOY_AXIS_0_POS = 3000,
JOY_AXIS_0_NEG = 3100,
JOY_AXIS_END_POS = JOY_AXIS_0_POS + MAX_JOYSTICK_AXIS,
JOY_AXIS_END_NEG = JOY_AXIS_0_NEG + MAX_JOYSTICK_AXIS,
};
class ActionMapper