Skip to content

Instantly share code, notes, and snippets.

@AmbientLighter
Created July 2, 2012 21:01
Show Gist options
  • Save AmbientLighter/c3892e84c7ffe9a46ccc to your computer and use it in GitHub Desktop.
Save AmbientLighter/c3892e84c7ffe9a46ccc to your computer and use it in GitHub Desktop.
Alternative Crimean Tatar Keyboard Layout
// $XKeyboardConfig$
// based on
// ukrainian standard keyboard
// AEN <aen@logic.ru> & Leon Kanter <leon@geon.donetsk.ua>
// Last Changes 2007/10/03 by Andriy Rysin <arysin@yahoo.com>
//
// $XFree86: xc/programs/xkbcomp/symbols/ua,v 1.4 2003/05/15 11:29:47 pascal Exp $
// Unicode - 3d level added with some Unicode symbols (typographic quotes, m-dash, n-dash etc),
// some often used cyrillics from other slavic languages and some ASCII symbols used often (slash, brackets...)
partial default alphanumeric_keys
xkb_symbols "unicode" {
include "ua(winkeys)"
name[Group1]= "Ukraine";
key <TLDE> { [ U2019, apostrophe, U0301, asciitilde ] }; // Apostrophe and Stress symbol
key <AE02> { [ 1, exclam, onesuperior ] };
key <AE02> { [ 2, quotedbl, twosuperior ] };
key <AE03> { [ 3, numerosign, U00A7, U20B4 ] }; // Paragraph and Hryvnia sign
key <AE04> { [ 4, semicolon, dollar, EuroSign ] };
key <AE05> { [ 5, percent, degree ] };
key <AE06> { [ 6, colon, less ] };
key <AE07> { [ 7, question, greater ] };
key <AE08> { [ 8, asterisk, enfilledcircbullet ] };
key <AE09> { [ 9, parenleft, bracketleft, braceleft ] };
key <AE10> { [ 0, parenright, bracketright, braceright] };
key <AE11> { [ minus, underscore, emdash, endash ] };
key <AE12> { [ equal, plus, notequal, plusminus ] };
key <AD03> { [ Cyrillic_u, Cyrillic_U, Byelorussian_shortu, Byelorussian_SHORTU ]};
key <AD04> { [ Cyrillic_ka, Cyrillic_KA, registered ] }; // Registered tm
key <AD05> { [ Cyrillic_ie, Cyrillic_IE, Cyrillic_io, Cyrillic_IO ] };
key <AD12> { [ Ukrainian_yi,Ukrainian_YI, Cyrillic_hardsign, Cyrillic_HARDSIGN ] };
key <AC02> { [ Ukrainian_i, Ukrainian_I, Cyrillic_yeru, Cyrillic_YERU ] };
key <AC11> { [ Ukrainian_ie,Ukrainian_IE, Cyrillic_e, Cyrillic_E ] };
key <BKSL> { [ Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN, backslash, bar ] };
key <AB03> { [ Cyrillic_es, Cyrillic_ES, copyright ] };
key <AB06> { [ Cyrillic_te, Cyrillic_TE, trademark ] };
key <AB08> { [ Cyrillic_be, Cyrillic_BE, guillemotleft, doublelowquotemark ] };
key <AB09> { [ Cyrillic_yu, Cyrillic_YU, guillemotright, leftdoublequotemark ] };
key <AB10> { [ period, comma, slash, ellipsis ] };
include "level3(ralt_switch)"
};
partial alphanumeric_keys
xkb_symbols "legacy" {
name[Group1]= "Ukraine - Legacy";
key <TLDE> { [ apostrophe, asciitilde ] };
key <AE01> { [ 1, exclam ] };
key <AE02> { [ 2, quotedbl ] };
key <AE03> { [ 3, numbersign ] };
key <AE04> { [ 4, asterisk ] };
key <AE05> { [ 5, colon ] };
key <AE06> { [ 6, comma ] };
key <AE07> { [ 7, period ] };
key <AE08> { [ 8, semicolon ] };
key <AE09> { [ 9, parenleft ] };
key <AE10> { [ 0, parenright ] };
key <AE11> { [ minus, underscore ] };
key <AE12> { [ equal, plus ] };
key <AD01> { [ Cyrillic_shorti, Cyrillic_SHORTI ] };
key <AD02> { [ Cyrillic_tse, Cyrillic_TSE ] };
key <AD03> { [ Cyrillic_u, Cyrillic_U ] };
key <AD04> { [ Cyrillic_ka, Cyrillic_KA ] };
key <AD05> { [ Cyrillic_ie, Cyrillic_IE ] };
key <AD06> { [ Cyrillic_en, Cyrillic_EN ] };
key <AD07> { [ Cyrillic_ghe, Cyrillic_GHE ] };
key <AD08> { [ Cyrillic_sha, Cyrillic_SHA ] };
key <AD09> { [ Cyrillic_shcha, Cyrillic_SHCHA ] };
key <AD10> { [ Cyrillic_ze, Cyrillic_ZE ] };
key <AD11> { [ Cyrillic_ha, Cyrillic_HA ] };
key <AD12> { [ Ukrainian_yi, Ukrainian_YI ] };
key <BKSL> { [ Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ] };
key <AC01> { [ Cyrillic_ef, Cyrillic_EF ] };
key <AC02> { [ Ukrainian_i, Ukrainian_I ] };
key <AC03> { [ Cyrillic_ve, Cyrillic_VE ] };
key <AC04> { [ Cyrillic_a, Cyrillic_A ] };
key <AC05> { [ Cyrillic_pe, Cyrillic_PE ] };
key <AC06> { [ Cyrillic_er, Cyrillic_ER ] };
key <AC07> { [ Cyrillic_o, Cyrillic_O ] };
key <AC08> { [ Cyrillic_el, Cyrillic_EL ] };
key <AC09> { [ Cyrillic_de, Cyrillic_DE ] };
key <AC10> { [ Cyrillic_zhe, Cyrillic_ZHE ] };
key <AC11> { [ Ukrainian_ie, Ukrainian_IE ] };
key <AB01> { [ Cyrillic_ya, Cyrillic_YA ] };
key <AB02> { [ Cyrillic_che, Cyrillic_CHE ] };
key <AB03> { [ Cyrillic_es, Cyrillic_ES ] };
key <AB04> { [ Cyrillic_em, Cyrillic_EM ] };
key <AB06> { [ Cyrillic_te, Cyrillic_TE ] };
key <AB05> { [ Cyrillic_i, Cyrillic_I ] };
key <AB07> { [Cyrillic_softsign,Cyrillic_SOFTSIGN ] };
key <AB08> { [ Cyrillic_be, Cyrillic_BE ] };
key <AB09> { [ Cyrillic_yu, Cyrillic_YU ] };
key <AB10> { [ slash, question ] };
key <LSGT> { [ slash, bar ] };
// End alphanumeric section
};
partial alphanumeric_keys
xkb_symbols "winkeys" {
include "ua(legacy)"
name[Group1]= "Ukraine - Winkeys";
key <AE03> { [ 3, numerosign ] };
key <AE04> { [ 4, semicolon ] };
key <AE05> { [ 5, percent ] };
key <AE06> { [ 6, colon ] };
key <AE07> { [ 7, question ] };
key <AE08> { [ 8, asterisk ] };
key <AB10> { [ period, comma ] };
};
partial alphanumeric_keys
xkb_symbols "typewriter" {
include "ua(legacy)"
name[Group1]= "Ukraine - Typewriter";
key <TLDE> { [ apostrophe, quotedbl ] };
key <AE01> { [ exclam, 1 ] };
key <AE02> { [ numerosign, 2 ] };
key <AE03> { [ slash, 3 ] };
key <AE04> { [ semicolon, 4 ] };
key <AE05> { [ colon, 5 ] };
key <AE06> { [ comma, 6 ] };
key <AE07> { [ period, 7 ] };
key <AE08> { [ underscore, 8 ] };
key <AE09> { [ question, 9 ] };
key <AE10> { [ percent, 0 ] };
key <AD12> { [ Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ] };
key <AC02> { [ Cyrillic_i, Cyrillic_I ] };
key <AB05> { [ Ukrainian_i, Ukrainian_I ] };
key <AB10> { [ Ukrainian_yi, Ukrainian_YI ] };
key <BKSL> { [ parenleft, parenright ] };
};
partial alphanumeric_keys
xkb_symbols "phonetic" {
include "ua(legacy)"
name[Group1]= "Ukraine - Phonetic";
key <LatQ> { [ Cyrillic_ya, Cyrillic_YA ] };
key <LatW> { [ Cyrillic_ve, Cyrillic_VE ] };
key <LatE> { [ Cyrillic_ie, Cyrillic_IE ] };
key <LatR> { [ Cyrillic_er, Cyrillic_ER ] };
key <LatT> { [ Cyrillic_te, Cyrillic_TE ] };
key <LatY> { [ Cyrillic_i, Cyrillic_I ] };
key <LatU> { [ Cyrillic_u, Cyrillic_U ] };
key <LatI> { [ Ukrainian_i, Ukrainian_I ] };
key <LatO> { [ Cyrillic_o, Cyrillic_O ] };
key <LatP> { [ Cyrillic_pe, Cyrillic_PE ] };
key <AD11> { [ Cyrillic_sha, Cyrillic_SHA ] };
key <AD12> { [ Cyrillic_shcha, Cyrillic_SHCHA ] };
key <LatA> { [ Cyrillic_a, Cyrillic_A ] };
key <LatS> { [ Cyrillic_es, Cyrillic_ES ] };
key <LatD> { [ Cyrillic_de, Cyrillic_DE ] };
key <LatF> { [ Cyrillic_ef, Cyrillic_EF ] };
key <LatG> { [ Cyrillic_ghe, Cyrillic_GHE ] };
key <LatH> { [ Cyrillic_ha, Cyrillic_HA ] };
key <LatJ> { [ Cyrillic_shorti, Cyrillic_SHORTI ] };
key <LatK> { [ Cyrillic_ka, Cyrillic_KA ] };
key <LatL> { [ Cyrillic_el, Cyrillic_EL ] };
key <AC10> { [ Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ] };
key <AC11> { [ Cyrillic_che, Cyrillic_CHE ] };
key <BKSL> { [ Cyrillic_yu, Cyrillic_YU ] };
key <LatZ> { [ Cyrillic_ze, Cyrillic_ZE ] };
key <LatX> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN ] };
key <LatC> { [ Cyrillic_tse, Cyrillic_TSE ] };
key <LatV> { [ Cyrillic_zhe, Cyrillic_ZHE ] };
key <LatB> { [ Cyrillic_be, Cyrillic_BE ] };
key <LatN> { [ Cyrillic_en, Cyrillic_EN ] };
key <LatM> { [ Cyrillic_em, Cyrillic_EM ] };
key <AB08> { [ Ukrainian_yi, Ukrainian_YI ] };
key <AB09> { [ Ukrainian_ie, Ukrainian_IE ] };
key <AB10> { [ slash, question ] };
};
// ukrainian keyboard layout RSTU 2019-91 (Respublikanskij STandart Ukrajiny)
// Andrew Porokhnyak <aop@porokhnyak.org>
partial alphanumeric_keys
xkb_symbols "rstu" {
include "ua(legacy)"
name[Group1]= "Ukraine - Standard RSTU";
key <TLDE> { [ apostrophe, question ] };
key <AE01> { [ exclam, 1 ] };
key <AE02> { [ quotedbl, 2 ] };
key <AE03> { [ numbersign, 3 ] };
key <AE04> { [ semicolon, 4 ] };
key <AE05> { [ colon, 5 ] };
key <AE06> { [ comma, 6 ] };
key <AE07> { [ period, 7 ] };
key <AE08> { [ asterisk, 8 ] };
key <AE09> { [ parenleft, 9 ] };
key <AE10> { [ parenright, 0 ] };
key <AD12> { [ Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ] };
key <AC02> { [ Cyrillic_i, Cyrillic_I ] };
key <AB05> { [ Ukrainian_i, Ukrainian_I ] };
key <AB10> { [ Ukrainian_yi, Ukrainian_YI ] };
key <BKSL> { [ slash, percent ] };
};
// russian keyboard layout RSTU 2019-91 (Respublikanskij STandart Ukrajiny)
// Andrew Porokhnyak <aop@porokhnyak.org>
partial alphanumeric_keys
xkb_symbols "rstu_ru" {
include "ru(common)"
name[Group1]= "Ukraine - Standard RSTU on Russian layout";
key <TLDE> { [ apostrophe, question ] };
key <AE01> { [ exclam, 1 ] };
key <AE02> { [ quotedbl, 2 ] };
key <AE03> { [ numbersign, 3 ] };
key <AE04> { [ semicolon, 4 ] };
key <AE05> { [ colon, 5 ] };
key <AE06> { [ comma, 6 ] };
key <AE07> { [ period, 7 ] };
key <AE08> { [ asterisk, 8 ] };
key <AE09> { [ parenleft, 9 ] };
key <AE10> { [ parenright, 0 ] };
key <BKSL> { [ slash, percent ] };
key.type[group1]="ALPHABETIC";
key <AB10> { [ Cyrillic_io, Cyrillic_IO ] };
};
//Homophonic keyboard layout (Tomas Marko Miljenović)
//Based on Ukrainian National Transliteration, commonly used phonetic layouts for Mac and Win.
//Existing layout "phonetic" used as template.
partial alphanumeric_keys
xkb_symbols "homophonic" {
include "ua(legacy)"
name[Group1]= "Ukraine - Homophonic";
key <TLDE> { [ grave, underscore ] };
key <AE01> { [ 1, exclam ] };
key <AE02> { [ 2, at ] };
key <AE03> { [ 3, semicolon ] };
key <AE04> { [ 4, colon ] };
key <AE05> { [ 5, percent ] };
key <AE06> { [ 6, apostrophe ] };
key <AE07> { [ 7, quotedbl ] };
key <AE08> { [ 8, asterisk ] };
key <AE09> { [ 9, parenleft ] };
key <AE10> { [ 0, parenright ] };
key <AE11> { [ Ukrainian_ie, Ukrainian_IE ] };
key <AE12> { [ Ukrainian_yi, Ukrainian_YI ] };
key <LatQ> { [ Cyrillic_ya, Cyrillic_YA ] };
key <LatW> { [ Cyrillic_sha, Cyrillic_SHA ] };
key <LatE> { [ Cyrillic_ie, Cyrillic_IE ] };
key <LatR> { [ Cyrillic_er, Cyrillic_ER ] };
key <LatT> { [ Cyrillic_te, Cyrillic_TE ] };
key <LatY> { [ Cyrillic_i, Cyrillic_I ] };
key <LatU> { [ Cyrillic_u, Cyrillic_U ] };
key <LatI> { [ Ukrainian_i, Ukrainian_I ] };
key <LatO> { [ Cyrillic_o, Cyrillic_O ] };
key <LatP> { [ Cyrillic_pe, Cyrillic_PE ] };
key <AD11> { [ Cyrillic_yu, Cyrillic_YU ] };
key <AD12> { [ Cyrillic_shcha, Cyrillic_SHCHA ] };
key <LatA> { [ Cyrillic_a, Cyrillic_A ] };
key <LatS> { [ Cyrillic_es, Cyrillic_ES ] };
key <LatD> { [ Cyrillic_de, Cyrillic_DE ] };
key <LatF> { [ Cyrillic_ef, Cyrillic_EF ] };
key <LatG> { [ Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ] };
key <LatH> { [ Cyrillic_ghe, Cyrillic_GHE ] };
key <LatJ> { [ Cyrillic_shorti, Cyrillic_SHORTI ] };
key <LatK> { [ Cyrillic_ka, Cyrillic_KA ] };
key <LatL> { [ Cyrillic_el, Cyrillic_EL ] };
key <AC10> { [ Cyrillic_che, Cyrillic_CHE ] };
key <AC11> { [ Cyrillic_zhe, Cyrillic_ZHE ] };
key <BKSL> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN ] };
key <LatZ> { [ Cyrillic_ze, Cyrillic_ZE ] };
key <LatX> { [ Cyrillic_ha, Cyrillic_HA ] };
key <LatC> { [ Cyrillic_tse, Cyrillic_TSE ] };
key <LatV> { [ Cyrillic_ve, Cyrillic_VE ] };
key <LatB> { [ Cyrillic_be, Cyrillic_BE ] };
key <LatN> { [ Cyrillic_en, Cyrillic_EN ] };
key <LatM> { [ Cyrillic_em, Cyrillic_EM ] };
key <AB08> { [ comma, less ] };
key <AB09> { [ period, greater ] };
key <AB10> { [ slash, question ] };
};
// Crimean Tatar (Crimean Turkish) layouts.
partial
xkb_symbols "crh" {
include "tr(crh)"
name[Group1]="Ukraine - Crimean Tatar (Turkish Q)";
};
partial
xkb_symbols "crh_f" {
include "tr(crh_f)"
name[Group1]="Ukraine - Crimean Tatar (Turkish F)";
};
partial
xkb_symbols "crh_alt" {
name[Group1]="Ukraine - Crimean Tatar (Turkish Alt-Q)";
// Crimean Tatar Layout from Ukraine
// Based on US, not TR keyboard
// By Victor Mireev
include "us(basic)"
key <AD07> { [ u, U, udiaeresis, Udiaeresis ] };
key <AD08> { [ i, Iabovedot, idotless, I ] };
key <AD09> { [ o, O, odiaeresis, Odiaeresis ] };
key <AC01> { [ a, A, acircumflex, Acircumflex ] };
key <AC02> { [ s, S, scedilla, Scedilla ] };
key <AC05> { [ g, G, gbreve, Gbreve ] };
key <AB03> { [ c, C, ccedilla, Ccedilla ] };
key <AB06> { [ n, N, ntilde, Ntilde ] };
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment