https://bugs.kde.org/show_bug.cgi?id=484046
--- Comment #13 from Alan Prescott <alanjpresc...@gmail.com> --- Does this explain why a USB joystick doesn't even show up in systemsettings module kcm_gamecontroller? Alan Prescott alanjpresc...@gmail.com On Sat, 14 Dec 2024 at 17:54, Joshua Goins <bugzilla_nore...@kde.org> wrote: > https://bugs.kde.org/show_bug.cgi?id=484046 > > Joshua Goins <j...@redstrate.com> changed: > > What |Removed |Added > > ---------------------------------------------------------------------------- > Status|REPORTED |RESOLVED > Latest Commit| | > https://invent.kde.org/plas > | > |ma/plasma-desktop/-/commit/ > | > |9c0c319d635f2758d1d310a2a41 > | |3b7af335c4005 > Resolution|--- |FIXED > > --- Comment #12 from Joshua Goins <j...@redstrate.com> --- > Git commit 9c0c319d635f2758d1d310a2a413b7af335c4005 by Joshua Goins, on > behalf > of Arthur Kasimov. > Committed on 14/12/2024 at 15:43. > Pushed by redstrate into branch 'master'. > > kcms/gamecontroller: Replace SDL Game Controller API with Joystick API > > Currently the KCM uses a mix of higher-level SDL "Game Controller" API > and lower-level "Joystick" API. Unfortunately, this results in numerous > bugs. The state of some buttons/axes, such as D-pad or right trigger, > is not displayed properly. This happens due to the mismatch between Game > Controller API and Joystick API that report different number and order > of buttons/axes. Another issue is that some non-standard devices like > racing wheels or handbrakes and not detected at all. The Game Controller > API seems to be limited to standard gamepads only. > > This commit introduces new Device class that encapsulates SDL_Joystick > object. Both ButtonModel and AxesModel now use Device object to report > raw values from buttons and axes. DeviceModel now manages Device objects > and shows them in the combo box. This ensures SDL Joystick API is used > consistently across all code and avoids API mismatch issues. This should > also properly detect joysticks, wheels and handbrakes. Unfortunately I > don't have any of these devices and can't really test them. > > The Gamepad class encapsulates SDL_GameController object and provides > higher-level access to gamepads. For now it is only used to display the > coordinate of left stick in PositionWidget. In future it can be used to > revamp the UI and show the symbolic view of standard gamepads. > Related: bug 487694, bug 494705, bug 494913 > > M +1 -0 kcms/gamecontroller/CMakeLists.txt > M +33 -14 kcms/gamecontroller/axesmodel.cpp > M +10 -7 kcms/gamecontroller/axesmodel.h > M +27 -28 kcms/gamecontroller/buttonmodel.cpp > M +10 -12 kcms/gamecontroller/buttonmodel.h > A +90 -0 kcms/gamecontroller/device.cpp [License: GPL(v2.0+)] > A +49 -0 kcms/gamecontroller/device.h [License: GPL(v2.0+)] > M +71 -30 kcms/gamecontroller/devicemodel.cpp > M +16 -5 kcms/gamecontroller/devicemodel.h > M +23 -32 kcms/gamecontroller/gamepad.cpp > M +7 -20 kcms/gamecontroller/gamepad.h > M +8 -3 kcms/gamecontroller/ui/main.qml > > > https://invent.kde.org/plasma/plasma-desktop/-/commit/9c0c319d635f2758d1d310a2a413b7af335c4005 > > -- > You are receiving this mail because: > You are on the CC list for the bug. -- You are receiving this mail because: You are watching all bug changes.