]> gitweb.fperrin.net Git - xkb.git/commitdiff
English layout with French accents on dead keys
authorFrédéric Perrin <fred@fperrin.net>
Fri, 8 Mar 2024 17:15:17 +0000 (17:15 +0000)
committerFrédéric Perrin <frederic.perrin@addsecure.com>
Fri, 8 Mar 2024 17:47:19 +0000 (17:47 +0000)
README [new file with mode: 0644]
rules/evdev.xml [new file with mode: 0644]
symbols/gb [new file with mode: 0644]

diff --git a/README b/README
new file mode 100644 (file)
index 0000000..0e63c5b
--- /dev/null
+++ b/README
@@ -0,0 +1,7 @@
+Put this folder under $XDG_CONFIG_HOME (ie. the variant file should end up
+as ~/.config/xkb/symbols/gb).
+
+Log out / back in, then select the new variant. Under GNOME, go in the
+"Settings" tools, "Keyboard" page, in "Input Sources" the little "+",
+"Add an Input Source" for "English (United Kingdom)", and find
+"English (French accents on dead keys)".
diff --git a/rules/evdev.xml b/rules/evdev.xml
new file mode 100644 (file)
index 0000000..0c95aca
--- /dev/null
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE xkbConfigRegistry SYSTEM "xkb.dtd">
+<xkbConfigRegistry version="1.1">
+  <layoutList>
+    <layout>
+      <configItem>
+        <name>gb</name>
+      </configItem>
+      <variantList>
+        <variant>
+          <configItem>
+            <name>FR-accents</name>
+            <shortDescription>English (French accents)</shortDescription>
+            <description>English (French accents on dead keys)</description>
+          </configItem>
+        </variant>
+      </variantList>
+    </layout>
+  </layoutList>
+</xkbConfigRegistry>
diff --git a/symbols/gb b/symbols/gb
new file mode 100644 (file)
index 0000000..88836a5
--- /dev/null
@@ -0,0 +1,97 @@
+partial alphanumeric_keys
+xkb_symbols "FR-accents" {
+
+    include "gb(basic)"
+    name[Group1]= "UK (French accents)";
+
+    // top row (digits)
+    key <TLDE> {
+        type= "FOUR_LEVEL",
+        symbols[Group1]= [  grave,     notsign,     dead_grave,          bar ]
+    };
+    key <AE01> {
+        type= "FOUR_LEVEL",
+        symbols[Group1]= [      1,      exclam,    exclamdown,   onesuperior ]
+    };
+    key <AE02> {
+        type= "FOUR_LEVEL",
+        symbols[Group1]= [      2,    quotedbl, dead_diaeresis,  twosuperior ]
+    };
+    key <AE04> {
+        type= "FOUR_LEVEL",
+        symbols[Group1]= [      4,      dollar,       EuroSign,         cent ]
+    };
+    key <AE06> {
+        type= "FOUR_LEVEL",
+        symbols[Group1]= [      6, asciicircum, dead_circumflex, fiveeighths ]
+    };
+    key <AE11> {
+        type= "FOUR_LEVEL",
+        symbols[Group1]= [  minus,  underscore,         emdash,       endash ]
+    };
+    key <AE12> {
+        type= "FOUR_LEVEL",
+        symbols[Group1]= [  equal,        plus,       multiply,     division ]
+    };
+
+    // QWE... row
+    key <AD01> {
+        type= "FOUR_LEVEL_SEMIALPHABETIC",
+        symbols[Group1]= [      q,           Q,             at,  Greek_OMEGA ]
+    };
+    key <AD04> {
+        type= "FOUR_LEVEL_SEMIALPHABETIC",
+        symbols[Group1]= [      r,           R,     registered,   registered ]
+    };
+
+    key <AD09> {
+        type= "FOUR_LEVEL_ALPHABETIC",
+        symbols[Group1]= [      o,           O,             oe,           OE ]
+    };
+    key <AD11> {
+        type= "FOUR_LEVEL",
+        symbols[Group1]= [ bracketleft, braceleft, guillemotleft,   NoSymbol ]
+    };
+    key <AD12> {
+        type= "FOUR_LEVEL",
+        symbols[Group1]= [ bracketright, braceright, guillemotright, NoSymbol ]
+    };
+
+    // ASD... row
+    key <AC01> {
+        type= "FOUR_LEVEL_ALPHABETIC",
+        symbols[Group1]= [      a,           A,             ae,           AE ]
+    };
+    key <AC10> {
+        type= "FOUR_LEVEL",
+        symbols[Group1]= [ semicolon,    colon,      paragraph,     NoSymbol ]
+    };
+    key <AC11> {
+        type= "FOUR_LEVEL",
+        symbols[Group1]= [ apostrophe,      at,     dead_acute,   dead_caron ]
+    };
+    key <BKSL> {
+        type= "FOUR_LEVEL",
+        symbols[Group1]= [ numbersign, asciitilde,  dead_tilde,   dead_breve ]
+    };
+
+    // ZXC... row
+    key <AB03> {
+        type= "FOUR_LEVEL_SEMIALPHABETIC",
+        symbols[Group1]= [      c,           C,      copyright,         cent ]
+    };
+    key <AB08> {
+        type= "FOUR_LEVEL",
+        symbols[Group1]= [  comma,        less,   dead_cedilla, dead_cedilla ]
+    };
+    key <AB10> {
+        type= "FOUR_LEVEL",
+        symbols[Group1]= [  slash,    question,  questiondown, dead_abovedot ]
+    };
+
+    key <SPCE> {
+        type= "FOUR_LEVEL",
+        symbols[Group1]= [  space,        space,  nobreakspace, nobreakspace ]
+    };
+    key <CAPS> {         [       Control_L,       Control_L ] };
+};