Menu

#19 altgr vs mod1mask problem

open
nobody
None
5
2002-11-29
2002-11-29
No

Sorry about the useless title, I'm at a loss. waimea
v0.4.0

First, excerpt from my action file:

DEF defaultAllWindows {
Raise : KeyPress = r & Mod1Mask &
!ShiftMask,
Lower : KeyPress = r & Mod1Mask &
ShiftMask,
Close : KeyPress = w & Mod1Mask,
CloseKill : KeyPress = Escape & Mod1Mask,
ToggleMaximize : KeyPress = m & Mod1Mask,
ToggleShade : KeyPress = s & Mod1Mask
}

Now for some output from xev:

1. altgr (right hand alt key) + d:

KeyPress event, serial 26, synthetic NO, window 0x1600001,
root 0x3e, subw 0x400108, time 3479787331,
(123,53), root:(608,68),
state 0x0, keycode 113 (keysym 0xff7e,
Mode_switch), same_screen YES,
XLookupString gives 0 characters: ""

KeyPress event, serial 26, synthetic NO, window 0x1600001,
root 0x3e, subw 0x400108, time 3479787737,
(123,53), root:(608,68),
state 0x2000, keycode 40 (keysym 0xf0, eth),
same_screen YES,
XLookupString gives 1 characters: "đ"

KeyRelease event, serial 26, synthetic NO, window
0x1600001,
root 0x3e, subw 0x400108, time 3479787808,
(123,53), root:(608,68),
state 0x2000, keycode 40 (keysym 0xf0, eth),
same_screen YES,
XLookupString gives 1 characters: "đ"

KeyRelease event, serial 26, synthetic NO, window
0x1600001,
root 0x3e, subw 0x400108, time 3479788063,
(123,53), root:(608,68),
state 0x2000, keycode 113 (keysym 0xff7e,
Mode_switch), same_screen YES,
XLookupString gives 0 characters: ""

So far, so good. (d is not mapped in my action file.)

2. altgr + r:

KeyPress event, serial 26, synthetic NO, window 0x1600001,
root 0x3e, subw 0x400108, time 3479781390,
(123,53), root:(608,68),
state 0x0, keycode 113 (keysym 0xff7e,
Mode_switch), same_screen YES,
XLookupString gives 0 characters: ""

KeyPress event, serial 26, synthetic NO, window 0x1600001,
root 0x3e, subw 0x400108, time 3479781988,
(123,53), root:(608,68),
state 0x20, keycode 39 (keysym 0x73, s),
same_screen YES,
XLookupString gives 1 characters: "s"

KeyRelease event, serial 26, synthetic NO, window
0x1600001,
root 0x3e, subw 0x400108, time 3479782071,
(123,53), root:(608,68),
state 0x2000, keycode 39 (keysym 0xdf, ssharp),
same_screen YES,
XLookupString gives 1 characters: "ß"

KeyRelease event, serial 26, synthetic NO, window
0x1600001,
root 0x3e, subw 0x400108, time 3479782681,
(123,53), root:(608,68),
state 0x2000, keycode 113 (keysym 0xff7e,
Mode_switch), same_screen YES,
XLookupString gives 0 characters: ""

Here we have problems. Notice that for keycode 39
keyrelease, the correct character (ß, german sz,
ssharp) is reported by XLookupString, but for the
key*press*, 's' is reported - this is incorrect. This
does not occur for keys which are not mapped in the
waimea action file (e.g. 'd' in the first xev snip
above). My guess is that waimea is confused by altgr -
'altgr + s' doesn't actually do anything in the window
manager (which is correct; only 'alt + s' should have
an effect), but it still does *something* to gobble the
correct character and spit out what it thinks is
correct (i.e. s instead of ß).

Discussion


Log in to post a comment.

Auth0 Logo