'de' keyboard layout issues (Re: AW: AW: AltGr key mostly fires an additional CONTROL key)

Jon TURNEY jon.turney@dronecode.org.uk
Mon Aug 8 15:32:00 GMT 2011

On 04/08/2011 03:21, Paul Maier wrote:
>> Thanks for the logs, that was very useful.
>> I still can't reproduce this (although holding AltGr down to make it
>> autorepeat seems the best way to try to do that).  It is a timing issue with
>> the keypress/release messages so it might be sensitive to CPU speed, or
>> perhaps you have some software installed which looks at keypress/release
>> messages and changes the timing?
>> I've had a go at fixing it.  Can you please try the build I've uploaded at [1]
>> and see if it still shows the problem for you?
>> [1] ftp://cygwin.com/pub/cygwinx/XWin.20110803-git-a493c0465e56ce0b.exe.bz2
> Hi Jon,
> works fine for me. I Played around quite a while, but the CONTROL-locking didn't occur any more. Yippie!
> Is it ok, if I leave the hotfix file permanently in on my PC (I mean, did you base it on a recent XWin released version with just my
> bug fix in - or is there other experimental stuff inside?), then I'll use it automatically during work and I can let you know in
> case of problems.

That particular build is 1.10.3-1 plus the patch for your issue.

> I wouldn't have started a thread with the following, but since we have already started looking at this keyboard, maybe you are
> interested in some of these:

A new thread would have been fine :-)

I am assuming you are using the 'de' keyboard layout:

> [ 29391,484] (--) Windows keyboard layout: "00000407" (00000407) "Deutsch", type 4
> [ 29391,484] (--) Found matching XKB configuration "German (Germany)"
> [ 29391,484] (--) Model = "pc105" Layout = "de" Variant = "none" Options = "none"
> [ 29391,484] Rules = "base" Model = "pc105" Layout = "de" Variant = "none" Options = "none"

> Tilde sign (~) should be a normal (not a blind) key.
>    In Windows I hit AltGr+"+" to get ~, in XWin I need to type AltGr+"+" then space to get a ~.
>    See attachment for the initial XWin xmodmap -pke table.
>    Possible xmodmap correction (works fine):
>    keycode  35 = plus asterisk plus asterisk asciitilde

This is a can of worms I don't want to open :-)

At the moment, in the 'de' layout, the tilde deadkey will add a macron 
diacritic, e.g. AltGr + "+" + a = ã.

I really lack the expertise to determine if this is a bug in xkeyboard-config 
(if this german keyboard behavior is something no german keyboard user would 
ever expect or want)

The xkb configurations we use come from the xkeyboard-config project, and 
aren't trying to be identical to Windows, but to conform to the appropriate 
national standards and user expectations.

However, I can see in the case of XWin this is problematic, as it will be 
confusing to switch between X and normal Windows windows which have different 
keyboard behavior.

As a workaround, you might find specifying -xkbvariant nodeadkeys, 
deadgraveacute or deadacute helpful.

> Euro Currency sign doesn't work.
>    I know - it's not a latin1 character, but together with CP1252 this xmodmap correction works like Windows:
>    keycode  26 = e E e E 0x0080

I guess this is another symptom of Xlib not understanding the de_DE.CP1252 locale.

This works fine in the de_DE.UTF-8 locale.

I suppose I could patch Xlib to fix this, but I'd rather encourage people to 
use UTF-8 locales.

> ALT+Space produces a NBSP character (HEX A0) in Windows, but not in XWin.
>    xmodmap correction is unfortunately not possible, because the xmodmap setting on ISO_Level3_Shift+Space is just thrown away:
>    Something like
>    keycode  65 = space NoSymbol space NoSymbol nobreakspace
>    or
>    keycode  65 = space space space space nobreakspace
>    doesn't work: it's discarded and the setting is not shown on a "xmodmap -pke".
>    So I put nobreakspace to the fifth place of another key - there it works.
>    That would be good if key 65 (space key) would accept above xmodmap setting or have it initially.

Reading [1], this looks like an (undocumented) Windows-ism


> Number block is not working.
>    See attachment for the initial XWin xmodmap -pke table (all these KP_* settings look good at the first sight, but the keys don't
> produce numbers).
>    Possible xmodmap correction (works fine):
>    keycode  63 = asterisk asterisk
>    keycode  79 = 7 7
>    keycode  80 = 8 8
>    keycode  81 = 9 9
>    keycode  82 = minus minus
>    keycode  83 = 4 4
>    keycode  84 = 5 5
>    keycode  85 = 6 6
>    keycode  86 = plus plus
>    keycode  87 = 1 1
>    keycode  88 = 2 2
>    keycode  89 = 3 3
>    keycode  90 = 0 0
>    keycode  91 = period period
>    keycode 108 = Return Return
>    keycode 112 = slash slash

I can't reproduce this problem.

I wonder if this is a problem with handling numpad overlaid onto normal keys 
on a laptop keypad?  Again, -logverbose 3 output together with xev output 
would be helpful.

Volunteer Cygwin/X X Server maintainer

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