GNOME Bugzilla – Bug 579658
Super (Windows key) isn't recognized as a modifier
Last modified: 2011-01-05 00:25:12 UTC
Please describe the problem: Instead of recognizing Super as a modifier, gnome-keybinding-properties considers them to be isolated keys, recognizing the left and right Super keys as Super_L and Super_R respectively. This means that the Windows key cannot be used with a modifier in a shortcut: Win + L, etc., without employing a workaround of enabling "Super is mapped to Win keys" in Keyboard Properties. This has got nothing to do with unusual keyboards: it's something trivial, used by many computer users, and which is broken out of the box. Bug #165343 has fixed a separate issue with gnome-keybinding-properties, but this has not resolved the problem, and the developer suggests there's a problem at a higher level like libgnomekbd. (Lots of great info on that bug.) Interestingly, the Compiz ccsm tool handles the Windows key perfectly. A fix is needed. From my limited knowledge, I think that's either: 1. Ship GNOME with "Super is mapped to Win keys" as default 2. Eliminate whichever idiosyncrasy requires "Super is mapped to Win keys" I suspect option 2 will be a big deal. Is this the right component for this issue? Steps to reproduce: 1. Install -- say -- Ubuntu 2. Run gnome-keybinding-properties 3. Try to bind Windows key + G to an action (or any other letter) Actual results: Super_L comes up Expected results: Mod4+G (or Super_L+G, or Win+G) Does this happen every time? Other information:
Confirming, I'm seeing this as well.
Launchpad has a downstream tracker for this one with over a hundred comments: https://bugs.launchpad.net/ubuntu/+source/gnome-control-center/+bug/12153 There were two recent comments to suggest that the workaround isn't viable, as it affects behaviour of the Alt and AltGr keys.
Just tried, see as Mod4+G. What's your xkb configuration?
I don't know; whatever's the been default on the Ubuntu and Fedora builds over the years. Right now I'm on Ubuntu 9.04 w/ GNOME 2.26.1. x@y:~$ dpkg -l | grep xkb ii libxkbfile1 1:1.0.5-1ubuntu2 X11 keyboard file manipulation library ii x11-xkb-utils 7.4+1ubuntu2 X11 XKB utilities ii xkb-data 1.5-2ubuntu11 X Keyboard Extension (XKB) configuration data My xorg.conf doesn't specify anything relating to xkb, and GNOME thinks I have a Generic 105 key int'l keyboard. Would something from gconf help you?
Doesn`t work for me too. It is possible to make Super+somekey shortcuts in GTK menu, but gnome-keybinding-properties doesn`t understand this kind of shorcuts, so it is necessary to modify Metacity`s/gnome-settings-daemon settings via gconf. Seems like a gnome-keybinding-properties.
Could you please do xprop -root | grep XKB?
x@y:~$ xprop -root | grep XKB _XKB_RULES_NAMES_BACKUP(STRING) = "evdev", "pc105", "gb", "", "" _XKB_RULES_NAMES(STRING) = "evdev", "pc105", "gb", "", "" If I enable "Super is mapped to Win keys" I get: x@y:~$ xprop -root | grep XKB _XKB_RULES_NAMES_BACKUP(STRING) = "evdev", "pc105", "gb", "", "" _XKB_RULES_NAMES(STRING) = "evdev", "pc105", "gb", "", "altwin:super_win" ...but as explained above -- and in more detail in comments 107 and 108 on https://bugs.launchpad.net/ubuntu/+source/gnome-control-center/+bug/12153?comments=all -- the "Super is mapped to Win keys" workaround causes problems, particularly with Alt and AltGr. Capturing keyboard shortcuts with Compiz' CCSM tool works perfectly with or without this setting.
vegeek@vegeek ~ $ xprop -root | grep XKB _XKB_RULES_NAMES_BACKUP(STRING) = "evdev", "evdev", "us", "", "" _XKB_RULES_NAMES(STRING) = "evdev", "evdev", "us,ru,by", ",,winkeys", "grp:caps_toggle,grp_led:num,grp_led:caps,grp_led:scroll,compose:ralt" for me Other applications capture this type of bindings correctly.
Aidan, I've just configured your initial setup (layout gb, no options) - still see Mod4+G in gnome keybindings. All the latest packages from Ubuntu. $ xprop -root | grep XKB _XKB_RULES_NAMES_BACKUP(STRING) = "evdev", "pc105", "us", "", "" _XKB_RULES_NAMES(STRING) = "evdev", "pc105", "gb", "", "" (the backup line can be ignored) Could you please attach the output of xkbcomp :0 -xkb out.xkb? There is something weird here...
Created attachment 142017 [details] output of xkbcomp :0 -xkb out.xkb Thanks Sergey, see attached.
vegeek@vegeek ~ $ ldd /usr/bin/gnome-keybinding-properties | grep gnomekbd vegeek@vegeek ~ $ (gnome-control-center linked with --as-needed) altwin:super_win helps.
Aidan: Confirming. With your configuration, I see Super_L instead of Mod4+G. Will try to find out why...
Created attachment 142087 [details] "Good" out.xkb I made in g-k-p same configuration, then run xkbcomp. See the result. The most substantial change is that: > modifier_map Mod4 { <LWIN> }; > modifier_map Mod4 { <RWIN> }; These lines come from symbols/pc. Do you have them there?
Heh, interesting... The bug is gone after changing keyboard type from evdev-managed to pc104.
Hi Sergey: not sure I understand what you're asking me to test. Do I have those symbols where? In the file I attached before?
Aidan, could you please attach /usr/share/X11/xkb/symbols/pc ?
Created attachment 142458 [details] /usr/share/X11/xkb/symbols/pc This file was dated 2009/03/31 on the filesystem, which I'm guessing is when I first upgraded to Jaunty. (I had this problem in previous releases, too.)
In answer to your question, and in relation to LWIN, RWIN and SUPR, my file has: key <LWIN> { [ Super_L ] }; key <RWIN> { [ Super_R ] }; key <SUPR> { [ NoSymbol, Super_L ] }; modifier_map Mod4 { <SUPR> };
Created attachment 142496 [details] My version of symbols/pc My version of symbols/pc is different. Since I have the latest version (that works), I am closing this bug. Please upgrade. In case my symbols/pc does not help you - I guess, it would be better to open a bug in fd.o against xkeyboard-config.
Sergey Thanks for your time on this. I will test the file you have uploaded. Probably a silly question, but what is "fd.o"? freedesktop.org?
yes, freedesktop.org