From: Philipp Pagel on 4 Feb 2010 07:46 Hi! In my .xmodmap file i have assigned Mode_switch to the right Alt key and have put several uselful characters on various keys: keycode 108 = Mode_switch keycode 30 = u U udiaeresis Udiaeresis [...] This setup has worked fine for a long time but recently (probably associated with some update of Debian testing) something strange has happened: The order of pressing Shift and AltR suddenly matters: Shift + AltR + U -> U AltR + Shift + U -> � I have investigated this behaviour with xev and found: AltR + Shift + U: -------------------------------------------------------------------------- KeyPress event, serial 34, synthetic NO, window 0x4400001, root 0x262, subw 0x0, time 16461700, (434,-2), root:(438,818), state 0x0, keycode 108 (keysym 0xff7e, Mode_switch), same_screen YES, XLookupString gives 0 bytes: XmbLookupString gives 0 bytes: XFilterEvent returns: False KeyPress event, serial 34, synthetic NO, window 0x4400001, root 0x262, subw 0x0, time 16462204, (434,-2), root:(438,818), state 0x2000, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES, XLookupString gives 0 bytes: XmbLookupString gives 0 bytes: XFilterEvent returns: False KeyPress event, serial 34, synthetic NO, window 0x4400001, root 0x262, subw 0x0, time 16462575, (434,-2), root:(438,818), state 0x2001, keycode 30 (keysym 0xdc, Udiaeresis), same_screen YES, XLookupString gives 2 bytes: (c3 9c) "�" XmbLookupString gives 2 bytes: (c3 9c) "�" XFilterEvent returns: False KeyRelease event, serial 34, synthetic NO, window 0x4400001, root 0x262, subw 0x0, time 16462687, (434,-2), root:(438,818), state 0x2001, keycode 30 (keysym 0xdc, Udiaeresis), same_screen YES, XLookupString gives 2 bytes: (c3 9c) "�" XFilterEvent returns: False KeyRelease event, serial 34, synthetic NO, window 0x4400001, root 0x262, subw 0x0, time 16462756, (434,-2), root:(438,818), state 0x2001, keycode 108 (keysym 0x0, NoSymbol), same_screen YES, XLookupString gives 0 bytes: XFilterEvent returns: False KeyRelease event, serial 34, synthetic NO, window 0x4400001, root 0x262, subw 0x0, time 16462794, (434,-2), root:(438,818), state 0x1, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES, XLookupString gives 0 bytes: XFilterEvent returns: False -------------------------------------------------------------------------- Shift + AltR + U -------------------------------------------------------------------------- KeyPress event, serial 31, synthetic NO, window 0x4400001, root 0x262, subw 0x0, time 16587026, (384,-172), root:(388,648), state 0x0, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES, XLookupString gives 0 bytes: XmbLookupString gives 0 bytes: XFilterEvent returns: False KeyPress event, serial 34, synthetic NO, window 0x4400001, root 0x262, subw 0x0, time 16587338, (384,-172), root:(388,648), state 0x1, keycode 108 (keysym 0x0, NoSymbol), same_screen YES, XLookupString gives 0 bytes: XmbLookupString gives 0 bytes: XFilterEvent returns: False KeyPress event, serial 34, synthetic NO, window 0x4400001, root 0x262, subw 0x0, time 16587613, (384,-172), root:(388,648), state 0x1, keycode 30 (keysym 0x55, U), same_screen YES, XLookupString gives 1 bytes: (55) "U" XmbLookupString gives 1 bytes: (55) "U" XFilterEvent returns: False KeyRelease event, serial 34, synthetic NO, window 0x4400001, root 0x262, subw 0x0, time 16587709, (384,-172), root:(388,648), state 0x1, keycode 30 (keysym 0x55, U), same_screen YES, XLookupString gives 1 bytes: (55) "U" XFilterEvent returns: False KeyRelease event, serial 34, synthetic NO, window 0x4400001, root 0x262, subw 0x0, time 16587785, (384,-172), root:(388,648), state 0x1, keycode 108 (keysym 0x0, NoSymbol), same_screen YES, XLookupString gives 0 bytes: XFilterEvent returns: False KeyRelease event, serial 34, synthetic NO, window 0x4400001, root 0x262, subw 0x0, time 16587848, (384,-172), root:(388,648), state 0x1, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES, XLookupString gives 0 bytes: XFilterEvent returns: False -------------------------------------------------------------------------- So AltR after Shift gives NoSymbol insted of Mode_switch. I spent considerable time serching and reading various matreial on xmodmap etc. but could not find anything that seemed to point to a solution or explanation. So I'm asking for hints to track down the cause of this ununtended behaviour. Thanks Philipp -- Dr. Philipp Pagel Lehrstuhl f. Genomorientierte Bioinformatik Technische Universit�t M�nchen http://webclu.bio.wzw.tum.de/~pagel/
From: J G Miller on 4 Feb 2010 10:05 On Thu, 04 Feb 2010 12:46:03 +0000, Philipp Pagel wrote: > The order of pressing Shift and AltR suddenly matters: Have you tested your observation independent of window manager and also with no window manager running at all (made possible in X Session failsafe mode with initially just a terminal emulator running)?
From: Philipp Pagel on 8 Feb 2010 04:06 J G Miller <miller(a)yoyo.org> wrote: > On Thu, 04 Feb 2010 12:46:03 +0000, Philipp Pagel wrote: > > The order of pressing Shift and AltR suddenly matters: > Have you tested your observation independent of window manager > and also with no window manager running at all (made possible in > X Session failsafe mode with initially just a terminal emulator running)? Yes, I had reproduced this with different window managers but not with out a window manager. Anayway, I think I have figured it out: I had always been under the impression that modifier keys had no shifted entry in .xmodmap. Turns out that is not (no longer?) true. Apparently, you can have a shifted AltR so the solution to my problem lies in including an assignment to the second (shifted) field in the xmodmap file: keycode 108 = Mode_switch Mode_switch I still don't really understand, why this causes the order of the keystrokes to matter or why it had been working earlier but at least the problemem has gone away. cu Philipp -- Dr. Philipp Pagel Lehrstuhl f. Genomorientierte Bioinformatik Technische Universit�t M�nchen http://webclu.bio.wzw.tum.de/~pagel/
|
Pages: 1 Prev: mdadm /dev/md0 raid not being created Next: Taking over an existing X11-session with xrdp |