I have a Logitech Cordless Desktop LX-300 which, among many other buttons, has a Raise/Lower Volume pair on it. My installed X server is 7.0, personally compiled modular build, but in order to make the "multimedia" keys work I got the latest CVS copy of xkbdesc and replaced share/X11/xkb in the X tree with its files. Thus, the keyboard descriptions (which is all that concerns us here) are all latest CVS. I configured the keyboard according to docs/README.config in the xkbdesc source tree, and it worked...except for the raise-volume key. The lower-volume key worked, but the raise-volume key did nothing. Testing with xev produced the following data for both of them: raise-volume key: KeyPress event, serial 30, synthetic NO, window 0x2c00001, root 0x4d, subw 0x0, time 4022743747, (26,-90), root:(868,457), state 0x10, keycode 176 (keysym 0x1008ff13, XF86AudioRaiseVolume), same_screen YES, XKeysymToKeycode returns keycode: 175 XLookupString gives 0 bytes: XmbLookupString gives 0 bytes: XFilterEvent returns: False KeyRelease event, serial 30, synthetic NO, window 0x2c00001, root 0x4d, subw 0x0, time 4022743906, (26,-90), root:(868,457), state 0x10, keycode 176 (keysym 0x1008ff13, XF86AudioRaiseVolume), same_screen YES, XKeysymToKeycode returns keycode: 175 XLookupString gives 0 bytes: lower-volume key: FocusOut event, serial 30, synthetic NO, window 0x2c00001, mode NotifyGrab, detail NotifyAncestor FocusIn event, serial 30, synthetic NO, window 0x2c00001, mode NotifyUngrab, detail NotifyAncestor KeymapNotify event, serial 30, synthetic NO, window 0x0, keys: 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 64 0 0 0 0 0 0 0 0 0 0 KeyRelease event, serial 30, synthetic NO, window 0x2c00001, root 0x4d, subw 0x0, time 4022747806, (26,-90), root:(868,457), state 0x10, keycode 174 (keysym 0x1008ff11, XF86AudioLowerVolume), same_screen YES, XLookupString gives 0 bytes: The correctly-operating lower-volume key, XF86AudioLowerVolume, also displays a volume bar in a transient window, hence the Focus events. Notice that the raise-volume key is recognized but does not generate a KeymapNotify event, but merely a KeyPress event. More interestingly, note the two-line excerpt: state 0x10, keycode 176 (keysym 0x1008ff13, XF86AudioRaiseVolume), same_screen YES, XKeysymToKeycode returns keycode: 175 It appears that the keypress does not dereference to the same code that generated it. I did some research and found the following gem within share/X11/xkb/symbols/inet (in the X tree): // Logitech common definitions partial hidden alphanumeric_keys xkb_symbols "logitech_base" { key <I01> { [ XF86AudioMedia ] }; key <I02> { [ XF86WWW ] }; key <I10> { [ XF86AudioPrev ] }; key <I15> { [ XF86Community ] }; key <I16> { [ XF86ScrollClick ] }; key <I19> { [ XF86AudioNext ] }; key <I20> { [ XF86AudioMute ] }; key <I21> { [ XF86VendorHome ] }; key <I22> { [ XF86AudioPlay, XF86AudioPause ] }; key <I24> { [ XF86AudioStop ] }; key <I2E> { [ XF86AudioLowerVolume ] }; key <I2F> { [ XF86AudioRaiseVolume ] }; key <I30> { [ XF86AudioRaiseVolume ] }; key <I32> { [ XF86HomePage ] }; key <I3B> { [ XF86New ] }; ... // Logitech Cordless Desktop LX-300 partial alphanumeric_keys xkb_symbols "logiclx300" { include "inet(logitech_base)" key <I21> { [ XF86Calculator ] }; }; XF86AudioRaiseVolume is defined twice. Unfortunately, my keyboard sends keycode 176 when this button is pressed, and somehow the duplicate definition at 175 confuses X. I have a fix as well: xmodmap -e "keycode 175 = " Then everything works.
*** This bug has been marked as a duplicate of 7075 ***
Whoops, duplicate of #7095 not #7075
*** This bug has been marked as a duplicate of 7095 ***
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.