AltGr sometimes generates Control_L

Jon TURNEY jon.turney@dronecode.org.uk
Mon Jun 8 22:39:00 GMT 2009


Hannu Koivisto wrote:
> Greetings,
> 
> I run Cygwin/X with "XWin.exe -multiwindow -clipboard
> -silent-dup-error".  I start xev from shell and start
> pressing(&releasing) "a" and "AltGr" keys consecutively: a AltGr a
> AltGr ...

> ---8<----------------------------------------------------------
> KeyPress event, serial 27, synthetic NO, window 0xe00001,
>     root 0x7c, subw 0x0, time 1906670500, (595,1269), root:(771,1501),
>     state 0x14, keycode 38 (keysym 0x61, a), same_screen YES,
>     XLookupString gives 1 bytes: (01) "☺"
>     XmbLookupString gives 1 bytes: (01) "☺"
>     XFilterEvent returns: False
> 
> KeyRelease event, serial 27, synthetic NO, window 0xe00001,
>     root 0x7c, subw 0x0, time 1906670593, (595,1269), root:(771,1501),
>     state 0x14, keycode 38 (keysym 0x61, a), same_screen YES,
>     XLookupString gives 1 bytes: (01) "☺"
>     XFilterEvent returns: False
> ---8<----------------------------------------------------------
> 
> ...where the string looked like a happy face.

Hmm...  can I see the first few lines of your /var/log/Xwin.0.log, please, so 
I can see what keyboard layout windows is reporting and X is using.

> But a bigger problem is that AltGr sometimes generates Control_L
> in addition to ISO_Level3_Shift, which makes Emacs (which I run
> from a Linux machine remotely over X) quite unhappy.  For example,
> when I'm trying to enter "}", which in Finnish layout is done by
> AltGr+0, Emacs complains that C-} is undefined.

Hmm.. in fact, I think a Ctrl-L is generated for every AltGr keypress by 
Windows.  The X server contains special code to eat these keypresses, but it 
seems this is not working as reliably as it should be.

It would be useful to know if you have TweakUI installed, as comments in the 
code indicate and FAQ 5.1.7 indicate that did cause problems with this AltGr 
handling which are thought to be fixed..

> ---8<----------------------------------------------------------
> KeyPress event, serial 27, synthetic NO, window 0xe00001,
>     root 0x7c, subw 0x0, time 1907120437, (478,827), root:(676,1088),
>     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 27, synthetic NO, window 0xe00001,
>     root 0x7c, subw 0x0, time 1907120437, (478,827), root:(676,1088),
>     state 0x14, keycode 113 (keysym 0xfe03, ISO_Level3_Shift), same_screen YES,
>     XLookupString gives 0 bytes:
>     XmbLookupString gives 0 bytes:
>     XFilterEvent returns: False
> 
> KeyRelease event, serial 27, synthetic NO, window 0xe00001,
>     root 0x7c, subw 0x0, time 1907120531, (478,827), root:(676,1088),
>     state 0x94, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
>     XLookupString gives 0 bytes:
>     XFilterEvent returns: False
> 
> KeyRelease event, serial 27, synthetic NO, window 0xe00001,
>     root 0x7c, subw 0x0, time 1907120531, (478,827), root:(676,1088),
>     state 0x90, keycode 113 (keysym 0xfe03, ISO_Level3_Shift), same_screen YES,
>     XLookupString gives 0 bytes:
>     XFilterEvent returns: False
> ---8<----------------------------------------------------------
> 
> I've seen earlier complaints about the same problem dating back to
> 2005 but nothing that would help me solve this problem.

Links, please

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://x.cygwin.com/docs/
FAQ:                   http://x.cygwin.com/docs/faq/



More information about the Cygwin-xfree mailing list