Changelog:
r45618 | compyx | 2025-04-01 14:25:05 +0000 (Tue, 01 Apr 2025) | 6 lines
FreeBSD: use custom mapper callback to fix Logitech F710 Y axis
For some bizarre reason the left thumbstick's Y axis is inverted on FreeBSD
14.2, so we use the custom mapper callback to set the 'invert' property of
its calibration data.
------------------------------------------------------------------------
r45617 | gpz | 2025-04-01 00:03:35 +0000 (Tue, 01 Apr 2025) | 1 line
WIP fix for #2113. Debug stuff is still enabled. Similar fixes must be applied to the other drives - and perhaps to PET and Plus4
------------------------------------------------------------------------
r45616 | empathicqubit | 2025-03-31 17:08:08 +0000 (Mon, 31 Mar 2025) | 1 line
Make sure menu_draw actually exists before drawing to the monitor in SDL2
------------------------------------------------------------------------
r45615 | compyx | 2025-03-31 16:46:12 +0000 (Mon, 31 Mar 2025) | 2 lines
Nuke trailing whitespace from orbit
------------------------------------------------------------------------
r45614 | compyx | 2025-03-31 16:34:58 +0000 (Mon, 31 Mar 2025) | 25 lines
Merge branch compyx/joymap-001 into trunk
This is the first step towards proper joystick mapping and calibration in the
Gtk3 UI (and future UIs):
* Reorganize data structures: mappings now are members of axis, button and hat
objects, and a joystick device is a collection of axes, buttons and hats.
Also add calibration data as members of the axis and button objects.
* Move responsibilities from the drivers to common code: the drivers pass raw
axis and button values to the common code and the common code decides what
those values mean (applying calibration). Hats are a different beast: so
currently the drivers need to decide which joystick directions their hat
values translate to.
* Managing resources is done (mostly) in common code: joystick devices take
ownership of axis, button and hat objects and the common code takes ownership
of joystick devices. The drivers are responsible for allocating and freeing
any arch-specific data, the rest is taken care of by the common code.
* Add additional information about host inputs in the data structures: for the
UI we need names of the axes, buttons and hats, and to be able to identify
the devices we need vendor and product IDs (so at a later point we can have
per-device loading of mappings/calibration).
* Identify inputs by ID, rather than index: SDL may refer to inputs by index,
but Linux evdev, Free/NetBSD HID and DirectInput do not. DirectInput and BSD
drivers are new implementations and Linux evdev was already a recent addition.
------------------------------------------------------------------------