Initial Package Version: xkeyboard-config-2.35.1
Upstream Status: N/A, specific to my desktops
Origin: Self
Description: This started out to add two new gb keymap variants, deader and
rusphon. The first is an extension of the default gb keymap, with more dead keys
(on AltGr).  The second is a variant of the russian phonetic keymap, but
adapted to a gb layout and with the dead keys. Both of these include dead_greek.
Rediffed for xkeyboard-config-2.35 (I skipped over 2.35) because rules/evdev.xml
has becoem rules/base.xml.

Not yet tested.

diff -Naur a/rules/base.xml b/rules/base.xml
--- a/rules/base.xml	2022-02-08 17:13:55.441743900 +0000
+++ b/rules/base.xml	2022-02-24 15:21:18.812221439 +0000
@@ -6026,6 +6026,18 @@
             <description>English (UK, Colemak-DH)</description>
           </configItem>
         </variant>
+         <variant>
+           <configItem>
+             <name>deader</name>
+             <description>English (UK, more dead keys)</description>
+           </configItem>
+         </variant>
+         <variant>
+           <configItem>
+             <name>rusphon</name>
+             <description>Russian (UK phonetic plus dead keys)</description>
+           </configItem>
+         </variant>
         <variant>
           <configItem>
             <name>pl</name>
diff -Naur a/symbols/gb b/symbols/gb
--- a/symbols/gb	2022-02-08 17:13:55.518637200 +0000
+++ b/symbols/gb	2022-02-24 15:20:12.990502616 +0000
@@ -294,3 +294,143 @@
 	xkb_symbols "sun_type6" {
 	include "sun_vndr/gb(sun_type6)"
 };
