Let's restart the highscore thread again, people are saying it got too long. End of the previous thread: mk.nyaa.place/notes/9zoixlwqn6…
So I figured out how to keep touchpads working in gamepad mode ^^ It involved reverse engineering the payload for the ID_SET_DIGITAL_MAPPINGS feature report - neither SDL nor kernel driver do it, so I didn't have any reference this time.
Anyway, now touchpads are fully working, with the same behavior as for Steam's gamepad action set - right touchpad moves pointer and does a left click on press, left touchpad does a right click on press and that's it. I'm not sure why it doesn't also scroll, but I wanted to keep it consistent (steam's desktop action set scrolls it and middle clicks on press instead, tho it does mean you have to use L2 to right click)
When Steam is running, you still have to switch to gamepad action set or you'll have double input, but I don't think I have any way of mitigating that - oh well. When Steam is not running, it will switch everything automatically at least, so at this point it's probably good enough. I'm yet to find an example of any app doing it well, so I don't think libmanette apps would stand out in a bad way here.
So, at this point I mostly just need to clean up the code and think again about what the public API should look like.
That said, I want to rework libmanette API entirely. It's not in a very good state right now, it's a lot more convoluted than it needs to be.
Alice :neocat_flag_transbian: (@alice)
Ok, now all gamepad input works. I could also really easily hook up accel and gyro, but need to think how to expose them in libmanette first (and we'd probably want to support them for evdev too, we don't atm) On Highscore side, if libmanette report…Nyaa~ Place
Alice
in reply to Alice • • •Mostly I wanted to keep the
ID_SET_DIGITAL_MAPPINGSstructure, as well as general steps documented somewhere online, as it would have helped me a lot. ^^Steam Deck, HID, and libmanette adventures – Just another blog
blogs.gnome.orgGNOME
in reply to Alice • • •