Skip to content

Handle dpad-as-2-axes

Alice Mikhaylenko requested to merge alicem/libmanette:wip/exalm/dpad into master

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

Merge request reports