Bug 3028 - Invalid events for USB mouse buttons clicks (BTC 8190URF)
Summary: Invalid events for USB mouse buttons clicks (BTC 8190URF)
Status: CLOSED CODE_FIX
Alias: None
Product: Drivers
Classification: Unclassified
Component: Input Devices (show other bugs)
Hardware: i386 Linux
: P2 high
Assignee: Jiri Kosina
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-07-07 11:37 UTC by Artur Frysiak
Modified: 2008-09-24 07:17 UTC (History)
2 users (show)

See Also:
Kernel Version: 2.6.25
Subsystem:
Regression: ---
Bisected commit-id:


Attachments
/proc/bus/input/devices (880 bytes, text/plain)
2004-07-07 11:42 UTC, Artur Frysiak
Details
/proc/bus/usb/devices (976 bytes, text/plain)
2004-07-07 11:44 UTC, Artur Frysiak
Details
keyboard (/dev/input/event2) description by evtest (4.66 KB, text/plain)
2004-07-07 11:49 UTC, Artur Frysiak
Details
mouse (/dev/input/event3) description by evtest (2.09 KB, text/plain)
2004-07-07 11:50 UTC, Artur Frysiak
Details
messages when keyboard is plugged (45.79 KB, text/plain)
2007-09-15 05:50 UTC, Artur Frysiak
Details
moving wheel down (37.79 KB, text/plain)
2007-09-15 05:51 UTC, Artur Frysiak
Details
moving wheel up (13.74 KB, text/plain)
2007-09-15 05:51 UTC, Artur Frysiak
Details
wheel click (6.87 KB, text/plain)
2007-09-15 05:52 UTC, Artur Frysiak
Details
btc 8190 scrollwheel quirk (3.03 KB, patch)
2008-03-04 04:27 UTC, Jiri Kosina
Details | Diff
btc 8190 quirk #2 (2.25 KB, patch)
2008-03-09 07:41 UTC, Jiri Kosina
Details | Diff

