commit b6055b3310a55d106d518495e6d3696bc9a04739
parent 8c28fd15f33d37cbb424cae3e0c306f55380bee6
Author: Reed Wade <reedwade@misterbanal.net>
Date: Tue, 9 Mar 2021 22:26:33 +0100
Added mobile-simple layout
Signed-off-by: Reed Wade <reedwade@misterbanal.net>
Signed-off-by: Maarten van Gompel <proycon@anaproy.nl>
Diffstat:
1 file changed, 489 insertions(+), 0 deletions(-)
diff --git a/layout.mobile-simple.h b/layout.mobile-simple.h
@@ -0,0 +1,489 @@
+#define KEYS SMART_KEYS
+
+#define LAZY_KEYS 40
+
+static Key keys_lazy_en[LAZY_KEYS] = {
+ { 0, 0, XK_q, 1 },
+ { 0, 0, XK_w, 1 },
+ { 0, 0, XK_e, 1 },
+ { 0, 0, XK_r, 1 },
+ { 0, 0, XK_t, 1 },
+ { 0, 0, XK_y, 1 },
+ { 0, 0, XK_u, 1 },
+ { 0, 0, XK_i, 1 },
+ { 0, 0, XK_o, 1 },
+ { 0, 0, XK_p, 1 },
+
+ { 0 },
+
+ { 0, 0, XK_a, 1 },
+ { 0, 0, XK_s, 1 },
+ { 0, 0, XK_d, 1 },
+ { 0, 0, XK_f, 1 },
+ { 0, 0, XK_g, 1 },
+ { 0, 0, XK_h, 1 },
+ { 0, 0, XK_j, 1 },
+ { 0, 0, XK_k, 1 },
+ { 0, 0, XK_l, 1 },
+ { "'", 0, XK_apostrophe, 1 },
+
+ { 0 },
+
+ { "↑", 0, XK_Shift_L, 3 },
+ { 0, 0, XK_z, 2 },
+ { 0, 0, XK_x, 2 },
+ { 0, 0, XK_c, 2 },
+ { 0, 0, XK_v, 2 },
+ { 0, 0, XK_b, 2 },
+ { 0, 0, XK_n, 2 },
+ { 0, 0, XK_m, 2 },
+ { "⌫", 0, XK_BackSpace, 3 },
+
+ { 0 },
+
+ { "?123", 0, XK_Cancel, 3 },
+ { "-", 0, XK_minus, 2 },
+ { "☺", 0, 0x101f642, 2 },
+ { "", 0, XK_space, 8 },
+ { ".", 0, XK_period, 2 },
+ { "↲Enter", 0, XK_Return, 3 }
+};
+
+static Key keys_symbols[LAZY_KEYS] = {
+ { "1", 0, XK_1, 1 },
+ { "2", 0, XK_2, 1 },
+ { "3", 0, XK_3, 1 },
+ { "4", 0, XK_4, 1 },
+ { "5", 0, XK_5, 1 },
+ { "6", 0, XK_6, 1 },
+ { "7", 0, XK_7, 1 },
+ { "8", 0, XK_8, 1 },
+ { "9", 0, XK_9, 1 },
+ { "0", 0, XK_0, 1 },
+
+ { 0 },
+
+ { "!", 0, XK_1, 1, XK_Shift_L },
+ { "@", 0, XK_2, 1, XK_Shift_L },
+ { "#", 0, XK_3, 1, XK_Shift_L },
+ { "$", 0, XK_4, 1, XK_Shift_L },
+ { "%", 0, XK_5, 1, XK_Shift_L },
+ { "^", 0, XK_6, 1, XK_Shift_L },
+ { "&", 0, XK_7, 1, XK_Shift_L },
+ { "*", 0, XK_8, 1, XK_Shift_L },
+ { "(", 0, XK_9, 1, XK_Shift_L },
+ { ")", 0, XK_0, 1, XK_Shift_L },
+
+ { 0 },
+
+ { "↑", 0, XK_Shift_L, 3 },
+ { "~", 0, XK_grave, 2, XK_Shift_L },
+ { "\\", 0, XK_backslash, 2 },
+ { "|", 0, XK_backslash, 2, XK_Shift_L },
+ { "←", 0, XK_Left, 2 },
+ { "↓", 0, XK_Down, 2 },
+ { "↑", 0, XK_Up, 2 },
+ { "→", 0, XK_Right, 2 },
+ { "⌫", 0, XK_BackSpace, 3 },
+
+ { 0 },
+
+ { "abc", 0, XK_Mode_switch, 3 },
+ { "-", 0, XK_minus, 2 },
+ { "↺", 0, XK_Cancel, 2 },
+ { "", 0, XK_space, 8 },
+ { ".", 0, XK_period, 2 },
+ { "↲Enter", 0, XK_Return, 3 }
+};
+
+#define SMART_KEYS 43
+
+static Key keys_functions[SMART_KEYS] = {
+ { "Esc", 0, XK_Escape, 1 },
+ { "F1", 0, XK_F1, 1 },
+ { "F2", 0, XK_F2, 1 },
+ { "F3", 0, XK_F3, 1 },
+ { "F4", 0, XK_F4, 1 },
+ { "F5", 0, XK_F5, 1 },
+ { "F6", 0, XK_F6, 1 },
+ { "F7", 0, XK_F7, 1 },
+ { "F8", 0, XK_F8, 1 },
+ { "F9", 0, XK_F9, 1 },
+ { "F10", 0, XK_F10, 1 },
+
+ { 0 },
+
+ { "≅", 0, XK_KP_Insert, 1 },
+ { "▶", 0, XF86XK_AudioPlay, 1 },
+ { "●", 0, XF86XK_AudioRecord, 1 },
+ { "■", 0, XF86XK_AudioStop, 1 },
+ { "◂◂", 0, XF86XK_AudioPrev, 1 },
+ { "▸▸", 0, XF86XK_AudioNext, 1 },
+ { "♫M", 0, XF86XK_AudioMute, 1 },
+ { "♫-", 0, XF86XK_AudioLowerVolume, 1 },
+ { "♫+", 0, XF86XK_AudioRaiseVolume, 1 },
+ { "☀-", 0, XF86XK_MonBrightnessDown, 1 },
+ { "☀+", 0, XF86XK_MonBrightnessUp, 1 },
+
+ { 0 },
+
+ { "abc", 0, XK_Mode_switch, 1 },
+ { "Del", 0, XK_Delete, 1 },
+ { "⇤", 0, XK_Home, 1 },
+ { "←", 0, XK_Left, 1 },
+ { "→", 0, XK_Right, 1 },
+ { "⇥", 0, XK_End, 1 },
+ { "⇊", 0, XK_Next, 1 },
+ { "⇈", 0, XK_Prior, 1 },
+ { "Tab", 0, XK_Tab, 1 },
+ { "⌫", 0, XK_BackSpace, 2 },
+
+ { 0 },
+
+ { "↺", 0, XK_Cancel, 1},
+ { "Shift", 0, XK_Shift_L, 2 },
+ { "Ctrl", 0, XK_Control_L, 1 },
+ { "Alt", 0, XK_Alt_L, 1 },
+ { "", 0, XK_space, 2 },
+ { "↓", 0, XK_Down, 1 },
+ { "↑", 0, XK_Up, 1 },
+ { "↲ Enter", 0, XK_Return, 2 },
+};
+
+static Key keys_smart_en[SMART_KEYS] = {
+ { "Esc", 0, XK_Escape, 1 },
+ { 0, 0, XK_q, 1 },
+ { 0, 0, XK_w, 1 },
+ { 0, 0, XK_e, 1 },
+ { 0, 0, XK_r, 1 },
+ { 0, 0, XK_t, 1 },
+ { 0, 0, XK_y, 1 },
+ { 0, 0, XK_u, 1 },
+ { 0, 0, XK_i, 1 },
+ { 0, 0, XK_o, 1 },
+ { 0, 0, XK_p, 1 },
+
+ { 0 },
+
+ { "'\"", 0, XK_apostrophe, 1 },
+ { 0, 0, XK_a, 1 },
+ { 0, 0, XK_s, 1 },
+ { 0, 0, XK_d, 1 },
+ { 0, 0, XK_f, 1 },
+ { 0, 0, XK_g, 1 },
+ { 0, 0, XK_h, 1 },
+ { 0, 0, XK_j, 1 },
+ { 0, 0, XK_k, 1 },
+ { 0, 0, XK_l, 1 },
+ { "/?", 0, XK_slash, 1 },
+
+ { 0 },
+
+ { "abc", 0, XK_Mode_switch, 1 },
+ { 0, 0, XK_z, 1 },
+ { 0, 0, XK_x, 1 },
+ { 0, 0, XK_c, 1 },
+ { 0, 0, XK_v, 1 },
+ { 0, 0, XK_b, 1 },
+ { 0, 0, XK_n, 1 },
+ { 0, 0, XK_m, 1 },
+ { "Tab", 0, XK_Tab, 1 },
+ { "⌫", 0, XK_BackSpace, 2 },
+
+ { 0 },
+
+ { "↺", 0, XK_Cancel, 1},
+ { "Shift", 0, XK_Shift_L, 2 },
+ { "Ctrl", 0, XK_Control_L, 1 },
+ { "Alt", 0, XK_Alt_L, 1 },
+ { "", 0, XK_space, 2 },
+ { "↓", 0, XK_Down, 1 },
+ { "↑", 0, XK_Up, 1 },
+ { "↲ Enter", 0, XK_Return, 2 },
+};
+
+#define DIALER_KEYS 27
+
+static Key keys_dialer[DIALER_KEYS] = {
+ { "Esc", 0, XK_Escape, 1 },
+ { "1!", 0, XK_1, 1 },
+ { "2@", 0, XK_2, 1 },
+ { "3#", 0, XK_3, 1 },
+ { "⌫", 0, XK_BackSpace, 2 },
+
+ { 0 },
+
+ { "Shift", 0, XK_Shift_L, 1 },
+ { "4$", 0, XK_4, 1 },
+ { "5%", 0, XK_5, 1 },
+ { "6^", 0, XK_6, 1 },
+ { "-_", 0, XK_minus, 1 },
+ { ",<", 0, XK_comma, 1 },
+
+ { 0 },
+
+ { "abc", 0, XK_Mode_switch, 1 },
+ { "7&", 0, XK_7, 1 },
+ { "8*", 0, XK_8, 1 },
+ { "9(", 0, XK_9, 1 },
+ { "=+", 0, XK_equal, 1 },
+ { "/?", 0, XK_slash, 1 },
+
+ { 0 },
+
+ { "↺", 0, XK_Cancel, 1},
+ { "", 0, XK_space, 1 },
+ { "0)", 0, XK_0, 1 },
+ { ".>", 0, XK_period, 1 },
+ { "↲ Enter", 0, XK_Return, 2},
+};
+
+#define OVERLAYS 192
+
+static Key overlay[OVERLAYS] = {
+ { 0, 0, XK_a },
+ { "à", 0, XK_agrave },
+ { "á", 0, XK_aacute },
+ { "â", 0, XK_acircumflex },
+ { "ä", 0, XK_adiaeresis },
+ { "ą", 0, XK_aogonek },
+ { "ã", 0, XK_atilde },
+ { "ā", 0, XK_amacron },
+ { "ă", 0, XK_abreve },
+ { "å", 0, XK_aring },
+ { "æ", 0, XK_ae },
+ { 0, 0, XK_Cancel },
+
+ { 0, 0, XK_e },
+ { "è", 0, XK_egrave },
+ { "é", 0, XK_eacute },
+ { "ê", 0, XK_ecircumflex },
+ { "ë", 0, XK_ediaeresis },
+ { "ę", 0, XK_eogonek },
+ { "ē", 0, XK_emacron },
+ { "ė", 0, XK_eabovedot },
+ { 0, 0, XK_Cancel },
+
+ { 0, 0, XK_y },
+ { "ỳ", 0, XK_ygrave },
+ { "ý", 0, XK_yacute },
+ { "ŷ", 0, XK_ycircumflex },
+ { "ÿ", 0, XK_ydiaeresis },
+ { 0, 0, XK_Cancel },
+
+ { 0, 0, XK_u },
+ { "ù", 0, XK_ugrave },
+ { "ú", 0, XK_uacute },
+ { "û", 0, XK_ucircumflex },
+ { "ü", 0, XK_udiaeresis },
+ { "ų", 0, XK_uogonek },
+ { "ū", 0, XK_umacron },
+ { "ů", 0, XK_uring},
+ { "ŭ", 0, XK_ubreve},
+ { "ű", 0, XK_udoubleacute },
+ { 0, 0, XK_Cancel },
+
+ { 0, 0, XK_i },
+ { "ì", 0, XK_igrave },
+ { "í", 0, XK_iacute },
+ { "î", 0, XK_icircumflex },
+ { "ï", 0, XK_idiaeresis },
+ { "į", 0, XK_iogonek },
+ { "ī", 0, XK_imacron },
+ { "ı", 0, XK_idotless },
+ { 0, 0, XK_Cancel },
+
+
+ { 0, 0, XK_o },
+ { "ò", 0, XK_ograve },
+ { "ó", 0, XK_oacute },
+ { "ô", 0, XK_ocircumflex },
+ { "ö", 0, XK_odiaeresis },
+ { "ǫ", 0, XK_ogonek },
+ { "õ", 0, XK_otilde },
+ { "ō", 0, XK_omacron },
+ { "ø", 0, XK_oslash },
+ { "ő", 0, XK_odoubleacute },
+ { "œ", 0, XK_oe },
+ { 0, 0, XK_Cancel },
+
+ { 0, 0, XK_d },
+ { "ď", 0, XK_dcaron },
+ { "ð", 0, XK_eth },
+ { 0, 0, XK_Cancel },
+
+ { 0, 0, XK_c },
+ { "ç", 0, XK_ccedilla },
+ { "ĉ", 0, XK_ccircumflex },
+ { "č", 0, XK_ccaron },
+ { "ć", 0, XK_cacute },
+ { 0, 0, XK_Cancel },
+
+ { 0, 0, XK_s },
+ { "ş", 0, XK_scedilla },
+ { "ŝ", 0, XK_scircumflex },
+ { "š", 0, XK_scaron },
+ { "ś", 0, XK_sacute },
+ { "ß", 0, XK_ssharp },
+ { 0, 0, XK_Cancel },
+
+ { 0, 0, XK_z },
+ { "ž", 0, XK_zcaron },
+ { "ż", 0, XK_zabovedot },
+ { 0, 0, XK_Cancel },
+
+ { 0, 0, XK_n },
+ { "ñ", 0, XK_ntilde },
+ { "ń", 0, XK_nacute },
+ { "ň", 0, XK_ncaron },
+ { 0, 0, XK_Cancel },
+
+ { 0, 0, XK_t },
+ { "ț", 0, XK_tcedilla },
+ { "ť", 0, XK_tcaron },
+ { "þ", 0, XK_thorn },
+ { 0, 0, XK_Cancel },
+
+ { 0, 0, XK_g },
+ { "ĝ", 0, XK_gcircumflex },
+ { "ğ", 0, XK_gbreve },
+ { 0, 0, XK_Cancel },
+
+ { 0, 0, XK_h },
+ { "ĥ", 0, XK_hcircumflex },
+ { 0, 0, XK_Cancel },
+
+ { 0, 0, XK_j },
+ { "ĵ", 0, XK_jcircumflex },
+ { 0, 0, XK_Cancel },
+
+ { 0, 0, XK_l },
+ { "ł", 0, XK_lstroke },
+ { "ľ", 0, XK_lcaron },
+ { 0, 0, XK_Cancel },
+
+ { 0, 0, XK_r },
+ { "ř", 0, XK_rcaron },
+ { 0, 0, XK_Cancel },
+
+ { 0, 0, XK_Cyrillic_softsign },
+ { "ъ", 0, XK_Cyrillic_hardsign },
+ { 0, 0, XK_Cancel },
+
+ { 0, 0, XK_Cyrillic_ie },
+ { "ё", 0, XK_Cyrillic_io },
+ { "э", 0, XK_Cyrillic_e },
+ { "Є", 0, XK_Ukrainian_ie },
+ { 0, 0, XK_Cancel },
+
+ { 0, 0, XK_Cyrillic_i },
+ { "і", 0, XK_Ukrainian_i },
+ { "ї", 0, XK_Ukrainian_yi },
+ { 0, 0, XK_Cancel },
+
+ { 0, 0, XK_Cyrillic_u },
+ { "ў", 0, XK_Byelorussian_shortu },
+ { 0, 0, XK_Cancel },
+
+ { 0, 0, XK_Cyrillic_shorti },
+ { "ј", 0, XK_Cyrillic_je },
+ { 0, 0, XK_Cancel },
+
+ { 0, 0, XK_Cyrillic_el },
+ { "љ", 0, XK_Cyrillic_lje },
+ { 0, 0, XK_Cancel },
+
+ { 0, 0, XK_Cyrillic_en },
+ { "њ", 0, XK_Cyrillic_nje },
+ { 0, 0, XK_Cancel },
+
+ { 0, 0, XK_Cyrillic_tse },
+ { "џ", 0, XK_Cyrillic_dzhe },
+ { 0, 0, XK_Cancel },
+
+ { 0, 0, XK_Cyrillic_che },
+ { "ћ", 0, XK_Serbian_tshe },
+ { "ђ", 0, XK_Serbian_dje },
+ { 0, 0, XK_Cancel },
+
+ { "🙂", 0, 0x101f642 },
+ { "😀", 0, 0x101f600 },
+ { "😁", 0, 0x101f601 },
+ { "😂", 0, 0x101f602 },
+ { "😃", 0, 0x101f603 },
+ { "😄", 0, 0x101f604 },
+ { "😅", 0, 0x101f605 },
+ { "😆", 0, 0x101f606 },
+ { "😇", 0, 0x101f607 },
+ { "😈", 0, 0x101f608 },
+ { "😉", 0, 0x101f609 },
+ { "😊", 0, 0x101f60a },
+ { "😋", 0, 0x101f60b },
+ { "😌", 0, 0x101f60c },
+ { "😍", 0, 0x101f60d },
+ { "😎", 0, 0x101f60e },
+ { "😏", 0, 0x101f60f },
+ { "😐", 0, 0x101f610 },
+ { "😒", 0, 0x101f612 },
+ { "😓", 0, 0x101f613 },
+ { "😛", 0, 0x101f61b },
+ { "😮", 0, 0x101f62e, 2 }, // skip shift
+ { "😟", 0, 0x101f61f },
+ { "😟", 0, 0x101f620 },
+ { "😢", 0, 0x101f622 },
+ { "😭", 0, 0x101f62d },
+ { "😳", 0, 0x101f633 },
+ { "😴", 0, 0x101f634 },
+ { 0, 0, XK_Cancel },
+
+ { ".", 0, XK_period, },
+ { ":", 0, XK_colon, 26, XK_Shift_L },
+ { ";", 0, XK_colon, 0 },
+ { "!", 0, XK_1, 0, XK_Shift_L },
+ { "?", 0, XK_slash, 0, XK_Shift_L },
+ { ",", 0, XK_comma, 0 },
+ { 0, 0, XK_Cancel },
+
+ { "-", 0, XK_minus },
+ { "_", 0, XK_minus, 24, XK_Shift_L },
+ { "+", 0, XK_plus, 0, XK_Shift_L },
+ { "/", 0, XK_slash, 0 },
+ { "*", 0, XK_8, 0, XK_Shift_L },
+ { "=", 0, XK_plus },
+ { 0, 0, XK_Cancel },
+
+ { "'", 0, XK_apostrophe },
+ { "{", 0, XK_bracketleft, 7, XK_Shift_L },
+ { "}", 0, XK_bracketright, 0, XK_Shift_L },
+ { "[", 0, XK_bracketleft, 0 },
+ { "]", 0, XK_bracketright, 0 },
+ { "<", 0, XK_comma, 6, XK_Shift_L },
+ { ">", 0, XK_period, 0, XK_Shift_L },
+ { "`", 0, XK_grave, 0 },
+ { "\"", 0, XK_apostrophe, 0, XK_Shift_L },
+ { "'", 0, XK_apostrophe },
+ { 0, 0, XK_Cancel },
+};
+
+#define LAYERS 5
+
+static char* layer_names[LAYERS] = {
+ "lazy en",
+ "symbols",
+ "smart en",
+ "functions",
+ "dialer",
+};
+
+static Key* available_layers[LAYERS] = {
+ keys_lazy_en,
+ keys_symbols,
+ keys_smart_en,
+ keys_functions,
+ keys_dialer,
+};
+
+Buttonmod buttonmods[] = {
+ { XK_Shift_L, Button2 },
+ { XK_Alt_L, Button3 },
+};