Seeking some opinions on gamepad specifiers/layout models - Redo
Cedron Apr 24, 2019
Hello All,

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_$$
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!
Login / Register


Or login with...
Sign in with Steam Sign in with Google
Social logins require cookies to stay logged in.

Buy Games
Buy games with our affiliate / partner links: