summaryrefslogtreecommitdiffstats
path: root/drivers/hid/hid-microsoft.c
diff options
context:
space:
mode:
authorNikolai Kondrashov <spbnick@gmail.com>2012-03-02 22:13:58 +0200
committerJiri Kosina <jkosina@suse.cz>2012-03-05 10:28:58 +0100
commit883e0e366209067e690356e58e19bb2e6693b839 (patch)
treefc146f8908f26f519c4a3d4cf30e812598e10cd4 /drivers/hid/hid-microsoft.c
parent37891abc8464637964a26ae4b61d307fef831f80 (diff)
downloadlinux-883e0e366209067e690356e58e19bb2e6693b839.tar.bz2
HID: hid-input: allow array fields out of range
Allow array field values out of range as per HID 1.11 specification, section 6.2.25: Rather than returning a single bit for each button in the group, an array returns an index in each field that corresponds to the pressed button (like keyboard scan codes). An out-of range value in and array field is considered no controls asserted. Apparently, "and" above is a typo and should be "an". This fixes at least Waltop tablet pen clicks - otherwise BTN_TOUCH is never released. The relevant part of Waltop tablet report descriptors is this: 0x09, 0x42, /* Usage (Tip Switch), */ 0x09, 0x44, /* Usage (Barrel Switch), */ 0x09, 0x46, /* Usage (Tablet Pick), */ 0x15, 0x01, /* Logical Minimum (1), */ 0x25, 0x03, /* Logical Maximum (3), */ 0x75, 0x04, /* Report Size (4), */ 0x95, 0x01, /* Report Count (1), */ 0x80, /* Input, */ This is a regression fix for commit b4b583d ("HID: be more strict when ignoring out-of-range fields"). Signed-off-by: Nikolai Kondrashov <spbnick@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Diffstat (limited to 'drivers/hid/hid-microsoft.c')
0 files changed, 0 insertions, 0 deletions