zoom-plus, zoom-minus keys not mapped correctly for logitech s510 keyboard

Bug #259244 reported by jbowden
8
Affects Status Importance Assigned to Milestone
udev (Ubuntu)
Fix Released
Medium
Martin Pitt

Bug Description

Binary package hint: xkeyboard-config

Some of the "extra" keys on a Logitech s510 keyboard are not recognized. These keys are: Rotate, Zoom-Plus, Zoom-Neg, 100%, Shuffle. They produce no output in a terminal, in xev, or in the GNOME keyboard shortcut control-center applet.

The keyboard is configured as an evdev-managed keyboard. This is Intrepid 8.10 Alpha 4, kernel 2.6.26-5-generic. The keyboard usb id is 046d:c513.

"lspci -vvnn", "setxkbmap -print", "xkbcomp :0 -" are attached.

Related branches

Revision history for this message
jbowden (julietdeltabravo-deactivatedaccount-deactivatedaccount) wrote :
Revision history for this message
jbowden (julietdeltabravo-deactivatedaccount-deactivatedaccount) wrote :
Revision history for this message
jbowden (julietdeltabravo-deactivatedaccount-deactivatedaccount) wrote :
description: updated
Revision history for this message
Bryce Harrington (bryce) wrote : Re: Some hotkeys not working for logitech s510 keyboard

Please refer to https://wiki.ubuntu.com/Hotkeys/ (esp. the Troubleshooting sub-page) for assistance in troubleshooting hotkey issues. Report back here with relevant debug output that helps pinpoint the source of the problem.

Changed in xkeyboard-config:
status: New → Incomplete
Revision history for this message
jbowden (julietdeltabravo-deactivatedaccount-deactivatedaccount) wrote :

Since the first post of the bug, all keys now work, except for:

The Zoom-plus and Zoom-minus don't generate keycodes or keysyms.

xev outputs a KeymapNotify event.
showkey -s outputs on Zoom-plus "0xe0 0x54 0xe0 0xd4".
showkey -s outputs on Zoom-minus "0xe0 0x4c 0xe0 0xcc".

gnome-power-manager seems to detect the keys as brightness-up/-down, assigns a keysym. While gnome's keyboard shortcut manager recognizes and lets me assign these shortcuts, they don't actually work.

This is on ubuntu 8.10, kernel 2.6.27-10-generic

Revision history for this message
jbowden (julietdeltabravo-deactivatedaccount-deactivatedaccount) wrote :
Revision history for this message
jbowden (julietdeltabravo-deactivatedaccount-deactivatedaccount) wrote :
Revision history for this message
jbowden (julietdeltabravo-deactivatedaccount-deactivatedaccount) wrote :
Revision history for this message
jbowden (julietdeltabravo-deactivatedaccount-deactivatedaccount) wrote :
Revision history for this message
Steve Langasek (vorlon) wrote :

Reassigning to udev, since keymaps are handled in /lib/udev/keymaps for Ubuntu 9.10.

Please note that the zoom-plus and zoom-minus keys will /not/ be visible as X keysyms, because their keycodes are mapped above 255 in evdev and X has a protocol limit on the number of keysyms it can handle; so xev will not help with debugging this.

$ grep -i zoom /usr/include/linux/input.h
#define KEY_ZOOM 0x174
#define KEY_ZOOMIN 0x1a2 /* AC Zoom In */
#define KEY_ZOOMOUT 0x1a3 /* AC Zoom Out */
#define KEY_ZOOMRESET 0x1a4 /* AC Zoom */
$ grep -i shuffle /usr/include/linux/input.h
#define KEY_SHUFFLE 0x19a
$

However, we should certainly fix it so that the zoom keys do *not* register as brightness up/down keys.

Can you please provide the output of 'lsusb -v' for this system? That should be the last piece of information needed in order to have these keys mapped correctly by default.

For more information about keymapping in udev, see /usr/share/doc/udev/README.keymap.txt.

affects: hotkey-setup (Ubuntu) → udev (Ubuntu)
Changed in udev (Ubuntu):
importance: Undecided → Medium
summary: - Some hotkeys not working for logitech s510 keyboard
+ zoom-plus, zoom-minus keys not mapped correctly for logitech s510
+ keyboard
Changed in udev (Ubuntu):
assignee: nobody → Martin Pitt (pitti)
Revision history for this message
Martin Pitt (pitti) wrote :

Thank you for taking the time to report this bug and helping to make Ubuntu better.

Please exercise the steps at https://wiki.ubuntu.com/Hotkeys/Troubleshooting to determine at which level your hotkey problems occur, and attach the collected information. Thanks!

Changed in udev (Ubuntu):
assignee: Martin Pitt (pitti) → nobody
Martin Pitt (pitti)
Changed in udev (Ubuntu):
status: Incomplete → Triaged
assignee: nobody → Martin Pitt (pitti)
Revision history for this message
Martin Pitt (pitti) wrote :

We already have the scan codes in comment 5, but we are still missing an udev dump for identifying the keyboard.

Changed in udev (Ubuntu):
status: Triaged → Incomplete
Revision history for this message
James Cooke (james-jaynne) wrote :

