diff --git a/config.def.h b/config.def.h index aa819b1..b4103c5 100644 --- a/config.def.h +++ b/config.def.h @@ -31,7 +31,7 @@ static enum layout_id layers[] = { /* layers is an ordered list of layouts, used to cycle through */ static enum layout_id landscape_layers[] = { Landscape, // First layout is the default layout on startup - Special, + LandscapeSpecial, NumLayouts // signals the last item, may not be omitted }; diff --git a/layout.mobintl.h b/layout.mobintl.h index 8be2e8f..61f6609 100644 --- a/layout.mobintl.h +++ b/layout.mobintl.h @@ -25,6 +25,7 @@ enum layout_id { Emoji, Nav, Landscape, + LandscapeSpecial, ComposeA, ComposeE, ComposeY, @@ -69,7 +70,7 @@ enum layout_id { static struct key keys_full[], keys_special[], keys_specialpad[], keys_simple[], keys_simplegrid[], keys_cyrillic[], keys_arabic[], keys_persian[], keys_georgian[], keys_greek[], keys_hebrew[], - keys_emoji[], keys_nav[], keys_landscape[], keys_compose_a[], + keys_emoji[], keys_nav[], keys_landscape[], keys_landscape_special[], keys_compose_a[], keys_compose_e[], keys_compose_y[], keys_compose_u[], keys_compose_i[], keys_compose_o[], keys_compose_w[], keys_compose_r[], keys_compose_t[], keys_compose_p[], keys_compose_s[], keys_compose_d[], keys_compose_f[], @@ -100,6 +101,7 @@ static struct layout layouts[NumLayouts] = { [Emoji] = {keys_emoji, "latin", "emoji", false}, [Nav] = {keys_nav, "latin", "nav", false}, [Landscape] = {keys_landscape, "latin", "landscape", true}, + [LandscapeSpecial] = {keys_landscape_special, "latin", "landscapespecial", true}, [ComposeA] = {keys_compose_a, "latin"}, [ComposeE] = {keys_compose_e, "latin"}, [ComposeY] = {keys_compose_y, "latin"}, @@ -1129,8 +1131,8 @@ static struct key keys_landscape[] = { {"j", "J", 1.0, Code, KEY_J, &layouts[ComposeJ]}, {"k", "K", 1.0, Code, KEY_K, &layouts[ComposeK]}, {"l", "L", 1.0, Code, KEY_L, &layouts[ComposeL]}, - {"'", "\"", 1.0, Code, KEY_APOSTROPHE, &layouts[ComposeBracket], .scheme = 1}, - {"/", ">", 1.0, Code, KEY_SLASH, .scheme = 1}, + {"'", "\"", 1.0, Code, KEY_APOSTROPHE, &layouts[ComposeBracket]}, + {"/", ">", 1.0, Code, KEY_SLASH}, {"", "", 0.0, EndRow}, {"←", "←", 0.75, Code, KEY_LEFT, .scheme = 1}, @@ -1143,8 +1145,8 @@ static struct key keys_landscape[] = { {"b", "B", 1.0, Code, KEY_B, &layouts[ComposeB]}, {"n", "N", 1.0, Code, KEY_N, &layouts[ComposeN]}, {"m", "M", 1.0, Code, KEY_M, &layouts[ComposeM]}, - {"", "", 0.75, Pad, .scheme = 1}, - {"-", "_", 0.75, Code, KEY_MINUS, &layouts[ComposeBracket], .scheme = 1}, + {"", "", 0.5, Pad, .scheme = 1}, + {"-", "_", 1.0, Code, KEY_MINUS, &layouts[ComposeBracket]}, {"⌫", "⌫", 1.5, Code, KEY_BACKSPACE, .scheme = 1}, {"", "", 0.0, EndRow}, @@ -1160,6 +1162,65 @@ static struct key keys_landscape[] = { {"", "", 0.0, Last}, }; +static struct key keys_landscape_special[] = { + {"Esc", "Esc", 1.0, Code, KEY_ESC, .scheme = 1}, + {"", "", 0.5, Pad, .scheme = 1}, + {"1", "!", 1.0, Code, KEY_1}, + {"2", "@", 1.0, Code, KEY_2}, + {"3", "#", 1.0, Code, KEY_3}, + {"4", "$", 1.0, Code, KEY_4}, + {"5", "%", 1.0, Code, KEY_5}, + {"6", "^", 1.0, Code, KEY_6}, + {"7", "&", 1.0, Code, KEY_7}, + {"8", "*", 1.0, Code, KEY_8}, + {"9", "(", 1.0, Code, KEY_9, &layouts[ComposeBracket]}, + {"0", ")", 1.0, Code, KEY_0, &layouts[ComposeBracket]}, + {"", "", 0.5, Pad, .scheme = 1}, + {"Tab", "Tab", 1.0, Code, KEY_TAB, .scheme = 1}, + {"", "", 0.0, EndRow}, + + {"⇈", "⇈", 1.0, Code, KEY_PAGEUP, .scheme = 1}, + {"⇊", "⇊", 1.0, Code, KEY_PAGEDOWN, .scheme = 1}, + {"CpL", "CpL", 1.0, Mod, CapsLock, .scheme = 1}, + {"🙂", "🙂", 1.0, Layout, 0, &layouts[Emoji]}, + {"`", "~", 1.0, Code, KEY_GRAVE}, + {"'", "\"", 1.0, Code, KEY_APOSTROPHE}, + {"-", "_", 1.0, Code, KEY_MINUS}, + {"=", "+", 1.0, Code, KEY_EQUAL}, + {"[", "{", 1.0, Code, KEY_LEFTBRACE}, + {"]", "}", 1.0, Code, KEY_RIGHTBRACE}, + {"\\", "|", 1.0, Code, KEY_BACKSLASH}, + {"/", ">", 1.0, Code, KEY_SLASH}, + {"Del", "Del", 1.0, Code, KEY_DELETE, .scheme = 1}, + {"", "", 0.0, EndRow}, + + {"⇤", "⇤", 1.0, Code, KEY_HOME, .scheme = 1}, + {"⇥", "⇥", 1.0, Code, KEY_END, .scheme = 1}, + {"⇧", "⇫", 2.0, Mod, Shift, .scheme = 1}, + {";", ":", 1.0, Code, KEY_SEMICOLON}, + {"<", "«", 1.0, Code, KEY_COMMA, 0, AltGr}, + {">", "»", 1.0, Code, KEY_DOT, 0, AltGr}, + {"¡", "¿", 1.0, Code, KEY_MENU}, + {",", "'", 1.0, Code, KEY_COMMA, &layouts[ComposeMath]}, + {".", "?", 1.0, Code, KEY_DOT, &layouts[ComposePunctuation]}, + {"/", ">", 1.0, Code, KEY_SLASH}, + {"", "", 0.5, Pad, .scheme = 1}, + {"⌫", "⌫", 1.5, Code, KEY_BACKSPACE, .scheme = 1}, + {"", "", 0.0, EndRow}, + + {"Abc", "Abc", 1.0, BackLayer, .scheme = 1}, + {"⌨→", "←⌨", 1.0, NextLayer, .scheme = 1}, + {"Ctr", "Ctr", 1.0, Mod, Ctrl, .scheme = 1}, + {"Sup", "Sup", 1.0, Mod, Super, .scheme = 1}, + {"", "", 5.0, Code, KEY_SPACE}, + {"Alt", "Alt", 1.0, Mod, Alt, .scheme = 1}, + {"AGr", "AGr", 1.0, Mod, AltGr, .scheme = 1}, + {"Enter", "Enter", 2.0, Code, KEY_ENTER, .scheme = 1}, + + /* end of layout */ + {"", "", 0.0, Last}, +}; + static struct key keys_compose_w[] = { {"ŵ", "Ŵ", 1.0, Copy, 0x0175, 0, 0x0174}, {"", "", 9.0, Pad},