提交 d09bbfd2 编写于 作者: D David Herrmann 提交者: Jiri Kosina

input: document gamepad API and add extra keycodes

Until today all gamepad input drivers report their data differently. It is
nearly impossible to write applications for more than one device in a
generic way. Therefore, this patch introduces a uniform gamepad API which
will be used for all new drivers.

Instead of mapping buttons by their labels, we now map them by position.
This allows applications to work with any gamepad regardless of the labels
on the buttons. Furthermore, we standardize the ABS_* codes for analog
triggers and sticks.

For D-Pads the long overdue BTN_DPAD_* codes are introduced. They should
be fairly obvious how to use. To avoid confusion, the action buttons now
have BTN_EAST/SOUTH/WEST/NORTH aliases.
Reported-by: NTodd Showalter <todd@electronjump.com>
Acked-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: NDavid Herrmann <dh.herrmann@gmail.com>
Signed-off-by: NJiri Kosina <jkosina@suse.cz>
上级 5b22b91a
...@@ -507,10 +507,14 @@ struct input_keymap_entry { ...@@ -507,10 +507,14 @@ struct input_keymap_entry {
#define BTN_GAMEPAD 0x130 #define BTN_GAMEPAD 0x130
#define BTN_A 0x130 #define BTN_A 0x130
#define BTN_SOUTH 0x130
#define BTN_B 0x131 #define BTN_B 0x131
#define BTN_EAST 0x131
#define BTN_C 0x132 #define BTN_C 0x132
#define BTN_X 0x133 #define BTN_X 0x133
#define BTN_NORTH 0x133
#define BTN_Y 0x134 #define BTN_Y 0x134
#define BTN_WEST 0x134
#define BTN_Z 0x135 #define BTN_Z 0x135
#define BTN_TL 0x136 #define BTN_TL 0x136
#define BTN_TR 0x137 #define BTN_TR 0x137
...@@ -707,6 +711,11 @@ struct input_keymap_entry { ...@@ -707,6 +711,11 @@ struct input_keymap_entry {
#define KEY_ATTENDANT_TOGGLE 0x21d /* Attendant call on or off */ #define KEY_ATTENDANT_TOGGLE 0x21d /* Attendant call on or off */
#define KEY_LIGHTS_TOGGLE 0x21e /* Reading light on or off */ #define KEY_LIGHTS_TOGGLE 0x21e /* Reading light on or off */
#define BTN_DPAD_UP 0x220
#define BTN_DPAD_DOWN 0x221
#define BTN_DPAD_LEFT 0x222
#define BTN_DPAD_RIGHT 0x223
#define BTN_TRIGGER_HAPPY 0x2c0 #define BTN_TRIGGER_HAPPY 0x2c0
#define BTN_TRIGGER_HAPPY1 0x2c0 #define BTN_TRIGGER_HAPPY1 0x2c0
#define BTN_TRIGGER_HAPPY2 0x2c1 #define BTN_TRIGGER_HAPPY2 0x2c1
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册