Fixes to DIN T3 layout:
authorAndreas Wettstein <wettstein509@solnet.ch>
Sat, 3 Aug 2013 16:31:37 +0000 (18:31 +0200)
committerSergey Udaltsov <sergey.udaltsov@gmail.com>
Tue, 13 Aug 2013 22:08:14 +0000 (23:08 +0100)
- Use standard compliant to access the "common secondary group" and Level 3,
  using latches.  This requires Xorg server 1.15 or up to work.

- Avoid binding Level5 to Shift, by changing the compat for ISO_Level5_Latch
  and ISO_Level5_Lock.  They now look like the Level3-keysyms.  Only de(T3) and
  de(neo) use these two keysyms, no backward compatibility issues are to be
  expected.  For T3, changing ISO_Level5_Latch would have been sufficient.

- Do not include latin(type4), to avoid populating Level4 with random stuff
  that cannot be removed once users get used to it.

- Consistent use of dead_stroke.

Signed-off-by: Andreas Wettstein <wettstein509@solnet.ch>
compat/level5
symbols/de

index 8d28051..8e0cc9c 100644 (file)
@@ -20,6 +20,7 @@ default partial xkb_compatibility "default"  {
     };
 
     interpret ISO_Level5_Latch+Any {
+       useModMapMods= level1;
        virtualModifier= LevelFive;
        action= LatchMods(modifiers=LevelFive);
     };
@@ -29,6 +30,7 @@ default partial xkb_compatibility "default"  {
     };
 
     interpret ISO_Level5_Lock+Any {
+       useModMapMods= level1;
        virtualModifier= LevelFive;
        action= LockMods(modifiers=LevelFive);
     };
index 20689af..adc60ed 100644 (file)
@@ -107,8 +107,6 @@ xkb_symbols "deadacute" {
 
 partial alphanumeric_keys
 xkb_symbols "T3" {
-    include "latin(type4)"
-
     name[Group1]="German (T3)";
 
     key.type[Group1] = "EIGHT_LEVEL";
@@ -151,7 +149,7 @@ xkb_symbols "T3" {
     key <AC05> { [               g,               G,         seconds,        NoSymbol,             eng,             ENG, dead_belowmacron,       NoSymbol ] };
     key <AC06> { [               h,               H,           U1E9E,        NoSymbol,           U0272,           U019D,           U0332,        NoSymbol ] };
     key <AC07> { [               j,               J,    dead_cedilla,        NoSymbol,           U0133,           U0132,  dead_belowring,        NoSymbol ] };
-    key <AC08> { [               k,               K, dead_belowcomma,        NoSymbol,             kra, dead_belowcomma,           U0335,        NoSymbol ] };
+    key <AC08> { [               k,               K, dead_belowcomma,        NoSymbol,             kra, dead_belowcomma,     dead_stroke,        NoSymbol ] };
     key <AC09> { [               l,               L,     dead_ogonek,        NoSymbol,         lstroke,         Lstroke,           U0338,        NoSymbol ] };
     key <AC10> { [      odiaeresis,      Odiaeresis,   dead_belowdot,        NoSymbol,      dead_acute, dead_doubleacute,         degree,        NoSymbol ] };
     key <AC11> { [      adiaeresis,      Adiaeresis,     dead_stroke,        NoSymbol,           U019B,           U1E9E,         minutes,        NoSymbol ] };
@@ -176,10 +174,12 @@ xkb_symbols "T3" {
 
     include "kpdl(comma)"
 
-    // We do not support the correct level selection mechanism yet, this is
-    //just for testing:
-    include "level5(rctrl_switch)"
-    include "level3(ralt_switch)"
+    include "level5(modifier_mapping)"
+    include "level3(modifier_mapping)"
+    key.type[Group1] = "THREE_LEVEL";
+    key <LFSH> { [ Shift_L, Shift_L, ISO_Level5_Latch ] };
+    key <RTSH> { [ Shift_R, Shift_R, ISO_Level5_Latch ] };
+    key <RALT> { [ ISO_Level3_Latch, ISO_Level5_Latch, ISO_Level5_Latch ] };
  };
 
 partial alphanumeric_keys