Description Artur Frysiak 2004-07-07 11:37:41 UTC
Distribution: PLD Linux
Problem Description:
I have BTC wireless keyboard and mouse kit 8190URF connected to USB port.
Mouse click generated invalid event:
- left mouse button generates 
Event: time 1089224335.637981, type 1 (Key), code 287 (?), value 1
Event: time 1089224335.638057, -------------- Report Sync ------------
Event: time 1089224335.717963, type 1 (Key), code 287 (?), value 0
Event: time 1089224335.718016, -------------- Report Sync ------------
- middle(wheel) mouse button 
Event: time 1089224339.653249, type 1 (Key), code 289 (ThumbBtn), value 1
Event: time 1089224339.653291, -------------- Report Sync ------------
Event: time 1089224339.813219, type 1 (Key), code 289 (ThumbBtn), value 0
Event: time 1089224339.813265, -------------- Report Sync ------------
- right mouse button
Event: time 1089224340.645062, type 1 (Key), code 288 (Trigger), value 1
Event: time 1089224340.645104, -------------- Report Sync ------------
Event: time 1089224340.765037, type 1 (Key), code 288 (Trigger), value 0
Event: time 1089224340.765087, -------------- Report Sync ------------
- mouse wheel rolling generates correct events
Event: time 1089224347.283851, type 2 (Relative), code 8 (Wheel), value 1
Event: time 1089224347.283905, -------------- Report Sync ------------
Event: time 1089224348.571619, type 2 (Relative), code 8 (Wheel), value -1
Event: time 1089224348.571669, -------------- Report Sync ------------
- but second wheel (on keyboard) generates
-- second wheel up
Event: time 1089224694.789241, type 1 (Key), code 275 (SideBtn), value 1
Event: time 1089224694.789248, type 1 (Key), code 275 (SideBtn), value 0
Event: time 1089224694.789254, type 2 (Relative), code 9 (Misc), value 61
Event: time 1089224694.789258, type 2 (Relative), code 10 (?), value 115
Event: time 1089224694.789300, -------------- Report Sync ------------
Event: time 1089224694.813225, type 2 (Relative), code 9 (Misc), value 61
Event: time 1089224694.813242, type 2 (Relative), code 10 (?), value 115
Event: time 1089224694.813284, -------------- Report Sync ------------
-- second wheel down
Event: time 1089224728.143270, type 1 (Key), code 276 (ExtraBtn), value 1
Event: time 1089224728.143283, type 1 (Key), code 276 (ExtraBtn), value 0
Event: time 1089224728.143292, type 2 (Relative), code 9 (Misc), value 61
Event: time 1089224728.143295, type 2 (Relative), code 10 (?), value 115
Event: time 1089224728.143344, -------------- Report Sync ------------
Event: time 1089224728.175206, type 2 (Relative), code 9 (Misc), value 61
Event: time 1089224728.175223, type 2 (Relative), code 10 (?), value 115
Event: time 1089224728.175257, -------------- Report Sync ------------
-- second wheel button
Event: time 1089224770.055671, type 1 (Key), code 274 (MiddleBtn), value 1
Event: time 1089224770.055677, type 1 (Key), code 274 (MiddleBtn), value 0
Event: time 1089224770.055684, type 2 (Relative), code 9 (Misc), value 61
Event: time 1089224770.055687, type 2 (Relative), code 10 (?), value 115
Event: time 1089224770.055728, -------------- Report Sync ------------
Event: time 1089224770.103646, type 2 (Relative), code 9 (Misc), value 61
Event: time 1089224770.103656, type 2 (Relative), code 10 (?), value 115
Event: time 1089224770.103698, -------------- Report Sync ------------
Comment 1 Artur Frysiak 2004-07-07 11:42:19 UTC
Created attachment 3313 [details]
/proc/bus/input/devices
Comment 2 Artur Frysiak 2004-07-07 11:44:11 UTC
Created attachment 3314 [details]
/proc/bus/usb/devices
Comment 3 Artur Frysiak 2004-07-07 11:49:40 UTC
Created attachment 3315 [details]
keyboard (/dev/input/event2) description by evtest
Comment 4 Artur Frysiak 2004-07-07 11:50:47 UTC
Created attachment 3316 [details]
mouse (/dev/input/event3) description by evtest
Comment 5 Artur Frysiak 2004-07-07 11:57:08 UTC
in dmesg I found:
usbcore: registered new driver hiddev
drivers/usb/input/hid-core.c: ctrl urb status -32 received
input: USB HID v1.00 Keyboard [BTC USB Multimedia Cordless Kit  ] on
usb-0000:00:07.2-1
drivers/usb/input/hid-core.c: ctrl urb status -32 received
drivers/usb/input/hid-core.c: ctrl urb status -32 received
drivers/usb/input/hid-core.c: ctrl urb status -32 received
drivers/usb/input/hid-core.c: ctrl urb status -32 received
input,hiddev0: USB HID v1.00 Mouse [BTC USB Multimedia Cordless Kit  ] on
usb-0000:00:07.2-1
usbcore: registered new driver usbhid
drivers/usb/input/hid-core.c: v2.0:USB HID core driver
Comment 6 Artur Frysiak 2004-07-12 15:17:23 UTC
# xxd /dev/usb/hiddev0 
(left button)
0000000: 0100 0900 0100 0000 0100 0900 0000 0000  ................
(middle button)
0000000: 0300 0900 0100 0000 0300 0900 0000 0000  ................
(right button)
0000000: 0200 0900 0100 0000 0200 0900 0000 0000  ................
(wheel up - 2 ticks)
0000000: 3800 0100 0100 0000 3800 0100 0100 0000  8.......8.......
(wheel down - 2 ticks)
0000000: 3800 0100 ffff ffff 3800 0100 ffff ffff  8.......8.......
(2nd wheel up - 1 tick)
0000000: 6e00 00ff 0100 0000 6c00 00ff 3d00 0000  n.......l...=...
0000010: 6d00 00ff 7300 0000 6c00 00ff 3d00 0000  m...s...l...=...
(2nd wheel down - 1 tick)
0000000: 6f00 00ff 0100 0000 6c00 00ff 3d00 0000  o.......l...=...
0000010: 6d00 00ff 7300 0000 6c00 00ff 3d00 0000  m...s...l...=...
(2nd wheel button)
0000000: 6d00 00ff 0100 0000 6c00 00ff 3d00 0000  m.......l...=...
0000010: 6d00 00ff 7300 0000 6c00 00ff 3d00 0000  m...s...l...=...
Comment 7 Natalie Protasevich 2007-09-06 21:00:25 UTC
Hi Artur,
Is the bug still present with recent kernels?
Thanks.
Comment 8 Dmitry Torokhov 2007-09-07 08:15:16 UTC
If it is still present Jiri is better suited to handle this bug.
Comment 9 Artur Frysiak 2007-09-07 12:55:34 UTC
Mouse work OK now. Only wheel on keyboard doesn't work (on event show by evtest). 
Comment 10 Jiri Kosina 2007-09-11 11:19:02 UTC
Could you please

