While you're here, please consider supporting GamingOnLinux on:
Reward Tiers:
Patreon. Plain Donations:
PayPal.
This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!
You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
Reward Tiers:
This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!
You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
Login / Register
- Nexus Mods retire their in-development cross-platform app to focus back on Vortex
- Windows compatibility layer Wine 11 arrives bringing masses of improvements to Linux
- GOG plan to look a bit closer at Linux through 2026
- European Commission gathering feedback on the importance of open source
- Hytale has arrived in Early Access with Linux support
- > See more over 30 days here
- Venting about open source security.
- LoudTechie - Weekend Players' Club 2026-01-16
- Mustache Gamer - Welcome back to the GamingOnLinux Forum
- simplyseven - A New Game Screenshots Thread
- JohnLambrechts - Will you buy the new Steam Machine?
- mr-victory - See more posts
How to setup OpenMW for modern Morrowind on Linux / SteamOS and Steam Deck
How to install Hollow Knight: Silksong mods on Linux, SteamOS and Steam Deck
I'm going to try this again. My last attempt was foiled by the apparent theft of some spaces. I have notified the local sheriff but so far the call has gone unheeded.
Not that important, let me continue. I'm a programmer, not a gamer, so I was hoping this was a good forum to get some informed opinions on gaming conventions in general, and on Linux in particular. My goal is to write a bunch of gamepad enabled applications and I thought it would be appropriate to follow standard conventions as much as possible.
Below I have two models of a presumed gamepad, that is, two sets of names for the same thing. The first list has the names as they appear in the gamecontrollerdb.txt gamepad database. The second is a more cryptic two letter code. The reason I have the alternative definition is for optional use in application configuration files. I believe that every gamepad enabled application should allow users the ability to custom define buttons and axis on the gamepad to actions and functions in the application.
So, I am asking for answers/opinions on:
1) Did I get the gamecontrollerdb names right? (I'm pretty sure I did)
2) Are the two letter codes okay?
3) Are there other naming conventions I should be recognizing?
4) What about "lefttrigger" and "righttrigger"? Are they buttons or axes?
5) Are there many programmers here?
6) Are there any gamers wanting to learn programming?
Thanks,
Ced
========================================================
Presumed GamePad Entry Layout in ControllerDb Names
_____[lefttrigger]__________[righttrigger]
____[leftshoulder]__________[rightshoulder]
_____________[back][guide][start]
__________[dpup]________________[y]
____[dpleft]==[dpright]______[x]___[b]
_________[dpdown]_______________[a]
____________[leftstick]__[rightstick]
__________(leftx,lefty)__(rightx,righty)
0 NONE
1 a
2 b
3 back
4 dpdown
5 dpleft
6 dpright
7 dpup
8 guide
9 leftshoulder
10 leftstick
11 lefttrigger
12 leftx
13 lefty
14 rightshoulder
15 rightstick
16 righttrigger
17 rightx
18 righty
19 start
20 x
21 y
Named constants: E_NAMEINUPPERCASE
========================================================
Presumed GamePad Entry Layout in Cryptic Codes
________[LT]________________[RT]
________[LB]________________[RB]
______________[LA][MG][RA]
________[LN]________________[RN]
_____[LW]==[LE]____v____[RW]____[RE]
________[LS]________________[RS]
_______________[LJ]__[RJ]
____________(LX,LY)__(RX,RY)
NA Not Applicable
RS Right South
RE Right East
LA Left Arrow
LS Left South
LW Left West
LE Left East
LN Left North
MG Middle Guide
LB Left Bumper
LJ Left Joystick
LT Left Trigger
LX Left X
LY Left Y
RB Right Bumper
RJ Right Joystick
RT Right Trigger
RX Right X
RY Right Y
RA Right Arrow
RW Right West
RN Right North
Same numbers, named constants based on two letter code: C_$$