[regression] Pointer events ignored if 'Buttons' events exist on the same /dev/input device (Logitech MX 700 keyboard)

Bug #39509 reported by Rob Hughes
12
Affects Status Importance Assigned to Milestone
xserver-xorg-input-evdev (Ubuntu)
Invalid
Medium
Unassigned

Bug Description

The standard keys work. But the extended (multimedia) keys don't produce any keycodes in either xev or events in evtest when run against the correct /dev/input/event device. This all worked fine in hoary. And since even evtest doesn't produce codes, I'm guessing that this is a kernel issue, not usb or xorg.

Revision history for this message
Rob Hughes (rob-robhughes) wrote :

I'm not using hotkeys. And on further investigation, these key codes are coming through the mouse event interface, but not when I'm in X. If I'm in the console, I can see the events through the mouse event interface. And again, hotkeys is in no way involved in this. This is a kernel and/or udev issue.

Revision history for this message
Rob Hughes (rob-robhughes) wrote :

Actually, this needs to move to xorg. I found the root problem. Xorg is trying to be smarter than the user. When I set up my udev rules to allow both mouse and keyboard events to come through the same symlinked event interface, xorg sees the keys on the mouse device and sets it up as a keyboard device. This, of course, causes xorg to fail to start since xorg then doesn't have a core pointer.

And if you're wondering why anyone in their right mind would want both keyboard and mouse events to come through the same event interface, try installing a logitech mx 3100 combo set (mx 700 kb + mx 1000 mouse). This is the only way to make the extended keys work.

Since it worked in hoary, there should be a way to make all this work in dapper.

Revision history for this message
Paul Sladen (sladen) wrote : Re: [regression] Pointer and Button events ignored on the same /dev/input device (Logitech MX 700 keyboard)

Hi Rob, could you list all the "changes you made to udev" and exactly what set of symlinks you have setup to enable a workaround.

Changed in hotkey-setup:
status: Unconfirmed → Confirmed
Revision history for this message
Rob Hughes (rob-robhughes) wrote :

This is how I have my udev rules set up. It's not really a work around. I followed a how-to I found on linux-gamers.net for setting up a mx-1000.

/etc/udev/rules.d
# cat 01_logitech.rules
KERNEL="event*", SYSFS{idVendor}="046d", SYSFS{idProduct}="c512" NAME="input/event-mx3100" SYMLINK="input/%k"
KERNEL="mouse*", SYSFS{idVendor}="046d", SYSFS{idProduct}="c512" NAME="input/event-mx3100" SYMLINK="input/%k"
KERNEL="event*", SYSFS{idVendor}="046d", SYSFS{idProduct}="c041" NAME="input/event-g5" SYMLINK="input/%k"
KERNEL="mouse*", SYSFS{idVendor}="046d", SYSFS{idProduct}="c041" NAME="input/event-g5" SYMLINK="input/%k"

Which gives:
ls -l /dev/input/
total 0
crw-rw---- 1 root root 13, 64 2006-04-24 12:28 event0
crw-rw---- 1 root root 13, 65 2006-04-24 12:29 event1
lrwxrwxrwx 1 root root 8 2024-04-24 17:28 event2 -> event-g5
crw-rw---- 1 root root 13, 67 2006-04-24 12:29 event3
crw-rw---- 1 root root 13, 68 2006-04-24 12:29 event4
crw-rw---- 1 root root 13, 69 2024-04-24 17:28 event5
lrwxrwxrwx 1 root root 12 2006-04-24 12:29 event6 -> event-mx3100
lrwxrwxrwx 1 root root 12 2006-04-24 12:29 event7 -> event-mx3100
crw-rw---- 1 root root 13, 66 2024-04-24 17:28 event-g5
crw-rw---- 1 root root 13, 71 2006-04-24 12:29 event-mx3100
crw-rw---- 1 root plugdev 13, 0 2006-04-24 12:29 js0
crw-rw---- 1 root root 13, 63 2006-04-24 12:28 mice
lrwxrwxrwx 1 root root 8 2024-04-24 17:28 mouse0 -> event-g5
crw-rw---- 1 root root 13, 33 2024-04-24 17:28 mouse1
lrwxrwxrwx 1 root root 12 2006-04-24 12:29 mouse2 -> event-mx3100
crw-rw---- 1 root root 13, 128 2024-04-24 17:28 ts0
crw-rw---- 1 root root 13, 129 2024-04-24 17:28 ts1
crw-rw---- 1 root root 13, 130 2006-04-24 12:29 ts2

When I use this, xorg reports that the mx 1000 mouse (the mx 3100 combo is a mx 1000 mouse and a lx 700 keyboard feeding into a single dual-channel receiver) lacks corepointer capability.

Also, it should be noted that without my udev rules, the g5 mouse is mapped to event1 and the mx 1000 is mapped to event5.

I also found something else; if I use a different mouse as the corepointer, then X starts and I see the extended buttons from the keyboard. But these event numbers are getting mapped to bizarre keycodes that are completely different than what they got mapped to under hoary. Many of the extended keys map to various punctuation, letter and number keys. This is very strange and it's quite possible that I still don't fully understand what's going on here.

Revision history for this message
Timo Aaltonen (tjaalton) wrote :

Please test with Feisty, which as of today has version 1.1.5 of the driver.

Changed in xserver-xorg-input-evdev:
status: Confirmed → Needs Info
Revision history for this message
Rob Hughes (rob-robhughes) wrote :

I'm working on getting this tested. My old udev rules don't work, and the new ones I tried writing don't work either. Once I get past that, then I'll finish the test and report.

Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for xserver-xorg-input-evdev (Ubuntu) because there has been no activity for 60 days.]

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.