diff -uNr xkeyboard-config-20070104.orig/rules/base.xml.in xkeyboard-config-20070104.space/rules/base.xml.in
--- xkeyboard-config-20070104.orig/rules/base.xml.in 2007-01-02 21:56:55.000000000 +0100
+++ xkeyboard-config-20070104.space/rules/base.xml.in 2007-01-04 23:24:58.000000000 +0100
@@ -3499,10 +3499,28 @@
+
+
+
diff -uNr xkeyboard-config-20070104.orig/symbols/ca xkeyboard-config-20070104.space/symbols/ca
--- xkeyboard-config-20070104.orig/symbols/ca 2006-09-04 22:25:10.000000000 +0200
+++ xkeyboard-config-20070104.space/symbols/ca 2007-01-04 23:24:12.000000000 +0100
@@ -445,7 +445,7 @@
key { [ eacute, Eacute, dead_acute, NoSymbol,
NoSymbol, dead_abovedot ] };
- key { type[Group1]= "FOUR_LEVEL", [ space, space, nobreakspace, NoSymbol ] };
+ include "nbsp(level3s)"
modifier_map Control{ Control_L };
diff -uNr xkeyboard-config-20070104.orig/symbols/fr xkeyboard-config-20070104.space/symbols/fr
--- xkeyboard-config-20070104.orig/symbols/fr 2006-11-02 21:49:10.000000000 +0100
+++ xkeyboard-config-20070104.space/symbols/fr 2007-01-04 23:24:42.000000000 +0100
@@ -105,14 +105,16 @@
// ┃ ┃ > ≥ │ W “ │ X ” │ C ® │ V ← │ B ↑ │ N → │ ? … │ . . │ / ∕ │ § − ┃ ┃
// ┃Shift ⇧┃ < ≤ │ w « │ x » │ c © │ v ⍽ │ b ↓ │ n ¬ │ , ¿ │ ; × │ : ÷ │ ! ¡ ┃Shift ⇧ ┃
// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛
-// ┃ ┃ ┃ ┃ ␣ Espace insécable ⍽ ┃ ┃ ┃ ┃
-// ┃Ctrl ┃Meta ┃Alt ┃ ␣ Espace ␣ ┃AltGr ⇮┃Menu ┃Ctrl ┃
+// ┃ ┃ ┃ ┃ ␣ Espace fine insécable ⍽ ┃ ┃ ┃ ┃
+// ┃Ctrl ┃Meta ┃Alt ┃ ␣ Espace Espace insécable ⍽ ┃AltGr ⇮┃Menu ┃Ctrl ┃
// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛
partial alphanumeric_keys
xkb_symbols "oss" {
include "latin"
include "level3(ralt_switch)"
+ include "level5(rctrl_switch)"
+ include "nbsp(level4n)"
include "keypad(oss)"
name[Group1]="France - Alternative";
@@ -172,9 +174,6 @@
key { [ semicolon, period, multiply, 0x10022C5 ] }; // ; . × ⋅
key { [ colon, slash, division, 0x1002215 ] }; // : / ÷ ∕
key { [ exclam, section, exclamdown, 0x1002212 ] }; // ! § ¡ −
-
- // Make nobreakspace harder to hit
- key { [ space, space, space, nobreakspace ] }; // ␣ ␣ ␣ ⍽ (espace insécable)
};
partial alphanumeric_keys
@@ -332,6 +331,7 @@
xkb_symbols "latin9" {
include "latin"
+ include "nbsp(level3)"
name[Group1]="France - (Legacy) Alternative";
@@ -387,8 +387,6 @@
key { [ colon, slash, division ] };
key { [ exclam, section, exclamdown ] };
- key { [ space, space, nobreakspace ] };
-
// French uses a comma as decimal separator, but keyboards are labeled with a period
// Will take effect when KP_Decimal is mapped to the locale decimal separator
key { [ KP_Delete, period, KP_Delete, KP_Decimal ] };
diff -uNr xkeyboard-config-20070104.orig/symbols/nbsp xkeyboard-config-20070104.space/symbols/nbsp
--- xkeyboard-config-20070104.orig/symbols/nbsp 2006-10-11 21:32:35.000000000 +0200
+++ xkeyboard-config-20070104.space/symbols/nbsp 2007-01-04 23:25:31.000000000 +0100
@@ -19,6 +19,11 @@
};
};
+
+// level3 & level3ns provide no-breaking spaces starting from level3
+// This is good for typographers but experience shows many users accidently
+// type no-breaking spaces on the CLI (resulting in errors)
+// Used by fr(latin9)
partial
xkb_symbols "level3" {
key {
@@ -27,6 +32,27 @@
};
};
+// level3s kills fourth level
+// Used by ca(multix)
+partial
+xkb_symbols "level3s" {
+ key {
+ type[Group1]="FOUR_LEVEL",
+ symbols[Group1]= [ space, space, nobreakspace, NoSymbol ]
+ };
+};
+
+// level3n provides narrow no-breaking space in addition to the normal one
+partial
+xkb_symbols "level3n" {
+ key {
+ type[Group1]="FOUR_LEVEL",
+ symbols[Group1]= [ space, space, nobreakspace, 0x100202F ]
+ };
+};
+
+
+// for this reason pushing no-breaking spaces to level4 is the safe default nowadays
partial
xkb_symbols "level4" {
key {
@@ -34,3 +60,14 @@
symbols[Group1]= [ space, space, space, nobreakspace ]
};
};
+
+// level4n provides narrow no-breaking space in addition to the normal one
+// Used by fr(oss), be(oss)…
+partial
+xkb_symbols "level4n" {
+ key {
+ type[Group1]="EIGHT_LEVEL",
+ symbols[Group1]= [ space, space, space, nobreakspace, space, 0x100202F, NoSymbol, NoSymbol ]
+ };
+};
+