Ubuntu

Logitech Cordless Wave Pro key mappings incorrect

Reported by Martin Meredith on 2010-06-10
22
This bug affects 3 people
Affects Status Importance Assigned to Milestone
udev (Ubuntu)
Undecided
Martin Pitt
Lucid
Undecided
Martin Pitt
Maverick
Undecided
Martin Pitt

Bug Description

Binary package hint: udev

On the Logitech Cordless Wave Pro, the "Camera" button is being detected as

scan code: 0xC01B6 key code: media

The "Music" button is being detected as

scan code: 0xC0183 key code: config

The following keys are not being picked up by

sudo /lib/udev/keymap -i input/event6

- "Config" (hot key - window with cog)
- "Media Center" (hotkey)
- "Battery" (fn+f11)
- "a" (fn+f4)
- "b" (fn +f5)
- "c" (fn+f6)
- "cascade" (hot key - under zoom buttons)

Other keys are being picked up correctly by the above, but not being picked up by X - which I believe is related to

http://bugs.freedesktop.org/show_bug.cgi?id=11227

ProblemType: Bug
DistroRelease: Ubuntu 10.04
Package: udev 151-12
ProcVersionSignature: Ubuntu 2.6.32-22.36-generic 2.6.32.11+drm33.2
Uname: Linux 2.6.32-22-generic x86_64
NonfreeKernelModules: nvidia
Architecture: amd64
Date: Thu Jun 10 19:18:19 2010
InstallationMedia: Ubuntu 10.04 LTS "Lucid Lynx" - Release amd64 (20100429)
MachineType: Dell Inc. Inspiron 570
ProcCmdLine: BOOT_IMAGE=/boot/vmlinuz-2.6.32-22-generic root=UUID=af052862-f4a2-471c-a10d-278646f71d4f ro quiet splash
ProcEnviron:
 LANG=en_GB.utf8
 SHELL=/bin/zsh
SourcePackage: udev
dmi.bios.date: 01/25/2010
dmi.bios.vendor: Dell Inc.
dmi.bios.version: A01
dmi.board.name: 04GJJT
dmi.board.vendor: Dell Inc.
dmi.board.version: A00
dmi.chassis.type: 3
dmi.chassis.vendor: Dell Inc.
dmi.chassis.version: Not Specified
dmi.modalias: dmi:bvnDellInc.:bvrA01:bd01/25/2010:svnDellInc.:pnInspiron570:pvr00:rvnDellInc.:rn04GJJT:rvrA00:cvnDellInc.:ct3:cvrNotSpecified:
dmi.product.name: Inspiron 570
dmi.product.version: 00
dmi.sys.vendor: Dell Inc.
---
Architecture: amd64
DistroRelease: Ubuntu 10.04
InstallationMedia: Ubuntu 10.04 LTS "Lucid Lynx" - Release amd64 (20100429)
MachineType: Dell Inc. Inspiron 570
NonfreeKernelModules: nvidia
Package: udev 151-12 [modified: lib/udev/rules.d/95-keymap.rules]
PackageArchitecture: amd64
ProcCmdLine: BOOT_IMAGE=/boot/vmlinuz-2.6.32-22-generic root=UUID=af052862-f4a2-471c-a10d-278646f71d4f ro quiet splash
ProcEnviron:
 LANG=en_GB.utf8
 SHELL=/bin/zsh
ProcVersionSignature: Ubuntu 2.6.32-22.36-generic 2.6.32.11+drm33.2
Tags: lucid
Uname: Linux 2.6.32-22-generic x86_64
UserGroups: adm admin cdrom dialout lpadmin plugdev sambashare
dmi.bios.date: 01/25/2010
dmi.bios.vendor: Dell Inc.
dmi.bios.version: A01
dmi.board.name: 04GJJT
dmi.board.vendor: Dell Inc.
dmi.board.version: A00
dmi.chassis.type: 3
dmi.chassis.vendor: Dell Inc.
dmi.chassis.version: Not Specified
dmi.modalias: dmi:bvnDellInc.:bvrA01:bd01/25/2010:svnDellInc.:pnInspiron570:pvr00:rvnDellInc.:rn04GJJT:rvrA00:cvnDellInc.:ct3:cvrNotSpecified:
dmi.product.name: Inspiron 570
dmi.product.version: 00
dmi.sys.vendor: Dell Inc.

