Lines Matching +full:many +full:- +full:to +full:- +full:one

1 ---------------------------
3 ---------------------------
10 Linux provides many different input drivers for gamepad hardware. To avoid
11 having user-space deal with different button-mappings for each gamepad, this
12 document defines how gamepads are supposed to report their data.
25 | <===DP===> |SE| |ST| (W) -|- (E) | |
35 D-Pad Left Right Action Pad
43 - Action-Pad
44 4 buttons in diamonds-shape (on the right side). The buttons are
47 - D-Pad (Direction-pad)
49 - Menu-Pad
50 Different constellations, but most-times 2 buttons: SELECT - START
51 Furthermore, many gamepads have a fancy branded button that is used as
52 special system-button. It often looks different to the other buttons and
53 is used to pop up system-menus or system-settings.
54 - Analog-Sticks
55 Analog-sticks provide freely moveable sticks to control directions. Not
57 Analog-sticks may also provide a digital button if you press them.
58 - Triggers
59 Triggers are located on the upper-side of the pad in vertical direction.
61 Left- and Right-Triggers, the lower buttons Z-Left and Z-Right.
62 - Rumble
63 Many devices provide force-feedback features. But are mostly just
70 an alias for BTN_SOUTH/BTN_A. It can be used to identify a gamepad as such.
71 However, not all gamepads provide all features, so you need to test for all
74 Legacy drivers often don't comply to these rules. As we cannot change them
75 for backwards-compatibility reasons, you need to provide fixup mappings in
76 user-space yourself. Some of them might also provide module-options that
77 change the mappings so you can advise users to set these.
79 All new gamepads are supposed to comply with this mapping. Please report any
82 There are a lot of less-featured/less-powerful devices out there, which re-use
83 the buttons from this protocol. However, they try to do this in a compatible
85 and one analog stick. It reports them as if it were a gamepad with only one
99 - Action-Pad:
103 of the labels on the buttons, the codes are sent according to the
106 Please note that 2- and 3-button pads are fairly rare and old. You might
107 want to filter gamepads that do not report all four.
109 - 2-Button Pad:
111 If only 2 action-buttons are present, they are reported as BTN_SOUTH and
115 - 3-Button Pad:
117 If only 3 action-buttons are present, they are reported as (from left
118 to right): BTN_WEST, BTN_SOUTH, BTN_EAST
122 - 4-Button Pad:
124 If all 4 action-buttons are present, they can be aligned in two
125 different formations. If diamond-shaped, they are reported as BTN_NORTH,
126 BTN_WEST, BTN_SOUTH, BTN_EAST according to their physical location.
127 If rectangular-shaped, the upper-left button is BTN_NORTH, lower-left
128 is BTN_WEST, lower-right is BTN_SOUTH and upper-right is BTN_EAST.
130 - D-Pad:
132 Every gamepad provides a D-Pad with four directions: Up, Down, Left, Right
138 - Digital buttons are reported as:
142 - Analog buttons are reported as:
148 - Analog-Sticks:
150 The left analog-stick is reported as ABS_X, ABS_Y. The right analog stick is
151 reported as ABS_RX, ABS_RY. Zero, one or two sticks may be present.
152 If analog-sticks provide digital buttons, they are mapped accordingly as
157 - Triggers:
159 Trigger buttons can be available as digital or analog buttons or both. User-
167 If only one trigger-button combination is present (upper+lower), they are
172 - Menu-Pad:
174 Menu buttons are always digital and are mapped according to their location
177 - 1-button Pad:
181 - 2-button Pad:
185 Many pads also have a third button which is branded or has a special symbol
187 "HOME" button, the XBox "X"-button or Sony "PS" button.
189 - Rumble: