Bug 213100 - shortcut (alt,ctrl,meta)+2 is without effect on azerty keyboard
Summary: shortcut (alt,ctrl,meta)+2 is without effect on azerty keyboard
Status: RESOLVED DUPLICATE of bug 179504
Alias: None
Product: kwin
Classification: Plasma
Component: general (show other bugs)
Version: unspecified
Platform: Gentoo Packages Linux
: NOR normal
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-11-04 16:22 UTC by Seblu
Modified: 2011-02-03 20:16 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
export of kwin systemsettings key (3.20 KB, text/plain)
2009-11-04 16:22 UTC, Seblu
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Seblu 2009-11-04 16:22:01 UTC
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+-".
Comment 1 Seblu 2009-11-04 16:22:44 UTC
Created attachment 38083 [details]
export of kwin systemsettings key
Comment 2 Seblu 2009-11-04 16:24:51 UTC
i've the same issue with a debian sid on kde 4.3.2.
Comment 3 Seblu 2009-11-04 16:47:27 UTC
after some reflexion, this bug probably should be posted in systemsettings section and not kwin.
Comment 4 Thomas Lübking 2009-11-04 16:49:50 UTC
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)
Comment 5 Seblu 2009-11-04 16:56:21 UTC
$ 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)"	};
};
Comment 6 Seblu 2009-11-04 16:58:41 UTC
and setxkbmap fr at kde startup change nothing (after X restart)
Comment 7 Thomas Lübking 2009-11-05 07:48:41 UTC
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"
Comment 8 Seblu 2009-11-05 12:04:43 UTC
_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]
Comment 9 Thomas Lübking 2009-11-05 15:33:06 UTC
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
Comment 10 Michael Jansen 2009-11-05 19:37:28 UTC
I would say:

http://bugreports.qt.nokia.com/browse/QTBUG-4900 

but i'm not sure. I will do some tests.
Mike
Comment 11 Seblu 2009-11-06 03:25:45 UTC
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+É"
Comment 12 Seblu 2009-11-06 03:27:58 UTC
when i'm using it, nothing appear in term except "é". Perhaps this is due to `Failed to register  "Ctrl+É"' message ?
Comment 13 Hervé Cauwelier 2009-12-16 11:09:45 UTC
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.
Comment 14 Frédéric Perrin 2010-02-09 23:15:35 UTC
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.
Comment 15 Thomas PIERSON 2010-07-21 10:49:43 UTC
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
Comment 16 Thomas Lübking 2010-07-21 15:38:27 UTC
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?
Comment 17 Thomas PIERSON 2010-07-22 10:32:39 UTC
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
Comment 18 Thomas PIERSON 2010-12-17 14:45:09 UTC
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
Comment 19 Florent Guiliani 2011-01-31 10:08:20 UTC
The bug is still there with KDE 4.5.1.
Comment 20 Thomas Lübking 2011-02-03 20:16:42 UTC
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 ***