diff options
author | Nikolai Kondrashov <spbnick@gmail.com> | 2010-08-30 14:06:35 +0400 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2010-09-01 12:36:35 +0200 |
commit | 4b5b4575ce08a2597a21337b4f5404fa0a289403 (patch) | |
tree | f12d9424fc5f4d02008a2c6b05d31785541eaf9a | |
parent | 72a46344867111c3e019b169ddfa9e1a1f55c759 (diff) | |
download | linux-4b5b4575ce08a2597a21337b4f5404fa0a289403.tar.bz2 |
HID: waltop: fix Media Tablet 10.6 inch scrolling
Add support for horizontal scrolling with Waltop Media Tablet 10.6 inch by
updating the fixed HID report descriptor.
The horizontal/vertical scrolling is toggled by pressing the wheels' center
buttons while in scroll mode, which wasn't discovered at the time the
support for this tablet was added.
Signed-off-by: Nikolai Kondrashov <spbnick@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
-rw-r--r-- | drivers/hid/hid-waltop.c | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/drivers/hid/hid-waltop.c b/drivers/hid/hid-waltop.c index 81cb4edb6b6b..b9d49e4a392d 100644 --- a/drivers/hid/hid-waltop.c +++ b/drivers/hid/hid-waltop.c @@ -221,9 +221,10 @@ static __u8 slim_tablet_5_8_inch_rdesc_fixed[] = { * wheels' function button in the newer version. * * The wheel functions are: - * scroll - the wheels act as scroll wheels, the center buttons do nothing. - * zoom - the wheels zoom in/out, the buttons supposedly reset to 100%. - * volume - the wheels control the sound volume, the buttons mute. + * scroll - the wheels act as scroll wheels, the center buttons switch + * between vertical and horizontal scrolling; + * zoom - the wheels zoom in/out, the buttons supposedly reset to 100%; + * volume - the wheels control the sound volume, the buttons mute; * brush - the wheels are supposed to control brush width in a graphics * editor, the buttons do nothing. * @@ -460,16 +461,17 @@ static __u8 media_tablet_10_6_inch_rdesc_fixed[] = { 0x85, 0x01, /* Report ID (1), */ 0x09, 0x01, /* Usage (Pointer), */ 0xA0, /* Collection (Physical), */ - 0x95, 0x01, /* Report Count (1), */ - 0x75, 0x18, /* Report Size (24), */ + 0x75, 0x08, /* Report Size (8), */ + 0x95, 0x03, /* Report Count (3), */ 0x81, 0x03, /* Input (Constant, Variable), */ - 0x05, 0x01, /* Usage Page (Desktop), */ - 0x09, 0x38, /* Usage (Wheel), */ + 0x95, 0x02, /* Report Count (2), */ 0x15, 0xFF, /* Logical Minimum (-1), */ 0x25, 0x01, /* Logical Maximum (1), */ - 0x75, 0x08, /* Report Size (8), */ + 0x09, 0x38, /* Usage (Wheel), */ + 0x0B, 0x38, 0x02, /* Usage (Consumer AC Pan), */ + 0x0C, 0x00, 0x81, 0x06, /* Input (Variable, Relative), */ - 0x75, 0x18, /* Report Size (24), */ + 0x95, 0x02, /* Report Count (2), */ 0x81, 0x03, /* Input (Constant, Variable), */ 0xC0, /* End Collection, */ 0xC0, /* End Collection, */ |