From ff8bae7de06fc34298e71507d58981472b614ba1 Mon Sep 17 00:00:00 2001 From: jordan Johnston Date: Sun, 12 Nov 2023 16:53:50 -0500 Subject: [PATCH] Layout: Make Landscape Legit && Practical -> Make Landscape into a Legit PC Keyboard. (More standard / usable) -> Add a tiny bit of padding on Left/Right edges (Looks better) Notes/Thoughts: While WvKBD is almost certianly the best Wayland/wlroots-based OnScreen Keyboard that I've found: Presonally, I think it is NOT designed for real-world usage with a 2-in-1 laptop or tablet, where you need a 'real' keyboard, with a proper layout. I found it pretty much impossible to use with Hyprland. eg: no mod keys on the main layout, awkward arrow keys, keys moved/placed in radically different places, etc. TBH, even on Mobile, the non-familiar / non-standard layouts feel awkward to me.. Plans: -> Fix/add padding on other layouts. -> Improve all other Layouts to be most standard Note: So far I have only been testing Landscape on my Surface 7 with Hyprland && my own Shell (based on/using Aylur's Gtk Shell). Signed-off-by: jordan Johnston --- layout.mobintl.h | 84 +++++++++++++++++++++++++++++++++++------------- 1 file changed, 61 insertions(+), 23 deletions(-) diff --git a/layout.mobintl.h b/layout.mobintl.h index a848a04..0f6f75e 100644 --- a/layout.mobintl.h +++ b/layout.mobintl.h @@ -1102,8 +1102,27 @@ static struct key keys_index[] = { }; static struct key keys_landscape[] = { - {"Esc", "Esc", 1.0, Code, KEY_ESC, .scheme = 1}, - {"", "", 0.5, Pad, .scheme = 1}, + {"", "", 0.04, Pad}, + {"Esc", "Esc", 0.6, Code, KEY_ESC, .scheme = 1}, + {"`", "~", 1.0, Code, KEY_GRAVE, .scheme = 1}, + {"1", "!", 1.0, Code, KEY_1, .scheme = 1}, + {"2", "@", 1.0, Code, KEY_2, .scheme = 1}, + {"3", "#", 1.0, Code, KEY_3, .scheme = 1}, + {"4", "$", 1.0, Code, KEY_4, .scheme = 1}, + {"5", "%", 1.0, Code, KEY_5, .scheme = 1}, + {"6", "^", 1.0, Code, KEY_6, .scheme = 1}, + {"7", "&", 1.0, Code, KEY_7, .scheme = 1}, + {"8", "*", 1.0, Code, KEY_8, .scheme = 1}, + {"9", "(", 1.0, Code, KEY_9, &layouts[ComposeBracket], .scheme = 1}, + {"0", ")", 1.0, Code, KEY_0, &layouts[ComposeBracket], .scheme = 1}, + {"PgUp", "PgUp", 0.44, Code, KEY_PAGEUP, .scheme = 1, .scheme = 1}, + {"PgDn", "PgDn", 0.44, Code, KEY_PAGEDOWN, .scheme = 1, .scheme = 1}, + {"Del", "Del", 0.9, Code, KEY_DELETE, .scheme = 1}, + {"", "", 0.04, Pad}, + {"", "", 0.0, EndRow}, + + {"", "", 0.04, Pad}, + {"Tab", "Tab", 0.8, Code, KEY_TAB, .scheme = 1}, {"q", "Q", 1.0, Code, KEY_Q, &layouts[Emoji]}, {"w", "W", 1.0, Code, KEY_W, &layouts[ComposeW]}, {"e", "E", 1.0, Code, KEY_E, &layouts[ComposeE]}, @@ -1114,13 +1133,15 @@ static struct key keys_landscape[] = { {"i", "I", 1.0, Code, KEY_I, &layouts[ComposeI]}, {"o", "O", 1.0, Code, KEY_O, &layouts[ComposeO]}, {"p", "P", 1.0, Code, KEY_P, &layouts[ComposeP]}, - {"", "", 0.5, Pad, .scheme = 1}, - {"Tab", "Tab", 1.0, Code, KEY_TAB, .scheme = 1}, + {"[", "{", 0.468, Code, KEY_LEFTBRACE}, + {"]", "}", 0.468, Code, KEY_RIGHTBRACE}, + {"⌫", "⌫", 0.52, Code, KEY_BACKSPACE, .scheme = 1}, + {"", "", 0.04, Pad}, {"", "", 0.0, EndRow}, - {"↑", "↑", 0.75, Code, KEY_UP, .scheme = 1}, - {"↓", "↓", 0.75, Code, KEY_DOWN, .scheme = 1}, - {"", "", 0.5, Pad, .scheme = 1}, + {"", "", 0.038, Pad}, + {"⌨͕", "⌨͔", 0.43, NextLayer, .scheme = 1}, + {"Caps", "Caps", 0.64, Mod, CapsLock, .scheme = 1}, {"a", "A", 1.0, Code, KEY_A, &layouts[ComposeA]}, {"s", "S", 1.0, Code, KEY_S, &layouts[ComposeS]}, {"d", "D", 1.0, Code, KEY_D, &layouts[ComposeD]}, @@ -1130,13 +1151,15 @@ 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]}, - {"/", ">", 1.0, Code, KEY_SLASH}, + {";", ":", 0.468, Code, KEY_SEMICOLON}, + {"'", "''", 0.468, Code, KEY_APOSTROPHE, &layouts[ComposeBracket]}, + {"Enter", "Enter", 0.8, Code, KEY_ENTER, .scheme = 1}, + {"", "", 0.038, Pad}, {"", "", 0.0, EndRow}, - {"←", "←", 0.75, Code, KEY_LEFT, .scheme = 1}, - {"→", "→", 0.75, Code, KEY_RIGHT, .scheme = 1}, - {"⇧", "⇫", 1.5, Mod, Shift, .scheme = 1}, + {"", "", 0.035, Pad}, + {"<>", "<>", 0.41, Layout, 0, &layouts[Special], .scheme = 1}, + {"⇧", "⇫", 0.9, Mod, Shift, .scheme = 1}, {"z", "Z", 1.0, Code, KEY_Z, &layouts[ComposeZ]}, {"x", "X", 1.0, Code, KEY_X, &layouts[ComposeX]}, {"c", "C", 1.0, Code, KEY_C, &layouts[ComposeC]}, @@ -1144,24 +1167,32 @@ 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.5, Pad, .scheme = 1}, - {"-", "_", 1.0, Code, KEY_MINUS, &layouts[ComposeBracket]}, - {"⌫", "⌫", 1.5, Code, KEY_BACKSPACE, .scheme = 1}, + {",", "<", 0.468, Code, KEY_COMMA, &layouts[ComposeMath]}, + {".", ">", 0.468, Code, KEY_DOT, &layouts[ComposePunctuation]}, + {"/", "?", 0.468, Code, KEY_SLASH}, + {"\\", "|", 0.468, Code, KEY_BACKSLASH}, + {"↑", "↑", 0.468, Code, KEY_UP, .scheme = 1}, + {"Cmp", "Cmp", 0.47, Compose, .scheme = 1}, + {"", "", 0.035, Pad}, {"", "", 0.0, EndRow}, - {"⌨͕", "⌨͔", 1.0, NextLayer, .scheme = 1}, - {"Cmp", "Cmp", 1.0, Compose, .scheme = 1}, - {"Ctr", "Ctr", 1.0, Mod, Ctrl, .scheme = 1}, - {",", "'", 1.0, Code, KEY_COMMA, &layouts[ComposeMath]}, - {"", "Tab", 5.0, Code, KEY_SPACE}, - {".", "?", 1.0, Code, KEY_DOT, &layouts[ComposePunctuation]}, - {"Enter", "Enter", 2.0, Code, KEY_ENTER, .scheme = 1}, - + {"", "", 0.03, Pad}, + {"Ctr", "Ctr", 0.56, Mod, Ctrl, .scheme = 1}, + {"Sup", "Sup", 0.56, Mod, Super, .scheme = 1}, + {"Alt", "Alt", 0.56, Mod, Alt, .scheme = 1}, + {"", "Tab", 5.8, Code, KEY_SPACE}, + {"-", "_", 0.4, Code, KEY_MINUS, &layouts[ComposeBracket]}, + {"=", "+", 0.4, Code, KEY_EQUAL, &layouts[ComposeBracket]}, + {"←", "←", 0.4, Code, KEY_LEFT, .scheme = 1}, + {"↓", "↓", 0.4, Code, KEY_DOWN, .scheme = 1}, + {"→", "→", 0.4, Code, KEY_RIGHT, .scheme = 1}, + {"", "", 0.03, Pad}, /* end of layout */ {"", "", 0.0, Last}, }; static struct key keys_landscape_special[] = { + {"", "", 0.04, Pad}, {"Esc", "Esc", 1.0, Code, KEY_ESC, .scheme = 1}, {"", "", 0.5, Pad, .scheme = 1}, {"1", "!", 1.0, Code, KEY_1}, @@ -1176,8 +1207,10 @@ static struct key keys_landscape_special[] = { {"0", ")", 1.0, Code, KEY_0, &layouts[ComposeBracket]}, {"", "", 0.5, Pad, .scheme = 1}, {"Tab", "Tab", 1.0, Code, KEY_TAB, .scheme = 1}, + {"", "", 0.04, Pad}, {"", "", 0.0, EndRow}, + {"", "", 0.04, Pad}, {"⇈", "⇈", 1.0, Code, KEY_PAGEUP, .scheme = 1}, {"⇊", "⇊", 1.0, Code, KEY_PAGEDOWN, .scheme = 1}, {"CpL", "CpL", 1.0, Mod, CapsLock, .scheme = 1}, @@ -1191,8 +1224,10 @@ static struct key keys_landscape_special[] = { {"\\", "|", 1.0, Code, KEY_BACKSLASH}, {"/", ">", 1.0, Code, KEY_SLASH}, {"Del", "Del", 1.0, Code, KEY_DELETE, .scheme = 1}, + {"", "", 0.04, Pad}, {"", "", 0.0, EndRow}, + {"", "", 0.04, Pad}, {"⇤", "⇤", 1.0, Code, KEY_HOME, .scheme = 1}, {"⇥", "⇥", 1.0, Code, KEY_END, .scheme = 1}, {"⇧", "⇫", 2.0, Mod, Shift, .scheme = 1}, @@ -1205,8 +1240,10 @@ static struct key keys_landscape_special[] = { {"/", ">", 1.0, Code, KEY_SLASH}, {"", "", 0.5, Pad, .scheme = 1}, {"⌫", "⌫", 1.5, Code, KEY_BACKSPACE, .scheme = 1}, + {"", "", 0.04, Pad}, {"", "", 0.0, EndRow}, + {"", "", 0.04, Pad}, {"Abc", "Abc", 1.0, BackLayer, .scheme = 1}, {"⌨͕", "⌨͔", 1.0, NextLayer, .scheme = 1}, {"Ctr", "Ctr", 1.0, Mod, Ctrl, .scheme = 1}, @@ -1215,6 +1252,7 @@ static struct key keys_landscape_special[] = { {"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}, + {"", "", 0.04, Pad}, /* end of layout */ {"", "", 0.0, Last},