Martin Meredith (mez) wrote :
Martin Meredith (mez) wrote :

https://bugs.edge.launchpad.net/ubuntu/+source/udev/+bug/215035 was the bug where the wave cordless (non pro) was fixed.

Martin Pitt (pitti) on 2010-06-11
Changed in udev (Ubuntu):
status: New → In Progress
assignee: nobody → Martin Pitt (pitti)
Martin Pitt (pitti) wrote :

Please note that event6 was the mouse part, not the keyboard part (at least when you did the udevdb.txt attachment). event3 was the correct device in that run, which should have the scan/keycodes for "Config", "Battery", and so on.

I'm a bit confused why the "Music" key (0xC0183) doesn't work, since it's already in the map for the wave cordless.

Please figure out the correct event key for the USB keyboard in your current boot (it might change across boots) and then give me the output of

  udevadm info --attribute-walk --path=/class/input/event3
  udevadm test /class/input/event3

Please replace "event3" with the correct number.

Thanks!

Changed in udev (Ubuntu):
status: In Progress → Incomplete
Martin Meredith (mez) wrote :

mez@apathy % /lib/udev/findkeyboards /home/mez 11:16PM
USB keyboard: input/event3

Running

sudo /lib/udev/keymap -i input/event3

detected normal keypresses, but none of the hotkeys, which are being reported on event4

mez@apathy % ls /dev/input/by-id -l /home/mez 11:19PM
total 0
lrwxrwxrwx 1 root root 9 2010-06-22 23:17 usb-Logitech_USB_Receiver-event-kbd -> ../event3
lrwxrwxrwx 1 root root 9 2010-06-21 23:43 usb-Logitech_USB_Receiver-event-mouse -> ../event4
lrwxrwxrwx 1 root root 9 2010-06-21 23:43 usb-Logitech_USB_Receiver-mouse -> ../mouse1

Output from above commands follow as attachments

Martin Meredith (mez) wrote :
Martin Meredith (mez) wrote :
Martin Pitt (pitti) wrote :

Ah, thanks. So if they appear on event4, that explains why the current rules do not match. Can you please do the udevadm test and query commands for event4 as well?

Martin Meredith (mez) wrote :
Martin Meredith (mez) wrote :
Martin Meredith (mez) wrote :
Martin Meredith (mez) wrote :

didn't mean to add info twice - but as attached.

Martin Meredith (mez) on 2010-06-28
Changed in udev (Ubuntu):
status: Incomplete → New
Martin Pitt (pitti) wrote :