This is the output of lsusb -v on Ubuntu 9.04 Desktop with the Logitech S510 USB. If this isn't what you require let me know what to run.

Revision history for this message
Martin Pitt (pitti) wrote :

James, can you please do

  udevadm info --export-db > /tmp/udev.txt

and attach /tmp/udev.txt here? This is more complete than lsusb. Thanks!

Revision history for this message
James Cooke (james-jaynne) wrote :

Taken from Ubuntu 9.10 2.6.31-16-generic-pae

Revision history for this message
James Cooke (james-jaynne) wrote :

Taken from Ubuntu 9.10 2.6.31-16-generic-pae

Steve Langasek (vorlon)
Changed in udev (Ubuntu):
status: Incomplete → Triaged
Revision history for this message
Martin Pitt (pitti) wrote :

Hm, Logitech keyboards are naughty. Your's identifies exactly like the Logitech Wave Cordless, but apparently has entirely different scancodes.

Can you please download the two attachments that I'll do, and install them with

  sudo cp 95-keymap.rules /lib/udev/rules.d/
  sudo cp logitech-wave-cordless /lib/udev/keymaps

then detach/reattach the keyboard and see if the "unknown scancode" errors disappeared? Please also check with /lib/udev/keymap -i <device> (find out the <device> with "findkeyboards") that the two keys now really produce "zoomin" and "zoomout".

Thanks!

Revision history for this message
Martin Pitt (pitti) wrote :
Changed in udev (Ubuntu):
status: Triaged → Incomplete
Revision history for this message
James Cooke (james-jaynne) wrote :

/lib/udev/findkeyboards reports input/event3 however this only responds to standard keys. event4 provides the multimedia keys and the zoom keys now register correctly in /lib/udev/keymap -i input/event4

Also I've noticed that the skip and fast forward buttons are both recognised as the same key, xev however seems to see a difference between them (below)

The Gnome keyboard shortcuts application however refuses to recognise the zoom keys still, is this todo with their scancode being >255 as was mentioned before and if so is there any way to utilise these keys even if they could be mapped to a keyboard character.

*************FAST FORWARD******************
MappingNotify event, serial 30, synthetic NO, window 0x0,
    request MappingKeyboard, first_keycode 8, count 247

FocusOut event, serial 30, synthetic NO, window 0x3e00001,
    mode NotifyGrab, detail NotifyAncestor

FocusIn event, serial 34, synthetic NO, window 0x3e00001,
    mode NotifyUngrab, detail NotifyAncestor

KeymapNotify event, serial 34, synthetic NO, window 0x0,
    keys: 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
           0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
**********SKIP FORWARD*************
MappingNotify event, serial 33, synthetic NO, window 0x0,
    request MappingKeyboard, first_keycode 8, count 248

MappingNotify event, serial 33, synthetic NO, window 0x0,
    request MappingKeyboard, first_keycode 8, count 247

FocusOut event, serial 33, synthetic NO, window 0x3e00001,
    mode NotifyGrab, detail NotifyAncestor

FocusIn event, serial 35, synthetic NO, window 0x3e00001,
    mode NotifyUngrab, detail NotifyAncestor

KeymapNotify event, serial 35, synthetic NO, window 0x0,
    keys: 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
           0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Revision history for this message
Martin Pitt (pitti) wrote :

> the zoom keys now register correctly in /lib/udev/keymap -i input/event4

Great, thanks for testing.

> Also I've noticed that the skip and fast forward buttons are both recognised as the same key, xev however seems to see a difference between them (below)

Hm, I din't see a significant difference. It just shows that X.org doesn't recognize those keys at all (no KeyPress/KeyRelease events), due to these key codes being > 255.

> is there any way to utilise these keys even if they could be mapped to a keyboard character.

You could change the keymap (/lib/udev/keymaps/logitech-wave-cordless) to assign any other key you like which is smaller than 255. Please see "grep KEY_ /usr/include/linux/input.h" for available keys. To avoid overwriting your changes with the next udev package update, you can create an /etc/udev/rules.d/96-keymap.local with something like

  KERNEL=="event*", ENV{ID_VENDOR}=="Logitech*", ATTRS{name}=="Logitech USB Receiver", RUN+="keymap $name 0xD4 nextsong 0xCC previoussong"

to map the zoom keys to KEY_NEXTSONG/KEY_PREVIOUSSONG (for example).

Revision history for this message
Martin Pitt (pitti) wrote :

Committed upstream in rev db05f93

Changed in udev (Ubuntu):
status: Incomplete → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

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

---------------
udev (151-1) lucid; urgency=low

  * New upstream release:
    - Support for systems with SYSFS_DEPRECATED=y officially dropped.
    - Bug fixes.
    - Rules updates. LP: #492657, #316215, #259244, #250732.

  * Merge additional fixes from GIT master:
    - Rules updates. LP: #581496, #415023.
    - Fix firmware error reporting.
 -- Scott James Remnant <email address hidden> Wed, 10 Feb 2010 11:50:56 +0000

Changed in udev (Ubuntu):
status: Fix Committed → Fix Released
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.