HID: fix broken Logitech S510 keyboard report descriptor; make extra keys work
authorJiri Kosina <jkosina@suse.cz>
Wed, 21 Feb 2007 18:27:49 +0000 (19:27 +0100)
committerJiri Kosina <jkosina@suse.cz>
Thu, 1 Mar 2007 08:52:45 +0000 (09:52 +0100)
commitb55fd23ccdf32f969a7b4180c6e52d62d8e99972
tree307897845c80f2bf61ec9d870dc95dc2c0224658
parent776c0e96edecf77f827a62d2a1641cc2ca479043
HID: fix broken Logitech S510 keyboard report descriptor; make extra keys work

This patch makes extra keys (F1-F12 in special mode, zooming, rotate, shuffle)
on Logitech S510 keyboard work.

Logitech S510 keyboard sends in report no. 3 keys which are far above the
logical maximum described in descriptor for given report.

This patch introduces a HID quirk for this wireless USB receiver/keyboard
in order to fix the report descriptor before it's being parsed - the logical
maximum and the number of usages is bumped up to 0x104d). The values are in the
"Reserved" area of consumer HUT, so HID_MAX_USAGE had to be changed too.

In addition to proper extracting of  the values from report descriptor, proper
HID-input mapping is introduced for them.

Signed-off-by: Jiri Kosina <jkosina@suse.cz>
drivers/hid/hid-input.c
drivers/usb/input/hid-core.c
include/linux/hid.h