this post was submitted on 02 Jan 2026
47 points (98.0% liked)
Linux Gaming
25213 readers
673 users here now
Discussions and news about gaming on the GNU/Linux family of operating systems (including the Steam Deck). Potentially a $HOME away from home for disgruntled /r/linux_gaming denizens of the redditarian demesne.
This page can be subscribed to via RSS.
Original /r/linux_gaming pengwing by uoou.
No memes/shitposts/low-effort posts, please.
Resources
Help:
- ProtonDB
- Are We Anticheat Yet?
- r/linux_gaming FAQ
- Fork of an earlier version of the above
- PCGamingWiki
- LibreGameWiki
Launchers/Game Library Managers:
General:
Discord:
IRC:
Matrix:
Telegram:
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Generally, USB HID permits lots of buttons to be reported. While I can't say that it's absolutely certain that 8bitdo requires some sort of proprietary protocol to expose the button events for some of those buttons, my bet is that they're reporting them.
I don't know what program you're using, but there are at least three APIs that I can think of that they might be using.
(Old) Linux joystick API.
$ jstest /dev/input/js0to see what's going on there (assuming a single game controller on the system). In thejoystickpackage on Debian. I have seen systems before that have this disabled to try to deal with programs that double-report button events for joysticks visible both under the joystick API and the libevent one.(New) event API.
$ evtest. All of your other stuff, like mice and keyboards, will also be visible here, and you'll have to tellevtestwhich device you want to see events from. In theevtestpackage on Debian.Steam has its own input API, Steam Input. Steam Input will internally be using one of the above, but it could be fiddling with things, like, not sending button events or something, and a lot of games on Linux under Steam will be using Steam Input.
There are also other (thinner) libraries that will map one of the two kernel APIs to their own API, like SDL. Couldn't advise what your emulator might be using without knowing what emulator you're trying to use.
I also have an old Logitech F710 around here somewhere that has a switch on it to cause the controller to report (on Windows) via (old Windows) DirectX or (old Windows) XInput. In the DirectX mode, it doesn't report as much information. Probably not what you're seeing, but thought I'd mention it as a possibility.