Files
SDL/src
Sam Lantinga c377de5440 Fixed bug 4436 - [OpenBSD] fix D-pad
Thomas Frohwein

Hi,

If a gamepad lists the Dpad as 4 buttons (Dpad Up,Down, Left, Right) like with the Xbox 360 gamepad / XInput report descriptor used by OpenBSD (https://github.com/openbsd/src/blob/master/sys/dev/usb/uhid_rdesc.h#L184), this is not recognized by the SDL BSD backend and no hat or any other listing for the D-pad exists, e.g. in sdl2-jstest (https://gitlab.com/sdl-jstest/sdl-jstest).

The attached diff fixes this and makes the D-pad on my Xbox 360 and Logitech F310 controllers usable. It adds a hat to nhats when usage HUG_DPAD_UP is found, reads the state of the D-pad buttons into array dpad[], and turns the value of dpad[] into an SDL hat direction (dpad_to_sdl()).

Tested and works with Xbox 360 controller and Logitech F310 in XInput mode. Software-side tested with sdl2-jstest and Owlboy where this worked without problems or regressions.

I don't know if this would be applicable to other *BSDs and don't have an install to test it with, therefore wrapped it in __OpenBSD__ ifdefs.

Thanks,

thfr
2019-05-19 11:56:26 -07:00
..
2019-01-04 22:01:14 -08:00
2019-03-19 16:52:09 -07:00
2019-01-04 22:01:14 -08:00
2019-01-04 22:01:14 -08:00
2019-01-04 22:01:14 -08:00
2019-01-04 22:01:14 -08:00
2019-01-04 22:01:14 -08:00
2019-01-04 22:01:14 -08:00
2019-01-04 22:01:14 -08:00
2019-01-04 22:01:14 -08:00
2019-03-19 17:20:54 -07:00
2019-01-04 22:01:14 -08:00
2019-01-04 22:01:14 -08:00
2019-04-23 07:59:31 -07:00
2019-01-04 22:01:14 -08:00
2019-01-04 22:01:14 -08:00
2019-01-04 22:01:14 -08:00
2019-01-04 22:01:14 -08:00
2019-01-04 22:01:14 -08:00
2019-01-04 22:01:14 -08:00