- compile your kernel with CONFIG_HID_DEBUG
- modprobe the usbhid with 'debug=1' parameter

send me the output from the time you connect the keyboard and also when you move the wheel.

Thanks.
Comment 11 Artur Frysiak 2007-09-15 05:50:52 UTC
Created attachment 12830 [details]
messages when keyboard is plugged
Comment 12 Artur Frysiak 2007-09-15 05:51:27 UTC
Created attachment 12831 [details]
moving wheel down
Comment 13 Artur Frysiak 2007-09-15 05:51:47 UTC
Created attachment 12832 [details]
moving wheel up
Comment 14 Artur Frysiak 2007-09-15 05:52:04 UTC
Created attachment 12833 [details]
wheel click
Comment 15 Artur Frysiak 2007-09-15 05:54:02 UTC
I use 2.6.22.6 now.
Comment 16 Jiri Kosina 2007-09-18 05:23:16 UTC
Thanks for the debugging output, Artur.

This is just a regular horizontal wheel, as milions of other mice have, right?

If so, the device is crappy - it doesn't use standardized "horizontal wheel" usage as specified by HID standard, but uses its own in a very non-standard way.

I suspect this mouse requires specialized driver under other operating systems too, right?
Comment 17 Artur Frysiak 2007-09-18 17:56:51 UTC
Hi Jiri,

This is wheel on keyboard, not on mice.
Look: http://www.btc.com.tw/pdf/8190urf_b.pdf
Its near to space bar.

On Windows XP without specialized driver this wheel doesn't work.
Comment 18 Jiri Kosina 2007-09-19 06:03:44 UTC
What behavior does this wheel have on Windows? On some keyboards, wheels such as this one are used to ZoomIn/ZoomOut. Is this also the case, or is usual scrollwheel behavior expected?
Comment 19 Artur Frysiak 2007-09-19 10:44:16 UTC
Its configurable:
 - Scroll Up/Down
 - Volume Up/Down
 - WWW Back/Forward
 - Previous/Next Track
Comment 20 Natalie Protasevich 2008-03-03 21:36:30 UTC
Any update on this bug?
Thanks.
Comment 21 Jiri Kosina 2008-03-04 04:27:45 UTC
Created attachment 15137 [details]
btc 8190 scrollwheel quirk

Could you please test this patch (against 2.6.25-rcX) and report back whether it makes your scrollwheel work? Thanks.
Comment 22 Artur Frysiak 2008-03-09 03:19:30 UTC
2.6.25-rc3 + your patch: wheel up works, wheel down not.

Now I recompile kernel with CONFIG_HID_DEBUG.
Comment 23 Jiri Kosina 2008-03-09 07:41:43 UTC
Created attachment 15189 [details]
btc 8190 quirk #2

Yes, the previous patch had bug in it, sorry.
Please try this one. Thanks.

Note You need to log in before you can comment on or make changes to this bug.