public inbox for cygwin-xfree@sourceware.org
help / color / mirror / Atom feed
From: "Paul Maier" <svn-user@web.de>
To: "'Jon TURNEY'" <jon.turney@dronecode.org.uk>
Cc: "'cygwin-xfree'" <cygwin-xfree@cygwin.com>
Subject: AW: 'de' keyboard layout issues (Re: AW: AW: AltGr key mostly fires an additional CONTROL key)
Date: Fri, 12 Aug 2011 06:49:00 -0000	[thread overview]
Message-ID: <000901cc58bb$d66bcf20$83436d60$@de> (raw)
In-Reply-To: <4E4275B4.9090906@dronecode.org.uk>

[-- Attachment #1: Type: text/plain, Size: 4705 bytes --]

> > 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.

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.

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.

Regards,
 Paul


[-- Attachment #2: Compose.patch --]
[-- Type: application/octet-stream, Size: 530 bytes --]

diff -u orig//Compose new//Compose
--- orig//Compose	2010-02-10 01:49:25.001000000 +0100
+++ new//Compose	2011-08-11 23:27:39.752691500 +0200
@@ -392,7 +392,7 @@
 <dead_grave> <space>			: "`"	grave
 <dead_grave> <dead_grave>		: "`"	grave
 # These are for us_intl, that does not have diaeresis, etc
-<dead_acute> <space>			: "'"	apostrophe
+<dead_acute> <space>			: "\264"	acute
 <dead_acute> <dead_acute>		: "\264"	acute
 <dead_diaeresis> <space>		: "\""	quotedbl
 <dead_diaeresis> <dead_diaeresis>	: "\250"	diaeresis

[-- Attachment #3: de.patch.patch --]
[-- Type: application/octet-stream, Size: 1241 bytes --]

diff -u 01-yourpatch//de 02-new//de
--- 01-yourpatch//de	2011-08-11 21:30:14.018725500 +0200
+++ 02-new//de	2011-08-12 07:41:24.551445700 +0200
@@ -51,6 +51,11 @@
     include "kpdl(comma)"
 
     include "level3(ralt_switch)"
+
+    // enable xmodmap to put a nobreakspace onto AltGr+space
+    // (Without the following line, the key <SPCE> definition is too short for xmodmap's AltGr level;
+    // for users, that don't use xmodmap, the following line is transparent.)
+    key <SPCE> { [ space, space, space, space ] };
 };
 
 partial alphanumeric_keys
@@ -105,12 +110,23 @@
 
     include "de(basic)"
 
-    name[Group1]="German (nodeadtilde)";
+    name[Group1]="Germany - nodeadtilde";
 
     key <AD12> { [      plus,   asterisk,   asciitilde,       macron ] };
 };
 
 partial alphanumeric_keys
+xkb_symbols "windowscompatible" {
+    // modify the basic German layout to match the Windows layout
+
+    include "de(nodeadtilde)"
+
+    name[Group1]="Germany - Windows";
+
+    include "nbsp(level3)"
+};
+
+partial alphanumeric_keys
 xkb_symbols "ro" {
     // add romanian-specific letters to the basic German layout.
     // Romanian symbols are accessible with combination of <AltGr> and

[-- Attachment #4: de.patch --]
[-- Type: application/octet-stream, Size: 1326 bytes --]

diff -u 00-orig//de 02-new//de
--- 00-orig//de	2010-08-03 02:28:12.001000000 +0200
+++ 02-new//de	2011-08-12 07:41:24.551445700 +0200
@@ -51,6 +51,11 @@
     include "kpdl(comma)"
 
     include "level3(ralt_switch)"
+
+    // enable xmodmap to put a nobreakspace onto AltGr+space
+    // (Without the following line, the key <SPCE> definition is too short for xmodmap's AltGr level;
+    // for users, that don't use xmodmap, the following line is transparent.)
+    key <SPCE> { [ space, space, space, space ] };
 };
 
 partial alphanumeric_keys
@@ -100,6 +105,28 @@
 };
 
 partial alphanumeric_keys
+xkb_symbols "nodeadtilde" {
+    // modify the basic German layout to not have the tilde dead key
+
+    include "de(basic)"
+
+    name[Group1]="Germany - nodeadtilde";
+
+    key <AD12> { [      plus,   asterisk,   asciitilde,       macron ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "windowscompatible" {
+    // modify the basic German layout to match the Windows layout
+
+    include "de(nodeadtilde)"
+
+    name[Group1]="Germany - Windows";
+
+    include "nbsp(level3)"
+};
+
+partial alphanumeric_keys
 xkb_symbols "ro" {
     // add romanian-specific letters to the basic German layout.
     // Romanian symbols are accessible with combination of <AltGr> and


[-- Attachment #5: Type: text/plain, Size: 223 bytes --]

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

  reply	other threads:[~2011-08-12  6:49 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <006301cc4fb3$2696d060$73c47120$@de>
2011-08-01 14:57 ` AltGr key mostly fires an additional CONTROL key Jon TURNEY
     [not found]   ` <000001cc5085$6b711fb0$42535f10$@de>
2011-08-03 13:15     ` AW: " Jon TURNEY
2011-08-04  2:22       ` AW: " Paul Maier
2011-08-08 15:32         ` 'de' keyboard layout issues (Re: AW: AW: AltGr key mostly fires an additional CONTROL key) Jon TURNEY
2011-08-08 23:17           ` AW: " Paul Maier
2011-08-10 12:12             ` Jon TURNEY
2011-08-12  6:49               ` Paul Maier [this message]
2011-08-16 13:10                 ` Jon TURNEY
2011-10-03 11:29                   ` AW: AW: 'de' keyboard layout issues Paul Maier
2012-08-06 12:49                     ` Jon TURNEY
2012-07-22  0:22                   ` Paul Maier
2012-08-06 12:22                   ` AW: 'de' keyboard layout issues (Re: AW: AW: AltGr key mostly fires an additional CONTROL key) Jon TURNEY
2011-10-03 10:16       ` AW: AW: AltGr key mostly fires an additional CONTROL key Paul Maier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='000901cc58bb$d66bcf20$83436d60$@de' \
    --to=svn-user@web.de \
    --cc=cygwin-xfree@cygwin.com \
    --cc=jon.turney@dronecode.org.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).