input: document gamepad API and add extra keycodes
authorDavid Herrmann <dh.herrmann@gmail.com>
Sat, 15 Jun 2013 13:32:44 +0000 (15:32 +0200)
committerJiri Kosina <jkosina@suse.cz>
Thu, 27 Jun 2013 09:51:31 +0000 (11:51 +0200)
commitd09bbfd2a8408a995419dff0d2ba906013cf4cc9
treeb32c7cbbf0757e8cc228ca4d96268edcaf5e0ed8
parent5b22b91ab666634cab7fc4a7e0439d0bbbefb32e
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: Todd Showalter <todd@electronjump.com>
Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
include/uapi/linux/input.h