From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 17224 invoked by alias); 12 Aug 2011 06:49:20 -0000 Received: (qmail 17202 invoked by uid 22791); 12 Aug 2011 06:49:18 -0000 X-SWARE-Spam-Status: No, hits=0.8 required=5.0 tests=AWL,BAYES_05,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,RP_MATCHES_RCVD,TW_KB,TW_XK X-Spam-Check-By: sourceware.org Received: from fmmailgate03.web.de (HELO fmmailgate03.web.de) (217.72.192.234) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 12 Aug 2011 06:49:03 +0000 Received: from smtp03.web.de ( [172.20.0.65]) by fmmailgate03.web.de (Postfix) with ESMTP id 3A00A1978297E; Fri, 12 Aug 2011 08:49:01 +0200 (CEST) Received: from [84.150.138.190] (helo=lp21723) by smtp03.web.de with esmtp (WEB.DE 4.110 #2) id 1QrlYC-0007qx-00; Fri, 12 Aug 2011 08:49:00 +0200 From: "Paul Maier" To: "'Jon TURNEY'" Cc: "'cygwin-xfree'" References: <006301cc4fb3$2696d060$73c47120$@de> <4E36BED6.3070102@dronecode.org.uk> <000001cc5085$6b711fb0$42535f10$@de> <4E3949E0.6090306@dronecode.org.uk> <000001cc524d$3b4db6d0$b1e92470$@de> <4E40016D.2080801@dronecode.org.uk> <001c01cc5621$4ae653e0$e0b2fba0$@de> <4E4275B4.9090906@dronecode.org.uk> In-Reply-To: <4E4275B4.9090906@dronecode.org.uk> 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 Message-ID: <000901cc58bb$d66bcf20$83436d60$@de> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_NextPart_000_000A_01CC58CC.99F49F20" X-Sender: svn-user@web.de X-IsSubscribed: yes Mailing-List: contact cygwin-xfree-help@cygwin.com; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-xfree-owner@cygwin.com Reply-To: cygwin-xfree@cygwin.com Mail-Followup-To: cygwin-xfree@cygwin.com X-SW-Source: 2011-08/txt/msg00031.txt.bz2 ------=_NextPart_000_000A_01CC58CC.99F49F20 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-length: 4661 > > 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 =3D plus asterisk plus asterisk asciitilde > >> > >> This is a can of worms I don't want to open :-) >=20 > In case it wasn't clear, the can of worms here is ensuring that XWin sele= cts a > keyboard layout which matches the Windows one in all cases. >=20 > >> At the moment, in the 'de' layout, the tilde deadkey will add a macron > >> diacritic, e.g. AltGr + "+" + a =3D =E3. >=20 > Obviously I meant to write 'tilde diacritic' here :-) >=20 > >> 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 approp= riate > >> 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 di= fferent > >> 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. >=20 > Usability comes before standards compliance :-) >=20 > > 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. >=20 > Doing some more research, I found an upstream bug [1], which seems to mak= e the > opposite claim about DIN 2137-2(1998) >=20 > 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] >=20 > Maybe the 'correct' solution is possibly to create a 'nodeadtilde' varian= t 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. >=20 > Perhaps you'd like to try the attached patch to /usr/share/X11/xkb/symbol= s/de, > which adds a nodeadtilde variant, which you can then select with -xkbvari= ant > nodeadtilde. >=20 > Or perhaps the correct solution is to use one of the existing deadgraveac= ute > or deadacute variants as the XWin default when Windows reports a German > keyboard layout? >=20 > [1] https://bugs.freedesktop.org/show_bug.cgi?id=3D9752 > [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 "-xkbvarian= t nodeadtilde" results in a German Windows keyboard (regarding the tilde). I did just a renaming of the Group description there to match the pattern o= f the other xkbvariants. 3. Non breaking space (NBSP) on ALT+space ----------------------------------------- In my patch I provide a xkbvariant "windowscompatible", that puts nobreaksp= ace 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-=B4 plus space gives ' instead of =B4. Please check out my patch for that. Regards, Paul ------=_NextPart_000_000A_01CC58CC.99F49F20 Content-Type: application/octet-stream; name="Compose.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="Compose.patch" Content-length: 566 diff -u orig//Compose new//Compose=0A= --- orig//Compose 2010-02-10 01:49:25.001000000 +0100=0A= +++ new//Compose 2011-08-11 23:27:39.752691500 +0200=0A= @@ -392,7 +392,7 @@=0A= : "`" grave=0A= : "`" grave=0A= # These are for us_intl, that does not have diaeresis, etc=0A= - : "'" apostrophe=0A= + : "\264" acute=0A= : "\264" acute=0A= : "\"" quotedbl=0A= : "\250" diaeresis=0A= ------=_NextPart_000_000A_01CC58CC.99F49F20 Content-Type: application/octet-stream; name="de.patch.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="de.patch.patch" Content-length: 1385 diff -u 01-yourpatch//de 02-new//de=0A= --- 01-yourpatch//de 2011-08-11 21:30:14.018725500 +0200=0A= +++ 02-new//de 2011-08-12 07:41:24.551445700 +0200=0A= @@ -51,6 +51,11 @@=0A= include "kpdl(comma)"=0A= =20=0A= include "level3(ralt_switch)"=0A= +=0A= + // enable xmodmap to put a nobreakspace onto AltGr+space=0A= + // (Without the following line, the key definition is too short= for xmodmap's AltGr level;=0A= + // for users, that don't use xmodmap, the following line is transparen= t.)=0A= + key { [ space, space, space, space ] };=0A= };=0A= =20=0A= partial alphanumeric_keys=0A= @@ -105,12 +110,23 @@=0A= =20=0A= include "de(basic)"=0A= =20=0A= - name[Group1]=3D"German (nodeadtilde)";=0A= + name[Group1]=3D"Germany - nodeadtilde";=0A= =20=0A= key { [ plus, asterisk, asciitilde, macron ] };= =0A= };=0A= =20=0A= partial alphanumeric_keys=0A= +xkb_symbols "windowscompatible" {=0A= + // modify the basic German layout to match the Windows layout=0A= +=0A= + include "de(nodeadtilde)"=0A= +=0A= + name[Group1]=3D"Germany - Windows";=0A= +=0A= + include "nbsp(level3)"=0A= +};=0A= +=0A= +partial alphanumeric_keys=0A= xkb_symbols "ro" {=0A= // add romanian-specific letters to the basic German layout.=0A= // Romanian symbols are accessible with combination of and=0A= ------=_NextPart_000_000A_01CC58CC.99F49F20 Content-Type: application/octet-stream; name="de.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="de.patch" Content-length: 1477 diff -u 00-orig//de 02-new//de=0A= --- 00-orig//de 2010-08-03 02:28:12.001000000 +0200=0A= +++ 02-new//de 2011-08-12 07:41:24.551445700 +0200=0A= @@ -51,6 +51,11 @@=0A= include "kpdl(comma)"=0A= =20=0A= include "level3(ralt_switch)"=0A= +=0A= + // enable xmodmap to put a nobreakspace onto AltGr+space=0A= + // (Without the following line, the key definition is too short= for xmodmap's AltGr level;=0A= + // for users, that don't use xmodmap, the following line is transparen= t.)=0A= + key { [ space, space, space, space ] };=0A= };=0A= =20=0A= partial alphanumeric_keys=0A= @@ -100,6 +105,28 @@=0A= };=0A= =20=0A= partial alphanumeric_keys=0A= +xkb_symbols "nodeadtilde" {=0A= + // modify the basic German layout to not have the tilde dead key=0A= +=0A= + include "de(basic)"=0A= +=0A= + name[Group1]=3D"Germany - nodeadtilde";=0A= +=0A= + key { [ plus, asterisk, asciitilde, macron ] };= =0A= +};=0A= +=0A= +partial alphanumeric_keys=0A= +xkb_symbols "windowscompatible" {=0A= + // modify the basic German layout to match the Windows layout=0A= +=0A= + include "de(nodeadtilde)"=0A= +=0A= + name[Group1]=3D"Germany - Windows";=0A= +=0A= + include "nbsp(level3)"=0A= +};=0A= +=0A= +partial alphanumeric_keys=0A= xkb_symbols "ro" {=0A= // add romanian-specific letters to the basic German layout.=0A= // Romanian symbols are accessible with combination of and=0A= =0A= ------=_NextPart_000_000A_01CC58CC.99F49F20 Content-Type: text/plain; charset=us-ascii Content-length: 223 -- 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/ ------=_NextPart_000_000A_01CC58CC.99F49F20--