Skip to content

Instantly share code, notes, and snippets.

@TimaGribanov
Last active September 15, 2023 09:46
Show Gist options
  • Save TimaGribanov/c5a0a8afdb7c0dad57b8c70cebf3f560 to your computer and use it in GitHub Desktop.
Save TimaGribanov/c5a0a8afdb7c0dad57b8c70cebf3f560 to your computer and use it in GitHub Desktop.
// EN_EXT (English Extended Layout).
// This is a modified English US intl., with dead keys keyboard
// Timofey Gribanov <[email protected]>
// Last changes 2022/01/18
//
// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━━━┓
// │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( “ │ ) “ │ _ │ + ┃ ⌫ ┃
// │ ` │ 1 ¡ │ 2 │ 3 │ 4 £ │ 5 € │ 6 ◌̌ │ 7 │ 8 │ 9 ‘ │ 0 ’ │ - — │ = – ┃Backspace ┃
// ┢━━━━━┷━━━┱─┴───┬─┴───┬─┴───┬─┴───┬─┴───┬─┴───┬─┴───┬─┴───┬─┴───┬─┴───┬─┴───┬─┺━━━┳━━━━━━━┫
// ┃ Tab ┃ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ { │ } ┃ Enter ┃
// ┃ ↹ ┃ q │ w │ e │ r │ t │ y │ u │ i │ o │ p │ [ « │ ] » ┃ ┃
// ┣━━━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ┃
// ┃ Caps ┃ A │ S │ D Ð │ F Ä │ G Ö │ H Ü │ J │ K Ŀ │ L Ł │ : │ " │ | ┃ ┃
// ┃ Lock ⇬ ┃ a │ s │ d ð │ f ä │ g ö │ h ü │ j │ k ŀ │ l ł │ ; ◌̀ │ ' ◌́ │ \ ┃ ┃
// ┣━━━━━━━━━━┻━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┲━━━┷━━━━━┻━━━━━━┫
// ┃ ┃ Z Æ │ X │ C Ç │ V Ő │ B Ű │ N Ñ │ M │ < │ > │ ? ┃ ┃
// ┃ Shift ⇧ ┃ z æ │ x │ c ç │ v ő │ b ű │ n ñ │ m │ , │ . │ / ¿ ┃ Shift ⇧ ┃
// ┣━━━━━━━┳━━━━┻━━┳━━┷━━━━┳┴─────┴─────┴─────┴─────┴─────┴────┲┷━━━━━┷━━┳━━┻━━━━━━┳━━━━━━━━━┫
// ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
// ┃ Ctrl ┃ Meta ┃ Alt ┃ Space ┃ AltGr ┃ Menu ┃ Ctrl ┃
// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━━━┻━━━━━━━━━┻━━━━━━━━━┛
partial alphanumeric_keys
xkb_symbols "en_ext" {
include "us(basic)"
name[Group1]= "English (ext., intl., with dead keys)";
key <TLDE> { [ grave, asciitilde ] };
key <AE01> { [ 1, exclam, exclamdown ] };
key <AE02> { [ 2, at ] };
key <AE03> { [ 3, numbersign ] };
key <AE04> { [ 4, dollar, sterling ] };
key <AE05> { [ 5, percent, EuroSign ] };
key <AE06> { [ 6, asciicircum, dead_hacek ] };
key <AE07> { [ 7, ampersand ] };
key <AE08> { [ 8, asterisk ] };
key <AE09> { [ 9, parenleft, leftsinglequotemark, leftdoublequotemark ] };
key <AE10> { [ 0, parenright, rightsinglequotemark, rightdoublequotemark ] };
key <AE11> { [ minus, underscore, emdash ] };
key <AE12> { [ equal, plus, endash ] };
key <AD11> { [ bracketleft, braceleft, guillemotleft ] };
key <AD12> { [ bracketright, braceright, guillemotright ] };
key <AC03> { [ d, D, eth, ETH ] };
key <AC04> { [ f, F, adiaeresis, Adiaeresis ] };
key <AC05> { [ g, G, odiaeresis, Odiaeresis ] };
key <AC06> { [ h, H, udiaeresis, Udiaeresis ] };
key <AC08> { [ k, K, U0140, U013F ] };
key <AC09> { [ l, L, U0142, U0141 ] };
key <AC10> { [ semicolon, colon, dead_grave ] };
key <AC11> { [ apostrophe, quotedbl, dead_acute ] };
key <AB01> { [ z, Z, ae, AE ] };
key <AB03> { [ c, C, ccedilla, Ccedilla ] };
key <AB04> { [ v, V, U0151, U0150 ] };
key <AB05> { [ b, B, U0171, U0170 ] };
key <AB06> { [ n, N, ntilde, Ntilde ] };
key <AB10> { [ slash, question, questiondown ] };
include "level3(ralt_switch)"
};
=================================
=================================
=================================
// RU_EXT (Russian Extended Layout).
// This is a modified Russian standard keyboard, with the third level containing
// Ukrainian and Belarusian alphabetic letters and commonly used Unicode symbols.
// Timofey Gribanov <[email protected]>
// Last changes 2022/01/18
//
// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━━━┓
// │ Ё │ ! Ў │ " Ґ │ № Є │ ; ₴ │ % │ : │ ? │ * │ ( │ ) │ _ │ + ┃ ⌫ ┃
// │ ё │ 1 ў │ 2 ґ │ 3 є │ 4 ₽ │ 5 │ 6 │ 7 │ 8 │ 9 [ │ 0 ] │ - — │ = – ┃Backspace ┃
// ┢━━━━━┷━━━┱─┴───┬─┴───┬─┴───┬─┴───┬─┴───┬─┴───┬─┴───┬─┴───┬─┴───┬─┴───┬─┴───┬─┺━━━┳━━━━━━━┫
// ┃ Tab ┃ Й Ї │ Ц І │ У │ К │ Е │ Н │ Г │ Ш │ Щ │ З │ Х „ │ Ъ “ ┃ Enter ┃
// ┃ ↹ ┃ й ї │ ц і │ у │ к │ е │ н │ г │ ш │ щ │ з │ х « │ ъ » ┃ ┃
// ┣━━━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ┃
// ┃ Caps ┃ Ф │ Ы │ В │ А │ П │ Р │ О │ Л │ Д │ Ж │ Э │ | ¦ ┃ ┃
// ┃ Lock ⇬ ┃ ф │ ы │ в │ а │ п │ р │ о │ л │ д │ ж │ э │ / \ ┃ ┃
// ┣━━━━━━━━━━┻━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┲━━━┷━━━━━┻━━━━━━┫
// ┃ ┃ Я │ Ч │ С │ М Ѵ │ И │ Т │ Ь Ѣ │ Б │ Ю │ , ┃ ┃
// ┃ Shift ⇧ ┃ я │ ч │ с │ м ѵ │ и │ т │ ь ѣ │ б │ ю │ . ┃ Shift ⇧ ┃
// ┣━━━━━━━┳━━━━┻━━┳━━┷━━━━┳┴─────┴─────┴─────┴─────┴─────┴────┲┷━━━━━┷━━┳━━┻━━━━━━┳━━━━━━━━━┫
// ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
// ┃ Ctrl ┃ Meta ┃ Alt ┃ Space ┃ AltGr ┃ Menu ┃ Ctrl ┃
// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━━━┻━━━━━━━━━┻━━━━━━━━━┛
partial alphanumeric_keys
xkb_symbols "ru_ext" {
include "ru(common)"
name[Group1]= "Russian (with extra symbols)";
key <AE01> { [ 1, exclam, Byelorussian_shortu, Byelorussian_SHORTU ] };
key <AE02> { [ 2, quotedbl, Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ] };
key <AE03> { [ 3, numerosign, Ukrainian_ie, Ukrainian_IE ] };
key <AE04> { [ 4, semicolon, U20BD, U20B4 ] }; //Russian Ruble and Ukrainian Hryvnia
key <AE05> { [ 5, percent ] };
key <AE06> { [ 6, colon ] };
key <AE07> { [ 7, question ] };
key <AE08> { [ 8, asterisk ] };
key <AE09> { [ 9, parenleft, bracketleft ] };
key <AE10> { [ 0, parenright, bracketright ] };
key <AE11> { [ minus, underscore, emdash ] };
key <AE12> { [ equal, plus, endash ] };
key <TLDE> { [ Cyrillic_io, Cyrillic_IO ] };
key <AD01> { [ Cyrillic_shorti, Cyrillic_SHORTI, Ukrainian_yi, Ukrainian_YI ] };
key <AD02> { [ Cyrillic_tse, Cyrillic_TSE, Ukrainian_i, Ukrainian_I ] };
key <AD11> { [ Cyrillic_ha, Cyrillic_HA, guillemotleft, doublelowquotemark ] };
key <AD12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN, guillemotright, leftdoublequotemark ] };
key <BKSL> { [ slash, bar, backslash, brokenbar ] };
key <AB04> { [ Cyrillic_em, Cyrillic_EM, U0475, U0474 ] };
key <AB07> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN, U0463, U0462 ] };
include "level3(ralt_switch)"
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment