The finnish keyboard maps in current X sources appear broken in multiple
ways:

 - the behaviour of the dead keys looks totally useless. This is 
   apparently not a finnish keyboard issue, but something generic. If I 
   have a dead_tilde key (which I do), there's apparently no way for me to
   get a _live_ tilde. It's dead, and it stays dead.

        Example:
                dead_tilde + 'n' works fine, and gives a proper character 
                (which my newly updated 'pine' is too stupid to allow me
                to email rigth now ;)�

                dead_tilde + ' ' does NOT work.

   This used to work before, ie I could get a real tilde by either 
   pressign {dead_tilde + ' '} or by pressing dead_tilde twice.

   I haven't found a single way to get a real tilde from the current 
   finnish keyboard maps. Maybe I'm just stupid, but quite frankly I think 
   it's the dead key handling that's just broken.

   I have no idea how to fix this.

 - To work around this (since tilde on its own is a lot more important to
   me than writing spanish) I decided to just load the non-dead-keys 
   version of the finnish maps. Which sadly doesn't make any difference at 
   all, and indeed, looking at the finnish map there is zero difference 
   between the basic (dead) map and the nondead maps:

        partial alphanumeric_keys
        xkb_symbols "nodeadkeys" {
            include "fi(basic)"         // for consistent naming
        };

   which kind of sucks. 

So in desperation, I look at the Swedish keyboard maps (which _should_ be 
identical to the finnish ones), and they are less broken, but still 
broken. They have

           .. basic section ..
            key <AD12> {        [  dead_diaeresis, dead_circumflex      ], 
                                [      dead_tilde,      dead_caron      ]};

which is correct for the dead case, but then for the non-dead case thay 
have

        partial alphanumeric_keys
        xkb_symbols "nodeadkeys" {
        
            // Modifies the basic Swedish layout to eliminate all dead keys
        
            include "se(basic)"
            key <AE12> {        [           acute,           grave      ]       };
            key <AD12> {        [       diaeresis,     asciicircum      ]       };
        };

and notice how the tilde and caron are _still_ missing! The dead_tilde 
that used to be at AD12 didn't become live, it just disappeared entirely.

I'm appending an UNTESTED suggested patch that looks somewhat correct to 
me, can you please verify whether this is the right approach? The reason 
it is untested is that either modifying these files doesn't actually 
_matter_ for the keyboard layout, or the dependencies in the X11R6 build 
tree are just so horribly bad that modifying them and doing "make" doesn't 
actually fix it.

I suspect the dependencies, so I'm doing a "make clean + make World" right
now, but that will take some time.

[ I also hope that somebody with more drive than I have will some day
decide that the X Makefiles are such a mess that they'd be willing to get
rid of all that horribly broken imake crap and just fix them. What a
broken build system! ]

                Linus

<- maybe fixes it, maybe doesn't ->
Index: fi
===================================================================
RCS file: /cvs/xc/programs/xkbcomp/symbols/fi,v
retrieving revision 3.9
diff -u -r3.9 fi
--- fi  2002/12/19 01:07:54     3.9
+++ fi  2002/12/27 21:06:29
@@ -108,5 +108,14 @@
 
 partial alphanumeric_keys 
 xkb_symbols "nodeadkeys" {
+    // Modifies the basic Finnish layout to eliminate all dead keys
+
     include "fi(basic)"                // for consistent naming
+
+    key <AB08> {       [           comma,       semicolon      ],
+                       [         cedilla,          ogonek      ]};
+    key <AE12> {       [           acute,           grave      ],
+                       [        NoSymbol,        NoSymbol      ]};
+    key <AD12> {       [       diaeresis,      circumflex      ],
+                       [           tilde,           caron      ]};
 };
Index: se
===================================================================
RCS file: /cvs/xc/programs/xkbcomp/symbols/se,v
retrieving revision 3.10
diff -u -r3.10 se
--- se  2002/12/19 01:07:54     3.10
+++ se  2002/12/27 21:06:29
@@ -113,6 +113,12 @@
     // Modifies the basic Swedish layout to eliminate all dead keys
 
     include "se(basic)"
-    key <AE12> {       [           acute,           grave      ]       };
-    key <AD12> {       [       diaeresis,     asciicircum      ]       };
+    key <AB08> {       [           comma,       semicolon      ],
+                       [         cedilla,          ogonek      ]};
+    key <AB09> {       [          period,           colon      ],
+                       [  periodcentered,        abovedot      ]};
+    key <AE12> {       [           acute,           grave      ],
+                       [       plusminus,         notsign      ]};
+    key <AD12> {       [       diaeresis,      circumflex      ],
+                       [           tilde,           caron      ]};
 };

_______________________________________________
Xpert mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/xpert

Reply via email to