Version: (using KDE 4.3.3) OS: Linux Installed from: Gentoo Packages It's a long term bug (from kde 4.0). I thought I had postponed but I find no trace. On my azerty keyboard, i'm unable to bind key for kwin to ctrl+2 to switch to desktop 2. This is not a only to switch desktop binding but in any key binding. On an azerty keybord, a direct press on key 2, print an "é". In SystemSettings when i try to affect this key it print "Ctrl+É". This bug is not present, with touch "ctrl+&", "ctrl+"", "ctrl+'", "ctrl+(", "ctrl+-".
Created attachment 38083 [details] export of kwin systemsettings key
i've the same issue with a debian sid on kde 4.3.2.
after some reflexion, this bug probably should be posted in systemsettings section and not kwin.
a) what's the output of "setxkbmap -print" b) in doubt, place "setxkbmap fr" into your ~/.xprofile or ~/.xsession (run it before kde starts up)
$ setxkbmap -print xkb_keymap { xkb_keycodes { include "evdev+aliases(azerty)" }; xkb_types { include "complete" }; xkb_compat { include "complete" }; xkb_symbols { include "pc+fr+inet(evdev)+level3(ralt_switch)" }; xkb_geometry { include "pc(pc105)" }; };
and setxkbmap fr at kde startup change nothing (after X restart)
please open a terminal (konsole) and run "xev" and press the key in question ("2") and watch the output (for synthetic ctrl presses), also please check for running keyboard mappers (likely xbindkeys) "ps -A | grep xbindkeys"
_When i press Control Key_ KeyPress event, serial 34, synthetic NO, window 0x7c00001, root 0xae, subw 0x0, time 228043855, (37,-11), root:(398,430), state 0x10, keycode 37 (keysym 0xffe3, Control_L), same_screen YES, XLookupString gives 0 bytes: XmbLookupString gives 0 bytes: XFilterEvent returns: False KeyRelease event, serial 34, synthetic NO, window 0x7c00001, root 0xae, subw 0x0, time 228043991, (37,-11), root:(398,430), state 0x14, keycode 37 (keysym 0xffe3, Control_L), same_screen YES, XLookupString gives 0 bytes: XFilterEvent returns: False _When i press "2" key_ KeyPress event, serial 34, synthetic NO, window 0x7e00001, root 0xae, subw 0x0, time 228589515, (255,219), root:(530,335), state 0x10, keycode 11 (keysym 0xe9, eacute), same_screen YES, XLookupString gives 2 bytes: (c3 a9) "é" XmbLookupString gives 2 bytes: (c3 a9) "é" XFilterEvent returns: False KeyRelease event, serial 34, synthetic NO, window 0x7e00001, root 0xae, subw 0x0, time 228589587, (255,219), root:(530,335), state 0x10, keycode 11 (keysym 0xe9, eacute), same_screen YES, XLookupString gives 2 bytes: (c3 a9) "é" XFilterEvent returns: False _when i press the "ctrl+2" key_ KeyPress event, serial 34, synthetic NO, window 0x7e00001, root 0xae, subw 0x0, time 228654669, (96,111), root:(371,227), state 0x10, keycode 37 (keysym 0xffe3, Control_L), same_screen YES, XLookupString gives 0 bytes: XmbLookupString gives 0 bytes: XFilterEvent returns: False KeyPress event, serial 34, synthetic NO, window 0x7e00001, root 0xae, subw 0x0, time 228654901, (96,111), root:(371,227), state 0x14, keycode 11 (keysym 0xe9, eacute), same_screen YES, XLookupString gives 0 bytes: XmbLookupString gives 2 bytes: (c3 a9) "é" XFilterEvent returns: False KeyRelease event, serial 34, synthetic NO, window 0x7e00001, root 0xae, subw 0x0, time 228655000, (96,111), root:(371,227), state 0x14, keycode 11 (keysym 0xe9, eacute), same_screen YES, XLookupString gives 0 bytes: XFilterEvent returns: False KeyRelease event, serial 34, synthetic NO, window 0x7e00001, root 0xae, subw 0x0, time 228655013, (96,111), root:(371,227), state 0x14, keycode 37 (keysym 0xffe3, Control_L), same_screen YES, XLookupString gives 0 bytes: XFilterEvent returns: False _key mappers_ $ ps -A|grep xbindkeys (11:58)[0] $ (12:04)[1]
Ok, X11 works as expected. I assume kglobalaccel stumbles on the 2 byte string, therefore CC'ing a kglobalaccel dev To test this, please kill kglobalaccel (ps -A | grep kglobalaccel) and restart it from a textshell to get some debug output (or redirect the debug output to some textfile from "kdebugdialog --fullmode" Then try assigning and using the shortcut
I would say: http://bugreports.qt.nokia.com/browse/QTBUG-4900 but i'm not sure. I will do some tests. Mike
when i'm trying to affect key. kglobalaccel(23079)/kdecore (kglobalaccel) KdeDGlobalAccel::Component::isShortcutAvailable: "Ctrl+É" "kwin" kglobalaccel(23079)/kdecore (kglobalaccel) KdeDGlobalAccel::Component::isShortcutAvailable: "Ctrl+É" "kwin" kglobalaccel(23079)/kdecore (kglobalaccel) KdeDGlobalAccel::Component::isShortcutAvailable: "Ctrl+É" "kwin" kglobalaccel(23079)/kdecore (kglobalaccel) KdeDGlobalAccel::Component::isShortcutAvailable: "Ctrl+É" "kwin" kglobalaccel(23079)/kdecore (kglobalaccel) KdeDGlobalAccel::Component::isShortcutAvailable: "Ctrl+É" "kwin" kglobalaccel(23079)/kdecore (kglobalaccel) KdeDGlobalAccel::Component::isShortcutAvailable: "Ctrl+É" "kwin" kglobalaccel(23079)/kdecore (kglobalaccel) KdeDGlobalAccel::Component::isShortcutAvailable: "Ctrl+É" "kwin" kglobalaccel(23079)/kdecore (kglobalaccel) KdeDGlobalAccel::Component::isShortcutAvailable: "Ctrl+É" "kwin" kglobalaccel(23079)/kdecore (kglobalaccel) KdeDGlobalAccel::Component::isShortcutAvailable: "Ctrl+É" "kwin" kglobalaccel(23079)/kdecore (kglobalaccel) KdeDGlobalAccel::Component::isShortcutAvailable: "Ctrl+É" "kwin" kglobalaccel(23079)/kdecore (kglobalaccel) GlobalShortcutsRegistry::unregisterKey: Unregistering key "Meta+É" for "kwin" : "Switch to Desktop 2" kglobalaccel(23079)/kdecore (kglobalaccel) KGlobalAccelImpl::grabKey: keyQt ( 100000c9 ) was resolved to x11 keycode 0 kglobalaccel(23079)/kdecore (kglobalaccel) GlobalShortcutsRegistry::registerKey: Registering key "Ctrl+É" for "kwin" : "Switch to Desktop 2" kglobalaccel(23079)/kdecore (kglobalaccel) KGlobalAccelImpl::grabKey: keyQt ( 40000c9 ) was resolved to x11 keycode 0 kglobalaccel(23079)/kdecore (kglobalaccel) GlobalShortcut::setActive: "Switch to Desktop 2" : Failed to register "Ctrl+É" kglobalaccel(23079)/kdecore (kglobalaccel) GlobalShortcutsRegistry::unregisterKey: Unregistering key "Ctrl+É" for "kwin" : "Switch to Desktop 2" kglobalaccel(23079)/kdecore (kglobalaccel) KGlobalAccelImpl::grabKey: keyQt ( 40000c9 ) was resolved to x11 keycode 0 kglobalaccel(23079)/kdecore (kglobalaccel) GlobalShortcutsRegistry::registerKey: Registering key "Ctrl+É" for "kwin" : "Switch to Desktop 2" kglobalaccel(23079)/kdecore (kglobalaccel) KGlobalAccelImpl::grabKey: keyQt ( 40000c9 ) was resolved to x11 keycode 0 kglobalaccel(23079)/kdecore (kglobalaccel) GlobalShortcut::setActive: "Switch to Desktop 2" : Failed to register "Ctrl+É"
when i'm using it, nothing appear in term except "é". Perhaps this is due to `Failed to register "Ctrl+É"' message ?
I've come to report exactly the same bug. Any news or other test to run? I tried to bind Alt+Shift+é but it's the same. KDE 4.3.4-2 on Archlinux x86_64. Thanks in advance.
The same bug is still happenning in KDE 4.4.0, as packaged in Arch Linux (except I'm using Win+é, instead of Ctrl+é, for desktop switching). Here is some of the information you requested to users of previous releases : I do not use xbindkeys. I can use Win+é in emacs just fine, when it is not assigned to something else. Michael Jansen mentionned QTBUG-4900, but this seems irrelevant as « é » is not a dead key --there is a key with a « é » engraved on it, just like there is a key with an « a ». Extract from .xsession-errors when using Win+é (note the capital É) : kglobalaccel(14235) KGlobalAccelImpl::x11Event: Got XKeyPress event kglobalaccel(14235) GlobalShortcutsRegistry::keyPressed: "Meta+"" = "Switch to Desktop 3" knotify(14239) KNotify::event: 133 ref= 0 knotify(14239) KNotify::event: 134 ref= 0 knotify(14239) KNotify::event: 135 ref= 0 plasma-desktop(14241)/plasma Battery::paintBattery: "Unavailable" does not exist in svg kglobalaccel(14235) KGlobalAccelImpl::x11Event: Got XKeyPress event kglobalaccel(14235) GlobalShortcutsRegistry::keyPressed: Got unknown key "Meta+É" kglobalaccel(14235) KGlobalAccelImpl::x11Event: Got XKeyPress event kglobalaccel(14235) GlobalShortcutsRegistry::keyPressed: "Meta+Left" = "Switch One Desktop to the Left" knotify(14239) KNotify::event: 136 ref= 0 knotify(14239) KNotify::event: 137 ref= 0 knotify(14239) KNotify::event: 138 ref= 0 plasma-desktop(14241)/plasma Battery::paintBattery: "Unavailable" does not exist in svg Output from xev when using Win+é, with Win+é (or is it Win+É?) set to switch to desktop n°2 : KeyRelease event, serial 34, synthetic NO, window 0x3000001, root 0x110, subw 0x0, time 3986325, (-387,673), root:(207,740), state 0x0, keycode 23 (keysym 0xff09, Tab), same_screen YES, XLookupString gives 1 bytes: (09) " " XFilterEvent returns: False KeyPress event, serial 34, synthetic NO, window 0x3000001, root 0x110, subw 0x0, time 3990351, (-387,673), root:(207,740), state 0x0, keycode 133 (keysym 0xffeb, Super_L), same_screen YES, XLookupString gives 0 bytes: XmbLookupString gives 0 bytes: XFilterEvent returns: False FocusOut event, serial 34, synthetic NO, window 0x3000001, mode NotifyGrab, detail NotifyAncestor FocusIn event, serial 34, synthetic NO, window 0x3000001, mode NotifyUngrab, detail NotifyAncestor KeymapNotify event, serial 34, synthetic NO, window 0x0, keys: 0 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 KeyRelease event, serial 34, synthetic NO, window 0x3000001, root 0x110, subw 0x0, time 3990787, (-387,673), root:(207,740), state 0x40, keycode 11 (keysym 0xe9, eacute), same_screen YES, XLookupString gives 2 bytes: (c3 a9) "é" XFilterEvent returns: False KeyRelease event, serial 34, synthetic NO, window 0x3000001, root 0x110, subw 0x0, time 3990858, (-387,673), root:(207,740), state 0x40, keycode 133 (keysym 0xffeb, Super_L), same_screen YES, XLookupString gives 0 bytes: XFilterEvent returns: False Output from xev when Win+é is not set to anything. Note that there is no FocusOut / FocusIn event in the middle : KeyPress event, serial 34, synthetic NO, window 0x3000001, root 0x110, subw 0x0, time 4122897, (100,54), root:(694,121), state 0x0, keycode 133 (keysym 0xffeb, Super_L), same_screen YES, XLookupString gives 0 bytes: XmbLookupString gives 0 bytes: XFilterEvent returns: False KeyPress event, serial 34, synthetic NO, window 0x3000001, root 0x110, subw 0x0, time 4123189, (100,54), root:(694,121), state 0x40, keycode 11 (keysym 0xe9, eacute), same_screen YES, XLookupString gives 2 bytes: (c3 a9) "é" XmbLookupString gives 2 bytes: (c3 a9) "é" XFilterEvent returns: False KeyRelease event, serial 34, synthetic NO, window 0x3000001, root 0x110, subw 0x0, time 4123260, (100,54), root:(694,121), state 0x40, keycode 11 (keysym 0xe9, eacute), same_screen YES, XLookupString gives 2 bytes: (c3 a9) "é" XFilterEvent returns: False KeyRelease event, serial 34, synthetic NO, window 0x3000001, root 0x110, subw 0x0, time 4123372, (100,54), root:(694,121), state 0x40, keycode 133 (keysym 0xffeb, Super_L), same_screen YES, XLookupString gives 0 bytes: XFilterEvent returns: False kglobalaccel doesn't seem to have a --fullmode option. If I simply run it in the foreground, when unsetting and resetting the key to switch desktops to Win+é, I have the following output : kglobalaccel(14434) GlobalShortcutsRegistry::unregisterKey: Unregistering key "Meta+É" for "kwin" : "Switch to Desktop 2" kglobalaccel(14434) KdeDGlobalAccel::Component::isShortcutAvailable: "Meta+É" "kwin" kglobalaccel(14434) KdeDGlobalAccel::Component::isShortcutAvailable: "Meta+É" "kwin" kglobalaccel(14434) KdeDGlobalAccel::Component::isShortcutAvailable: "Meta+É" "kwin" kglobalaccel(14434) KdeDGlobalAccel::Component::isShortcutAvailable: "Meta+É" "kwin" kglobalaccel(14434) KdeDGlobalAccel::Component::isShortcutAvailable: "Meta+É" "kwin" kglobalaccel(14434) KdeDGlobalAccel::Component::isShortcutAvailable: "Meta+É" "kwin" kglobalaccel(14434) KdeDGlobalAccel::Component::isShortcutAvailable: "Meta+É" "kwin" kglobalaccel(14434) KdeDGlobalAccel::Component::isShortcutAvailable: "Meta+É" "kwin" kglobalaccel(14434) KdeDGlobalAccel::Component::isShortcutAvailable: "Meta+É" "kwin" kglobalaccel(14434) KdeDGlobalAccel::Component::isShortcutAvailable: "Meta+É" "kwin" kglobalaccel(14434) GlobalShortcutsRegistry::registerKey: Registering key "Meta+É" for "kwin" : "Switch to Desktop 2" kglobalaccel(14434) GlobalShortcutsRegistry::unregisterKey: Unregistering key "Meta+É" for "kwin" : "Switch to Desktop 2" kglobalaccel(14434) GlobalShortcutsRegistry::registerKey: Registering key "Meta+É" for "kwin" : "Switch to Desktop 2" % setxkbmap -print xkb_keymap { xkb_keycodes { include "evdev+aliases(qwerty)" }; xkb_types { include "complete" }; xkb_compat { include "complete" }; xkb_symbols { include "pc+fr(latin9)+inet(evdev)+ctrl(nocaps)" }; xkb_geometry { include "pc(pc104)" }; }; If I can provide additionnal details, let me know.
Hi, Same issue on a Debian squeeze distribution with KDE 4.4.4. I try to add the shortcut "Win+é" on an azerty keyboard and the shortcut does not works. Is there a problem to solve this bug? Why the state is not set to "CONFIRMED"? $ setxkbmap -print xkb_keymap { xkb_keycodes { include "evdev+aliases(azerty)" }; xkb_types { include "complete" }; xkb_compat { include "complete" }; xkb_symbols { include "pc+fr(latin9)+inet(evdev)" }; xkb_geometry { include "pc(pc105)" }; }; Do you need other details, logs, .. ? Regards, Thomas PIERSON
a) this is somehow "mis-assigned" (kglobalacceld issue, there's no such product entry, though) b) from some statement in "globalshortcutsregistry.cpp:193" it appears like there's a problem to properly map X11 keysyms to Qt keys c) this is a dupe (or rather heavily related*) of the alt+backtab bug #179562 *this rather seems to be an uppercase/lowercase issue, maybe in relation with the alt_gr modifier (though the backtab issue is somehow upper/lowercase as well - don't know) I tried with alt_gr+o, being 'ø' - the entry in kglobalshurtcutsrc is ok but -stunningly- kglobalaccel reports kglobalaccel(8758) GlobalShortcutsRegistry::keyPressed: Got unknown key "Alt+Ø" (the Ø is uppercase, while i assinged the lowercase key) so i tried to assign the uppercase variant and things worked as expected... --> can you a) run "kquitapp kglobalaccel; kglobalaccel" from a textshell (konsole) and watch the output when trying to call "Win+é" b) try to assign "Win+É" instead?
Ok, thanks for your help! So I have registred the shortcut "Win+é" in kde/systemsettings. And so, I run this command: $ kquitapp kglobalaccel; kglobalaccel [...] (I type "Win+é") kglobalaccel(3942) KGlobalAccelImpl::x11Event: Got XKeyPress event kglobalaccel(3942) GlobalShortcutsRegistry::keyPressed: Got unknown key "Meta+É" And I can not assign "Win+É" because the upercase of "é" is "2" on my keyboard. So with the same command I have no result in the console with "Win+2" shortcut. I also noticed that some other sortcut stay "undetected" with the same command like "Win+Maj+)" on azerty keyboard. Contrary to "Win+)" which is detected. (upercase of "(" is "°" on azerty keyboard map.) Tell me if you need more details or logs. Best regards, Thomas PIERSON
Hi, No news from this issue? I still reproduce this bug on kde 4.4.5. Do you need more details or logs files? Best regards, Thomas PIERSON
The bug is still there with KDE 4.5.1.
assuming this is ultimately just a dupe of the "keycode changes with shift modifier" bug. (with weird results in this particular case, because of a weird keyboard layout) and since our french friends will likely NOT use dead keys to produce "é ", it's (from my understanding) rather NOT http://bugreports.qt.nokia.com/browse/QTBUG-4900 *** This bug has been marked as a duplicate of bug 179504 ***