Thanks Martin. Can you please replace /lib/udev/rules.d/95-keymap.rules with the version attached and check whether the "Music" key works now? (It doesn't fix the other missing keys yet)

apport information

tags: added: apport-collected
description: updated

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

Martin Meredith (mez) wrote :

The buttons that were detected in my first post work, but were being detected as the wrong thing... It's still the same now

Martin Meredith (mez) wrote :

Sorry, let me rephrase that.

My initial bug was that the key "Music" was being detected as "config" and the key "camera" was being detected as "media".

All other keys are being picked up correctly by the kernel, but have a high keycode, so are unusable by X

The following keys are not being detected whatsoever:-

- "Config" (hot key - window with cog)
- "Media Center" (hotkey)
- "Battery" (fn+f11)
- "a" (fn+f4)
- "b" (fn +f5)
- "c" (fn+f6)
- "cascade" (hot key - under zoom buttons)

Martin Pitt (pitti) wrote :

> My initial bug was that the key "Music" was being detected as "config" and the key "camera" was being detected as "media".

Right, and I hoped that my updated udev rules would fix the Music key. Lucid's udev rules do not match the "mouse" part of the keyboard, and my updated rules ought to. It should apply the cordless wave rules (which already assign the "media" key code to the 0xC0183 scan code) to the mouse part and thus should have made this particular key work. As I said I did not yet fix the camera key.

I just checked again, and it seems I mistyped. It should have been vendor ID "046d", not "0461". Can you please replace

  ENV{ID_VENDOR_ID}=="0461"

with

  ENV{ID_VENDOR_ID}=="046d"

in line 25 of 95-keymap.rules and try again? (Unplugging/replugging the receiver from the computer should be sufficient).

> All other keys are being picked up correctly by the kernel [...]
> The following keys are not being detected whatsoever:-

So this is slightly contradictory, and thus confusing. Are these keys detected with correct keycodes (just not under X) or not?

Martijn Bastiaan (hmb1) wrote :

I can confirm this bug with the same Logitech keyboard (wired).

Changed in udev (Ubuntu):
status: New → Confirmed

Martijn Bastiaan [2010-06-29 10:36 -0000]:
> I can confirm this bug with the same Logitech keyboard (wired).

Please file a separate bug, since it will need a separate rule. A
wired keyboard almost certainly does not have this "Logitech IR
receiver" which we need to match on in _this_ bug.

Martin Meredith (mez) wrote :

The keys:

- "Config" (hot key - window with cog)
- "Media Center" (hotkey)
- "Battery" (fn+f11)
- "a" (fn+f4)
- "b" (fn +f5)
- "c" (fn+f6)
- "cascade" (hot key - under zoom buttons)

Are not being picked up with the kernel

the "camera" button is still being picked up as "media" and the music button is being picked up as "config"

This is after running

sudo udevadm control --reload-rules

And unplugging/replugging USB receiver.

I believe the line

ENV{ID_VENDOR}=="Logitech*", ATTRS{name}=="Logitech USB Receiver", RUN+="keymap $name logitech-wave-cordless"

That was already there would have matched against the keyboard?

Martin Meredith (mez) wrote :

Running a test on it gives as the last line

udevadm_test: run: 'keymap input/event4 logitech-wave-cordless'

Martin Meredith (mez) wrote :

udev_rules_apply_to_event: RUN 'keymap $name logitech-wave-cordless' /lib/udev/rules.d/95-keymap.rules:23
udev_rules_apply_to_event: RUN 'keymap $name logitech-wave-cordless' /lib/udev/rules.d/95-keymap.rules:25

Martin Meredith (mez) wrote :

mez@apathy % sudo /lib/udev/keymap -i input/event4 /home/mez 12:43AM
Press ESC to finish
scan code: 0xC0183 key code: config

Martin Meredith (mez) wrote :

(sorry, the first line ends in event4 - the rest is my rprompt

Martin Meredith (mez) wrote :

Hmmm .... I tried manually setting some of it, and that worked...

mez@apathy % sudo /lib/udev/keymap input/event4 0xC0183 media
setting scancode 0xC0183 to key code 226

It then picked up the key correctly.

However, when I've tried the other keys....

mez@apathy % sudo /lib/udev/keymap input/event4 0xD4 zoomin
EVIOCSKEYCODE: Invalid argument
setting scancode 0xD4 to key code 418 failed
mez@apathy % sudo /lib/udev/keymap input/event4 0xCC zoomout
EVIOCSKEYCODE: Invalid argument
setting scancode 0xCC to key code 419 failed
mez@apathy % sudo /lib/udev/keymap input/event4 0xC0183 media
setting scancode 0xC0183 to key code 226
mez@apathy % sudo /lib/udev/keymap input/event4 0xC1005 camera
EVIOCSKEYCODE: Invalid argument
setting scancode 0xC1005 to key code 212 failed
mez@apathy % sudo /lib/udev/keymap input/event4 0xC101F zoomout
EVIOCSKEYCODE: Invalid argument
setting scancode 0xC101F to key code 419 failed
mez@apathy % sudo /lib/udev/keymap input/event4 0xC1020 zoomin
EVIOCSKEYCODE: Invalid argument
setting scancode 0xC1020 to key code 418 failed
mez@apathy % sudo /lib/udev/keymap input/event4 0xC1041 wordprocessor
EVIOCSKEYCODE: Invalid argument
setting scancode 0xC1041 to key code 421 failed
mez@apathy % sudo /lib/udev/keymap input/event4 0xC1042 spreadsheet
EVIOCSKEYCODE: Invalid argument
setting scancode 0xC1042 to key code 423 failed
mez@apathy % sudo /lib/udev/keymap input/event4 0xC1043 calendar
EVIOCSKEYCODE: Invalid argument
setting scancode 0xC1043 to key code 397 failed
mez@apathy % sudo /lib/udev/keymap input/event4 0xC1044 prog2
EVIOCSKEYCODE: Invalid argument
setting scancode 0xC1044 to key code 149 failed
mez@apathy % sudo /lib/udev/keymap input/event4 0xC1045 prog3
EVIOCSKEYCODE: Invalid argument
setting scancode 0xC1045 to key code 202 failed
mez@apathy % sudo /lib/udev/keymap input/event4 0xC1046 prog4
EVIOCSKEYCODE: Invalid argument
setting scancode 0xC1046 to key code 203 failed
mez@apathy % sudo /lib/udev/keymap input/event4 0xC1048 messenger
EVIOCSKEYCODE: Invalid argument
setting scancode 0xC1048 to key code 430 failed
mez@apathy % sudo /lib/udev/keymap input/event4 0xC104A find
EVIOCSKEYCODE: Invalid argument
setting scancode 0xC104A to key code 136 failed
mez@apathy % sudo /lib/udev/keymap input/event4 0xC104C ejectclosecd
EVIOCSKEYCODE: Invalid argument
setting scancode 0xC104C to key code 162 failed

So, it looks like, for some reason, the incorrect keymaps in the logitech-wave-cordless are causing issues...

Martin Meredith (mez) wrote :

The folllowing is a keymap for the extra function keys that it detects, however, some keys (as listed above) are not being detected by the kernel

0xC01B6 camera
0xC0183 media
0xC0184 wordprocessor
0xC0186 spreadsheet
0xC018E calendar
0xC0223 homepage
0xC01BC messenger
0xC018A mail
0xC0221 search
0xC00B8 ejectcd
0xC022D zoomin
0xC022E zoomout

Martin Pitt (pitti) wrote :

OK, thanks. Please put this file into /lib/udev/keymaps ...

Martin Pitt (pitti) wrote :

.. and this file into /lib/udev/rules.d/

How does it work now?

Martin Meredith (mez) wrote :

Works fine once I change the Vendor id to 046D instead of 0461 ;)

Martin Pitt (pitti) wrote :

Ugh, again, silly me...

Fix committed upstream to

  http://git.kernel.org/?p=linux/hotplug/udev.git;a=commitdiff;h=0fade61274497b874a7446fdd35bb7e1f5856f08

Thanks for testing!

Changed in udev (Ubuntu):
status: Confirmed → Fix Committed
Martin Pitt (pitti) on 2010-08-20
Changed in udev (Ubuntu Lucid):
assignee: nobody → Martin Pitt (pitti)
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package udev - 161+git20100820-1

---------------
udev (161+git20100820-1) maverick; urgency=low

  * New upstream release 161, plus fixes from git head: (LP: #620977)
    - udevadm trigger now defaults to change instead of add.
    - modem modeswitch removed, use usb_modeswitch instead (see LP #521578)
    - NAME= now ignored
    - udevd creates device nodes itself on startup based on modules.udevname
    - default device permission is 0600
    - lots of bug fixes
    - updated keymaps (LP: #271706, #554066, #569815, #592371)
    - update udev(7) to point out naming of rules files (LP: #616108)
    - cdrom_id: fix media state detection of DVD-RW/DVD+RWs (LP: #581925)
    - cdrom_id: fix media state detection on older hardware (LP: #502143)
  * debian/libudev0.symbols: Add new symbols from upstream version.
  * debian/udev.initramfs-hook: Drop 64-device-mapper.rules, it was removed
    upstream.
  * debian/control: Drop obsolete (pre-lucid) Breaks and Conflicts.
  * debian/rules: Replace obsolete dh_clean -k with dh_prep.
  * debian/control: Slightly more generously version libselinux1-dev build
    dependency (thanks lintian).
  * debian/control: Replace obsolete ${Source-Version} with ${binary:Version}.
  * debian/control: Update Standards-Version to 3.9.1.
  * debian/control: Add Homepage field.
 -- Martin Pitt <email address hidden> Sat, 21 Aug 2010 10:07:44 +0200

Changed in udev (Ubuntu Maverick):
status: Fix Committed → Fix Released

Accepted udev into lucid-proposed, the package will build now and be available in a few hours. Please test and give feedback here. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you in advance!

Changed in udev (Ubuntu Lucid):
status: New → Fix Committed
tags: added: verification-needed
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package udev - 151-12.1

---------------
udev (151-12.1) lucid-proposed; urgency=low

  * Pull latest keymaps from trunk. These include the following LP bugs:
    - Toshiba Satellite U300 volume keys (LP: #271706)
    - Samsung N220 and many other models (LP: #554066)
    - Acer travelmate 4720 (LP: #569815)
    - Logitech Cordless Wave Pro (LP: #592371)
 -- Martin Pitt <email address hidden> Fri, 20 Aug 2010 15:33:57 +0200

Changed in udev (Ubuntu Lucid):
status: Fix Committed → Fix Released

I have this problem in 12.04.

I use Logitech Cordless Wave Pro and mouse MX1100 (http://www.logitech.com/pl-pl/support/keyboard-mice-combos/4677).
When I want to set new shortcuts in System Settings -> Keyboard -> Shortcuts all the extra keys are undetectable.

My keymaps file is the same like in #34 https://bugs.launchpad.net/ubuntu/+source/udev/+bug/592371/comments/34
and 95-keymap-rules file entry for this keyboard is also the same:

ENV{ID_VENDOR_ID}=="046d", ENV{ID_MODEL_ID}=="c52[9b]", ATTRS{name}=="Logitech USB Receiver", RUN+="keymap $name logitech-wave-pro-cordless"

only model id is "c52[9b]" instead of "c529" like in previous comment #36.

>lsusb:
...
Bus 001 Device 009: ID 046d:c529 Logitech, Inc. diNovo Keyboard for notebooks

>ls /dev/input/by-id -l /home/user [ruby-1.9.2-p318]
/dev/input/by-id:
total 0
lrwxrwxrwx 1 root root 9 lip 13 20:41 usb-Logitech_USB_Receiver-event-kbd -> ../event5
lrwxrwxrwx 1 root root 9 lip 13 20:41 usb-Logitech_USB_Receiver-event-mouse -> ../event6
lrwxrwxrwx 1 root root 9 lip 13 20:41 usb-Logitech_USB_Receiver-if01-event-mouse -> ../event6
lrwxrwxrwx 1 root root 9 lip 13 14:07 usb-Logitech_USB_Receiver-if01-mouse -> ../mouse0
lrwxrwxrwx 1 root root 9 lip 13 14:07 usb-Logitech_USB_Receiver-mouse -> ../mouse0

To post a comment you must log in.