Summary: | Scrolling problems due to Logitech mouse also presenting as keyboard | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | xorg | Reporter: | Ambroz Bizjak <ambrop7> | ||||||
Component: | Input/evdev | Assignee: | Peter Hutterer <peter.hutterer> | ||||||
Status: | RESOLVED WONTFIX | QA Contact: | Xorg Project Team <xorg-team> | ||||||
Severity: | normal | ||||||||
Priority: | medium | CC: | peter.hutterer | ||||||
Version: | unspecified | ||||||||
Hardware: | x86-64 (AMD64) | ||||||||
OS: | Linux (All) | ||||||||
Whiteboard: | |||||||||
i915 platform: | i915 features: | ||||||||
Attachments: |
|
Description
Ambroz Bizjak
2016-08-27 20:34:53 UTC
Note, I suspect what's causing the device-changed events is that the "keyboard mouse" is temporarily being made the "current pointer device" each time that it emits an event, but the corresponding device-changed event does not reach client (presumably because it is filtered out). So the client only sees device-changed events when the "current pointer device" is corrected back to an actual mouse. run evemu-record against the device node(s) and attach the output here please, thanks. Created attachment 126080 [details]
evemu output for the mouse node
Created attachment 126081 [details]
evemu output for the keyboard node
These two attachments are evemu outputs for the mouse and keyboard event nodes of the mouse respectively:
/dev/input/by-id/usb-Logitech_Gaming_Mouse_G300-event-mouse
/dev/input/by-id/usb-Logitech_Gaming_Mouse_G300-if01-event-kbd
During the trace, I did the following:
- Pressed LMB and released LMB.
- Scrolled down two times.
- Scrolled up two times.
In the second trace the events correspond to:
LMB pressed:
E: 0.000001 0003 0028 0001 # EV_ABS / ABS_MISC 1
LMB released:
E: 0.154035 0003 0028 0000 # EV_ABS / ABS_MISC 0
Scroll down twice:
(no events)
First scroll up:
E: 3.832100 0003 002a 0001 # EV_ABS / (null) 1
Second scroll up:
(no events)
Note that evemu-record fails to resolve the event code for that last code, just says (null). The actual code is 42.
For anyone who has the problem, a workaround is to add this to xorg configuration: Section "InputClass" Identifier "Ignore keyboard mouse device" MatchIsKeyboard "on" MatchProduct "Logitech Gaming Mouse G300" Option "Ignore" "on" EndSection fwiw, libinput doesn't have this problem, it ignores those events correctly. For evdev the fix is trickier as it's a fairly simple stupid driver. evdev is also in maintenance mode and will be replaced with libinput over time so any specialised device handling will focus on libinput. Since there's a simple workaround with the above snippet I'm going to close this as WONTFIX, sorry. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.