diff --git a/layout.h b/layout.h index c74f63e..0746238 100644 --- a/layout.h +++ b/layout.h @@ -1,5 +1,5 @@ //    -#define KEYS 85 +#define KEYS 94 static Key keys_en[KEYS] = { { "F1", XK_F1, 1 }, { "F2", XK_F2, 1 }, @@ -61,7 +61,7 @@ static Key keys_en[KEYS] = { { "'\"", XK_apostrophe, 1 }, { "↵", XK_Return, 1 }, { 0 }, /* New row */ - { "Shift", XK_Shift_L, 3 }, + { "Shift", XK_Shift_L, 1 }, { 0, XK_z, 1 }, { 0, XK_x, 1 }, { 0, XK_c, 1 }, @@ -73,19 +73,19 @@ static Key keys_en[KEYS] = { { "<,", XK_comma, 1 }, { ">.", XK_period, 1 }, { "/?", XK_slash, 1 }, - { "Shift", XK_Shift_R, 2 }, + { "Shift", XK_Shift_R, 1 }, { 0 }, /* New row */ { "Esc", XK_Escape, 1 }, - { "Ctrl", XK_Control_L, 2 }, - { "Alt", XK_Alt_L, 2 }, - { "", XK_Super_L, 2 }, - { "", XK_space, 5 }, + { "Ctrl", XK_Control_L, 1 }, + { "Alt", XK_Alt_L, 1 }, + { "", XK_Super_L, 1 }, + { "", XK_space, 3 }, { "←", XK_Left, 1 }, { "↓", XK_Down, 1 }, { "→", XK_Right, 1}, - { "Alt", XK_Alt_R, 2 }, - { "", XK_Super_R, 2 }, - { "Ctrl", XK_Control_R, 2 }, + { "Alt", XK_Alt_R, 1 }, + { "", XK_Super_R, 1 }, + { "Ctrl", XK_Control_R, 1 }, }; static Key keys_emoji [KEYS] = { { "🙂", 0x101f642 ,1 }, //1 @@ -128,8 +128,18 @@ static Key keys_emoji [KEYS] = { { "☀-", XF86XK_MonBrightnessDown, 1 },//38 { "☀+", XF86XK_MonBrightnessUp, 1 },//39 { 0 }, /* New row */ - { "", XK_space, 5 }, - { 0 }, /* New row */ + { "öÖ˝", 0xf6, 1 }, + { "äÄ^", 0xe4, 1 }, + { "üܨ", 0xfc, 1 }, + { "ъ", XK_Cyrillic_hardsign,1 }, + { "ё", XK_Cyrillic_io ,1 }, + { "э", XK_Cyrillic_e ,1 }, + { "Є", XK_Ukrainian_ie ,1 }, + { "і", XK_Ukrainian_i ,1 }, + { "ї", XK_Ukrainian_yi ,1 }, + { "ў", XK_Byelorussian_shortu ,1 }, + + { 0 }, /* New row */ { "", XK_Cancel, 1},//52 { "й", XK_Cyrillic_shorti, 1 }, { "ц", XK_Cyrillic_tse, 1 }, @@ -145,6 +155,7 @@ static Key keys_emoji [KEYS] = { { 0 }, /* New row */ +{ "Shift", XK_Shift_L, 1 }, { "ф", XK_Cyrillic_ef, 1 }, { "ы", XK_Cyrillic_yeru, 1 }, { "в", XK_Cyrillic_ve, 1 }, @@ -158,6 +169,12 @@ static Key keys_emoji [KEYS] = { { "ю", XK_Cyrillic_yu, 1 }, { 0 }, /* New row */ + { "ј", XK_Cyrillic_je ,1 }, + { "љ", XK_Cyrillic_lje ,1 }, + { "њ", XK_Cyrillic_nje ,1 }, + { "џ", XK_Cyrillic_dzhe ,1 }, + { "ћ", XK_Serbian_tshe ,1 }, + { "ђ", XK_Serbian_dje ,1 }, { "я", XK_Cyrillic_ya, 1 }, { "ч", XK_Cyrillic_che, 1 }, { "с", XK_Cyrillic_es, 1 }, @@ -166,8 +183,6 @@ static Key keys_emoji [KEYS] = { { "т", XK_Cyrillic_te, 1 }, { "ь", XK_Cyrillic_softsign, 1 }, { "б", XK_Cyrillic_be, 1 }, -{0}, - { "", XK_space, 5 }, }; Buttonmod buttonmods[] = { @@ -175,11 +190,149 @@ Buttonmod buttonmods[] = { { XK_Alt_L, Button3 }, }; -#define OVERLAYS 1 +#define OVERLAYS 180 static Key overlay[OVERLAYS] = { + { 0, XK_a }, //Overlay for a + //--- + { "à", XK_agrave }, + { "á", XK_aacute }, + { "â", XK_acircumflex }, + { "ä", XK_adiaeresis }, + { "ą", XK_aogonek }, + { "ã", XK_atilde }, + { "ā", XK_amacron }, + { "ă", XK_abreve }, + { "å", XK_aring }, + { "æ", XK_ae }, + { 0, XK_Cancel }, /* XK_Cancel signifies overlay boundary */ + //-- + { 0, XK_e }, //Overlay for e (first item after boundary defines the trigger) + //--- + { "è", XK_egrave }, + { "é", XK_eacute }, + { "ê", XK_ecircumflex }, + { "ë", XK_ediaeresis }, + { "ę", XK_eogonek }, + { "ē", XK_emacron }, + { "ė", XK_eabovedot }, { 0, XK_Cancel }, + //-- + { 0, XK_y }, //New overlay + //--- + { "ỳ", XK_ygrave }, + { "ý", XK_yacute }, + { "ŷ", XK_ycircumflex }, + { "ÿ", XK_ydiaeresis }, + { 0, XK_Cancel }, + //-- + { 0, XK_u }, //New overlay + //--- + { "ù", XK_ugrave }, + { "ú", XK_uacute }, + { "û", XK_ucircumflex }, + { "ü", XK_udiaeresis }, + { "ų", XK_uogonek }, + { "ū", XK_umacron }, + { "ů", XK_uring}, + { "ŭ", XK_ubreve}, + { "ű", XK_udoubleacute }, + { 0, XK_Cancel }, + //-- + { 0, XK_i }, //New overlay + //--- + { "ì", XK_igrave }, + { "í", XK_iacute }, + { "î", XK_icircumflex }, + { "ï", XK_idiaeresis }, + { "į", XK_iogonek }, + { "ī", XK_imacron }, + { "ı", XK_idotless }, + { 0, XK_Cancel }, + //-- + { 0, XK_o }, //New overlay + //--- + { "ò", XK_ograve }, + { "ó", XK_oacute }, + { "ô", XK_ocircumflex }, + { "ö", XK_odiaeresis }, + { "ǫ", XK_ogonek }, + { "õ", XK_otilde }, + { "ō", XK_omacron }, + { "ø", XK_oslash }, + { "ő", XK_odoubleacute }, + { "œ", XK_oe }, + { 0, XK_Cancel }, /* XK_Cancel signifies overlay boundary */ + //-- + { 0, XK_d }, //New overlay + //--- + { "ď", XK_dcaron }, + { "ð", XK_eth }, + { 0, XK_Cancel }, /* XK_Cancel signifies overlay boundary */ + //-- + { 0, XK_c }, //New overlay + //--- + { "ç", XK_ccedilla }, + { "ĉ", XK_ccircumflex }, + { "č", XK_ccaron }, + { "ć", XK_cacute }, + { 0, XK_Cancel }, /* XK_Cancel signifies overlay boundary */ + //-- + { 0, XK_s }, //New overlay + //--- + { "ş", XK_scedilla }, + { "ŝ", XK_scircumflex }, + { "š", XK_scaron }, + { "ś", XK_sacute }, + { "ß", XK_ssharp }, + { 0, XK_Cancel }, /* XK_Cancel signifies overlay boundary */ + //--- + { 0, XK_z }, //New overlay + //--- + { "ž", XK_zcaron }, + { "ż", XK_zabovedot }, + { 0, XK_Cancel }, /* XK_Cancel signifies overlay boundary */ + //-- + { 0, XK_n }, //New overlay + //--- + { "ñ", XK_ntilde }, + { "ń", XK_nacute }, + { "ň", XK_ncaron }, + { 0, XK_Cancel }, /* XK_Cancel signifies overlay boundary */ + // + { 0, XK_t }, //New overlay + //--- + { "ț", XK_tcedilla }, + { "ť", XK_tcaron }, + { "þ", XK_thorn }, + { 0, XK_Cancel }, /* XK_Cancel signifies overlay boundary */ + //---- + { 0, XK_g }, //New overlay + //--- + { "ĝ", XK_gcircumflex }, + { "ğ", XK_gbreve }, + { 0, XK_Cancel }, /* XK_Cancel signifies overlay boundary */ + // + { 0, XK_h }, //New overlay + //--- + { "ĥ", XK_hcircumflex }, + { 0, XK_Cancel }, /* XK_Cancel signifies overlay boundary */ + // + { 0, XK_j }, //New overlay + //--- + { "ĵ", XK_jcircumflex }, + { 0, XK_Cancel }, /* XK_Cancel signifies overlay boundary */ + //-- + { 0, XK_l }, //New overlay + //--- + { "ł", XK_lstroke }, + { "ľ", XK_lcaron }, + { 0, XK_Cancel }, /* XK_Cancel signifies overlay boundary */ + //-- + { 0, XK_r }, //New overlay + //--- + { "ř", XK_rcaron }, + { 0, XK_Cancel }, /* XK_Cancel signifies overlay boundary */ }; - #define LAYERS 2 static char* layer_names[LAYERS] = { "en", diff --git a/svkbd b/svkbd index f484759..9fc28a4 100755 Binary files a/svkbd and b/svkbd differ diff --git a/svkbd.o b/svkbd.o index f90a582..691c9f6 100644 Binary files a/svkbd.o and b/svkbd.o differ