+
+// an extension to /usr/share/X11/xkb/symbols/gb
+// to provide more dead keys on the standard gb layout
+// plus a few extra symbols
+
+default  partial alphanumeric_keys
+xkb_symbols "deader" {
+
+    // Describes the differences between a very simple en_US
+    // keyboard and a very simple U.K. keyboard layout defined by
+    // the SVR4 European Language Supplement and sometimes also
+    // known as the IBM 166 layout.
+    // extended to provide more dead keys
+    // the unchanged 'basic' settings need to be used here to prevent
+    // default american mappings.
+
+    include "latin"
+
+    name[Group1]="English (UK, more dead keys)";
+
+    // key TLDE back quote, add dead accents
+    key <TLDE>  { [    grave,     notsign, dead_doublegrave, dead_invertedbreve] };
+
+    // key AE02 '2' add low double-quotes
+    key <AE02> { [         2,   quotedbl,      twosuperior,             U201e ] };
+
+    // key AE03 '3' add dead currency
+    key <AE03> { [         3,   sterling,    threesuperior,     dead_currency ] };
+
+    // key AE04 as in "basic"
+    key <AE04> { [         4,     dollar,         EuroSign,        onequarter ] };
+
+    // <AC05> : replace eng, ENG with dead_greek, use Compose ng for eng
+    key <AC05>  { [         g,          G,       dead_greek,        dead_greek ] };
+
+    // key AC11 as in "basic"
+    key <AC11> { [apostrophe,         at,  dead_circumflex,        dead_caron ] };
+
+    // key AB08 comma - add dead_belowcomma for romanian
+    key <AB08>  { [     comma,       less,  dead_belowcomma,   dead_belowcomma ] };
+
+    // key BKSL as in basic
+    key <BKSL> { [numbersign, asciitilde,       dead_grave,        dead_breve ] };
+
+    // key LSGT as in "basic"
+    key <LSGT> { [ backslash,        bar,        brokenbar,         brokenbar ] };
+
+    // keypad_add : horn and hook
+    key <KPAD>  { [    KP_Add,     KP_Add,        dead_horn,         dead_hook ] };
+
+    // keypad_divide : dead stroke, dead currency
+    key <KPDV>  { [ KP_Divide,  KP_Divide,      dead_stroke,     dead_currency ] };
+
+    include "level3(ralt_switch_multikey)"
+};
+
+// phonetic russian with AltGr and dead symbols on a UK keyboard
+// similar to my gb(deader) layout but not quite identical for AltGr on number row.
+// best reead in a term 100 columns wide
+
+partial alphanumeric_keys
+xkb_symbols "rusphon" {
+
+     name[Group1]= "Russian (UK phonetic plus dead keys)";
+
+     key <TLDE> { [       Cyrillic_yu,     Cyrillic_YU, dead_doublegrave, dead_invertedbreve ] };
+     key <AE01> { [                 1,            exclam,  onesuperior,   exclamdown  ] };
+     key <AE02> { [                 2,          quotedbl,  twosuperior,        U201e  ] };
+     key <AE03> { [                 3,       Cyrillic_io,     sterling, threesuperior ] };
+     key <AE04> { [                 4,       Cyrillic_IO,       dollar,     EuroSign  ] };
+     key <AE05> { [                 5, Cyrillic_hardsign,      percent,      percent  ] };
+     key <AE06> { [                 6, Cyrillic_HARDSIGN,  asciicircum,  asciicircum  ] };
+     key <AE07> { [                 7,         ampersand                              ] };
+     key <AE08> { [                 8,          asterisk,     asterisk,    trademark  ] };
+     key <AE09> { [                 9,         parenleft, bracketright,    plusminus  ] };
+     key <AE10> { [                 0,        parenright                              ] };
+     key <AE11> { [             minus,        underscore,    backslash, questiondown  ] };
+     // add dead cedilla and ogonek for Compose definitions
+     key <AE12> { [      Cyrillic_che,      Cyrillic_CHE, dead_cedilla,  dead_ogonek  ] };
+
+     // ya is on the 'q' key, add 'qa' which looks like 'q'
+     key <AD01> { [       Cyrillic_ya,       Cyrillic_YA,        U051b,        U051a  ] };
+     // ve is on 'w', add 'we' which looks like 'w'
+     key <AD02> { [       Cyrillic_ve,       Cyrillic_VE,        U051d,        U051c  ] };
+     key <AD03> { [       Cyrillic_ie,       Cyrillic_IE, Ukrainian_ie, Ukrainian_IE  ] };
+     key <AD04> { [       Cyrillic_er,       Cyrillic_ER,    paragraph,   registered  ] };
+     // I have trouble deciding where to put some serbian glyphs - put tshe with te
+     key <AD05> { [       Cyrillic_te,       Cyrillic_TE, Serbian_tshe, Serbian_TSHE  ] };
+     key <AD06> { [     Cyrillic_yeru,     Cyrillic_YERU                              ] };
+     key <AD07> { [        Cyrillic_u,   Cyrillic_U, Cyrillic_u_straight, Cyrillic_U_straight ] };
+     key <AD08> { [        Cyrillic_i,        Cyrillic_I,  Ukrainian_i, Ukrainian_I   ] };
+     key <AD09> { [        Cyrillic_o,        Cyrillic_O                              ] };
+     key <AD10> { [       Cyrillic_pe,       Cyrillic_PE                              ] };
+     // dead diaeresis can be useful, add dead abovering just in case
+     key <AD11> { [      Cyrillic_sha,      Cyrillic_SHA, dead_diaeresis, dead_abovering ] };
+     // dead macron might be useful
+     key <AD12> { [    Cyrillic_shcha,    Cyrillic_SHCHA,   dead_tilde,  dead_macron  ] };
+
+     // add 'a ie ligature' to 'A'
+     key <AC01> { [        Cyrillic_a,        Cyrillic_A,        U04D5,        U04D4  ] };
+     // add dze to 's'
+     key <AC02> { [       Cyrillic_es,       Cyrillic_ES,        U0455,        U0405  ] };
+     key <AC03> { [       Cyrillic_de,       Cyrillic_DE                              ] };
+     key <AC04> { [       Cyrillic_ef,       Cyrillic_EF                              ] };
+     // get access to greek from russian keymap
+     key <AC05> { [      Cyrillic_ghe,      Cyrillic_GHE,   dead_greek,   dead_greek  ] };
+     // add dzhe on ha
+     key <AC06> { [       Cyrillic_ha,       Cyrillic_HA, Cyrillic_dzhe, Cyrillic_DZHE ] };
+     // addd je to short i
+     key <AC07> { [   Cyrillic_shorti,   Cyrillic_SHORTI,  Cyrillic_je,  Cyrillic_JE  ] };
+     key <AC08> { [       Cyrillic_ka,       Cyrillic_KA                              ] };
+     // add lje to el
+     key <AC09> { [       Cyrillic_el,       Cyrillic_EL, Cyrillic_lje, Cyrillic_LJE  ] };
+     key <AC10> { [         semicolon,             colon,   dead_acute, dead_doubleacute ] };
+     key <AC11> { [        apostrophe,                at, dead_circumflex, dead_caron ] };
+     // dead grave and breve are useful
+     key <BKSL> { [        Cyrillic_e,        Cyrillic_E,   dead_grave,   dead_breve  ] };
+
+     key <LSGT> { [         backslash,               bar,    brokenbar,    brokenbar  ] };
+     key <AB01> { [       Cyrillic_ze,       Cyrillic_ZE, guillemotleft,        less  ] };
+     key <AB02> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN, guillemotright,    greater  ] };
+     key <AB03> { [      Cyrillic_tse,      Cyrillic_TSE,         cent,    copyright  ] };
+     key <AB04> { [      Cyrillic_zhe,      Cyrillic_ZHE, leftdoublequotemark, leftsinglequotemark ] };
+     key <AB05> { [       Cyrillic_be,   Cyrillic_BE, rightdoublequotemark, rightsinglequotemark] };
+     // add nje to en
+     key <AB06> { [       Cyrillic_en,       Cyrillic_EN, Cyrillic_nje, Cyrillic_NJE  ] };
+     key <AB07> { [       Cyrillic_em,       Cyrillic_EM                              ] };
+     // add dead_belowcomma for composing diacriticals
+     key <AB08> { [             comma,              less, dead_belowcomma, dead_belowcomma ] };
+     key <AB09> { [            period,           greater, periodcentered,   division  ] };
+     key <AB10> { [             slash,          question                              ] };
+
+     // keypad_add : horn and hook for composing
+     key <KPAD>  { [           KP_Add,            KP_Add,    dead_horn,    dead_hook  ] };
+
+     // keypad_divide : dead stroke for composing, dead currency
+     key <KPDV>  { [        KP_Divide,         KP_Divide,  dead_stroke, dead_currency ] };
+
+ };
+
