This is the mail archive of the cygwin-xfree mailing list for the Cygwin XFree86 project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


On 12/08/2011 07:48, Paul Maier wrote:
1. Tilde sign
-------------

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 :-)

In case it wasn't clear, the can of worms here is ensuring that XWin selects a keyboard layout which matches the Windows one in all cases.

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

Obviously I meant to write 'tilde diacritic' here :-)


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.

I did some research: German computer keyboard layout is defined in DIN 2137-2. And to my surprise I found, that tilde is a dead key there. That means, that the xkeyboard-config project perfectly matches the DIN norm, while Windows (where the key is not dead) does not match it. So I understand, that you may want to stick to the DIN norm.

Usability comes before standards compliance :-)


A workaround for guys like me, who want the XWin keyboard work the same like Windows,
is possible with xmodmap, so yeah ... let's close this point.

Doing some more research, I found an upstream bug [1], which seems to make the opposite claim about DIN 2137-2(1998)

I also discovered that the nodeadkeys variant of the de layout was at one
stage the default used by XWin when a German Windows keyboard layout was
reported [2]

Maybe the 'correct' solution is possibly to create a 'nodeadtilde' variant of
the de layout in xkeyboard-config, and then to arrange for that to be the
default used by XWin when Windows reports a German keyboard layout.

Perhaps you'd like to try the attached patch to /usr/share/X11/xkb/symbols/de,
which adds a nodeadtilde variant, which you can then select with -xkbvariant
nodeadtilde.

Or perhaps the correct solution is to use one of the existing deadgraveacute
or deadacute variants as the XWin default when Windows reports a German
keyboard layout?

[1] https://bugs.freedesktop.org/show_bug.cgi?id=9752
[2] http://cygwin.com/ml/cygwin-xfree/2003-05/msg00495.html


Hi Jon,

thanks for your work.
I myself have made 2 patches and include them in this mail:

- One patch for files /usr/share/x11/locale/iso8859-1/Compose and
   /usr/share/x11/locale/iso8859-15/Compose.

- My patch for the "de" file:
   de.patch.patch patches your patch, whereas de.patch is the same thing
   patching the original de file.

Here is the explanation (I'm referring to the original pargraph numbering):

1. Tilde sign
-------------

Yes, file "de" patched with your de.patch and XWin invoked with "-xkbvariant nodeadtilde"
results in a German Windows keyboard (regarding the tilde).

I did just a renaming of the Group description there to match the pattern of the other
xkbvariants.

I'd really appreciate it if you could re-open the upstream bug [1] for the tilde issue, ideally with a suitable patch and referencing this discussion.


I'd also suggest you send your other suggested changes to the xkb list [2], as I'm not really qualified to review them.

[1] https://bugs.freedesktop.org/show_bug.cgi?id=9752
[2] http://www.freedesktop.org/wiki/Software/XKeyboardConfig/Development

3. Non breaking space (NBSP) on ALT+space
-----------------------------------------

In my patch I provide a xkbvariant "windowscompatible", that puts nobreakspace onto Alt+Space,
like Windows has it.

Furthermore, I added a line to the default German layout.
It doesn't change the behaviour of the space key with shift, Alt, AltGr,
but (and that's the reason why I've put it there), it makes the space key
xmodmap redefinable in regard to the Alt key.
Without that patch the key definition has not enough numbers of layers,
resulting in that xmodmap discards a change of AltGr layer of space.

It looks like the mysterious voodoo to achieve this is adding '-xkboptions nbsp:level3'


Perhaps that should be set by XWin by default if that is how Windows behaves for all keyboard layouts (so that we don't get different behavior between XWin windows and other Windows applications)

5. New dead acute issue
-----------------------

Sorry to say, I found another difference while testing.
This is, what the Compose.patch is for.

In Windows, all blind keys followed by a space result in that character.
Same in XWin, but with one exception:
dead-´ plus space gives ' instead of ´.

Please check out my patch for that.

This patch makes sense to me, but doesn't seem to go far enough. Since the compose sequences are selected by the locale, this fixes things if LANG=de_DE.iso8859-1 or LANG=de_DE.iso8859-15, but not if LANG=de_DE.UTF-8.


I'll try to take another look when I'm back from my holiday :-)

--
Jon TURNEY
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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]