summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrank Praznik <frank.praznik@oh.rr.com>2015-05-06 00:47:33 (GMT)
committerJiri Kosina <jkosina@suse.cz>2015-05-07 08:41:36 (GMT)
commit4c3e829849cc05f82c11fe9a3c662c7e1323d6cf (patch)
treeb2b2ccbaa977067329a43ca6498e9bbb7d653454
parent221399b36535752351d4631606b427daca3dc35c (diff)
downloadlinux-4c3e829849cc05f82c11fe9a3c662c7e1323d6cf.tar.xz
HID: sony: Correct a typo in a HID descriptor comment and explain the odd Sixaxis axis mapping
Correct a spelling mistake in the Sixaxis HID descriptor comment. Add an explanation as to why the Sixaxis has so many analog axes and why some of them are seen as multi-touch axes. Signed-off-by: Frank Praznik <frank.praznik@oh.rr.com> Acked-by: Pavel Machek <pavel@ucw.cz> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
-rw-r--r--drivers/hid/hid-sony.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/hid/hid-sony.c b/drivers/hid/hid-sony.c
index 9370509..aeb8b41 100644
--- a/drivers/hid/hid-sony.c
+++ b/drivers/hid/hid-sony.c
@@ -59,9 +59,16 @@
#define MAX_LEDS 4
+/*
+ * The Sixaxis reports both digital and analog values for each button on the
+ * controller except for Start, Select and the PS button. The controller ends
+ * up reporting 27 axes which causes them to spill over into the multi-touch
+ * axis values. Additionally, the controller only has 20 actual, physical axes
+ * so there are several unused axes in between the used ones.
+ */
static __u8 sixaxis_rdesc[] = {
0x05, 0x01, /* Usage Page (Desktop), */
- 0x09, 0x04, /* Usage (Joystik), */
+ 0x09, 0x04, /* Usage (Joystick), */
0xA1, 0x01, /* Collection (Application), */
0xA1, 0x02, /* Collection (Logical), */
0x85, 0x01, /* Report ID (1), */