Handle dpad-as-2-axes
Fix a bug with negative half-range axis-to-buttons never being pressed and add deadzones.
This currently has a problem where both halves of an axes send released event:
usb gamepad : Button BTN_DPAD_DOWN pressed
usb gamepad : Button BTN_DPAD_DOWN released
usb gamepad : Button BTN_DPAD_UP released
usb gamepad : Button BTN_DPAD_RIGHT pressed
usb gamepad : Button BTN_DPAD_LEFT released
usb gamepad : Button BTN_DPAD_RIGHT released
usb gamepad : Button BTN_DPAD_UP pressed
usb gamepad : Button BTN_DPAD_DOWN released
usb gamepad : Button BTN_DPAD_UP released
usb gamepad : Button BTN_DPAD_LEFT pressed
usb gamepad : Button BTN_DPAD_LEFT released
usb gamepad : Button BTN_DPAD_RIGHT released
usb gamepad : Button BTN_X pressed
usb gamepad : Button BTN_X released
usb gamepad : Button BTN_Y pressed
usb gamepad : Button BTN_Y released
usb gamepad : Button BTN_A pressed
usb gamepad : Button BTN_A released
usb gamepad : Button BTN_B pressed
usb gamepad : Button BTN_B released
(Spaces added manually for readability)
Fixing that would probably require tracking pressed state on libmanette side.
I'm completely not sure if it's right approach.
Edited by Alice Mikhaylenko