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 <johnstonljordan@gmail.com>
This commit is contained in:
jordan Johnston
2023-11-12 16:53:50 -05:00
committed by Rdbo
parent bb237f5afa
commit ff8bae7de0

View File

@ -1102,8 +1102,27 @@ static struct key keys_index[] = {
}; };
static struct key keys_landscape[] = { static struct key keys_landscape[] = {
{"Esc", "Esc", 1.0, Code, KEY_ESC, .scheme = 1}, {"", "", 0.04, Pad},
{"", "", 0.5, Pad, .scheme = 1}, {"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]}, {"q", "Q", 1.0, Code, KEY_Q, &layouts[Emoji]},
{"w", "W", 1.0, Code, KEY_W, &layouts[ComposeW]}, {"w", "W", 1.0, Code, KEY_W, &layouts[ComposeW]},
{"e", "E", 1.0, Code, KEY_E, &layouts[ComposeE]}, {"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]}, {"i", "I", 1.0, Code, KEY_I, &layouts[ComposeI]},
{"o", "O", 1.0, Code, KEY_O, &layouts[ComposeO]}, {"o", "O", 1.0, Code, KEY_O, &layouts[ComposeO]},
{"p", "P", 1.0, Code, KEY_P, &layouts[ComposeP]}, {"p", "P", 1.0, Code, KEY_P, &layouts[ComposeP]},
{"", "", 0.5, Pad, .scheme = 1}, {"[", "{", 0.468, Code, KEY_LEFTBRACE},
{"Tab", "Tab", 1.0, Code, KEY_TAB, .scheme = 1}, {"]", "}", 0.468, Code, KEY_RIGHTBRACE},
{"", "", 0.52, Code, KEY_BACKSPACE, .scheme = 1},
{"", "", 0.04, Pad},
{"", "", 0.0, EndRow}, {"", "", 0.0, EndRow},
{"", "", 0.75, Code, KEY_UP, .scheme = 1}, {"", "", 0.038, Pad},
{"", "", 0.75, Code, KEY_DOWN, .scheme = 1}, {"⌨͕", "⌨͔", 0.43, NextLayer, .scheme = 1},
{"", "", 0.5, Pad, .scheme = 1}, {"Caps", "Caps", 0.64, Mod, CapsLock, .scheme = 1},
{"a", "A", 1.0, Code, KEY_A, &layouts[ComposeA]}, {"a", "A", 1.0, Code, KEY_A, &layouts[ComposeA]},
{"s", "S", 1.0, Code, KEY_S, &layouts[ComposeS]}, {"s", "S", 1.0, Code, KEY_S, &layouts[ComposeS]},
{"d", "D", 1.0, Code, KEY_D, &layouts[ComposeD]}, {"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]}, {"j", "J", 1.0, Code, KEY_J, &layouts[ComposeJ]},
{"k", "K", 1.0, Code, KEY_K, &layouts[ComposeK]}, {"k", "K", 1.0, Code, KEY_K, &layouts[ComposeK]},
{"l", "L", 1.0, Code, KEY_L, &layouts[ComposeL]}, {"l", "L", 1.0, Code, KEY_L, &layouts[ComposeL]},
{"'", "\"", 1.0, Code, KEY_APOSTROPHE, &layouts[ComposeBracket]}, {";", ":", 0.468, Code, KEY_SEMICOLON},
{"/", ">", 1.0, Code, KEY_SLASH}, {"'", "''", 0.468, Code, KEY_APOSTROPHE, &layouts[ComposeBracket]},
{"Enter", "Enter", 0.8, Code, KEY_ENTER, .scheme = 1},
{"", "", 0.038, Pad},
{"", "", 0.0, EndRow}, {"", "", 0.0, EndRow},
{"", "", 0.75, Code, KEY_LEFT, .scheme = 1}, {"", "", 0.035, Pad},
{"", "", 0.75, Code, KEY_RIGHT, .scheme = 1}, {"<>", "<>", 0.41, Layout, 0, &layouts[Special], .scheme = 1},
{"", "", 1.5, Mod, Shift, .scheme = 1}, {"", "", 0.9, Mod, Shift, .scheme = 1},
{"z", "Z", 1.0, Code, KEY_Z, &layouts[ComposeZ]}, {"z", "Z", 1.0, Code, KEY_Z, &layouts[ComposeZ]},
{"x", "X", 1.0, Code, KEY_X, &layouts[ComposeX]}, {"x", "X", 1.0, Code, KEY_X, &layouts[ComposeX]},
{"c", "C", 1.0, Code, KEY_C, &layouts[ComposeC]}, {"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]}, {"b", "B", 1.0, Code, KEY_B, &layouts[ComposeB]},
{"n", "N", 1.0, Code, KEY_N, &layouts[ComposeN]}, {"n", "N", 1.0, Code, KEY_N, &layouts[ComposeN]},
{"m", "M", 1.0, Code, KEY_M, &layouts[ComposeM]}, {"m", "M", 1.0, Code, KEY_M, &layouts[ComposeM]},
{"", "", 0.5, Pad, .scheme = 1}, {",", "<", 0.468, Code, KEY_COMMA, &layouts[ComposeMath]},
{"-", "_", 1.0, Code, KEY_MINUS, &layouts[ComposeBracket]}, {".", ">", 0.468, Code, KEY_DOT, &layouts[ComposePunctuation]},
{"", "", 1.5, Code, KEY_BACKSPACE, .scheme = 1}, {"/", "?", 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}, {"", "", 0.0, EndRow},
{"⌨͕", "⌨͔", 1.0, NextLayer, .scheme = 1}, {"", "", 0.03, Pad},
{"Cmp", "Cmp", 1.0, Compose, .scheme = 1}, {"Ctr", "Ctr", 0.56, Mod, Ctrl, .scheme = 1},
{"Ctr", "Ctr", 1.0, Mod, Ctrl, .scheme = 1}, {"Sup", "Sup", 0.56, Mod, Super, .scheme = 1},
{",", "'", 1.0, Code, KEY_COMMA, &layouts[ComposeMath]}, {"Alt", "Alt", 0.56, Mod, Alt, .scheme = 1},
{"", "Tab", 5.0, Code, KEY_SPACE}, {"", "Tab", 5.8, Code, KEY_SPACE},
{".", "?", 1.0, Code, KEY_DOT, &layouts[ComposePunctuation]}, {"-", "_", 0.4, Code, KEY_MINUS, &layouts[ComposeBracket]},
{"Enter", "Enter", 2.0, Code, KEY_ENTER, .scheme = 1}, {"=", "+", 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 */ /* end of layout */
{"", "", 0.0, Last}, {"", "", 0.0, Last},
}; };
static struct key keys_landscape_special[] = { static struct key keys_landscape_special[] = {
{"", "", 0.04, Pad},
{"Esc", "Esc", 1.0, Code, KEY_ESC, .scheme = 1}, {"Esc", "Esc", 1.0, Code, KEY_ESC, .scheme = 1},
{"", "", 0.5, Pad, .scheme = 1}, {"", "", 0.5, Pad, .scheme = 1},
{"1", "!", 1.0, Code, KEY_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", ")", 1.0, Code, KEY_0, &layouts[ComposeBracket]},
{"", "", 0.5, Pad, .scheme = 1}, {"", "", 0.5, Pad, .scheme = 1},
{"Tab", "Tab", 1.0, Code, KEY_TAB, .scheme = 1}, {"Tab", "Tab", 1.0, Code, KEY_TAB, .scheme = 1},
{"", "", 0.04, Pad},
{"", "", 0.0, EndRow}, {"", "", 0.0, EndRow},
{"", "", 0.04, Pad},
{"", "", 1.0, Code, KEY_PAGEUP, .scheme = 1}, {"", "", 1.0, Code, KEY_PAGEUP, .scheme = 1},
{"", "", 1.0, Code, KEY_PAGEDOWN, .scheme = 1}, {"", "", 1.0, Code, KEY_PAGEDOWN, .scheme = 1},
{"CpL", "CpL", 1.0, Mod, CapsLock, .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_BACKSLASH},
{"/", ">", 1.0, Code, KEY_SLASH}, {"/", ">", 1.0, Code, KEY_SLASH},
{"Del", "Del", 1.0, Code, KEY_DELETE, .scheme = 1}, {"Del", "Del", 1.0, Code, KEY_DELETE, .scheme = 1},
{"", "", 0.04, Pad},
{"", "", 0.0, EndRow}, {"", "", 0.0, EndRow},
{"", "", 0.04, Pad},
{"", "", 1.0, Code, KEY_HOME, .scheme = 1}, {"", "", 1.0, Code, KEY_HOME, .scheme = 1},
{"", "", 1.0, Code, KEY_END, .scheme = 1}, {"", "", 1.0, Code, KEY_END, .scheme = 1},
{"", "", 2.0, Mod, Shift, .scheme = 1}, {"", "", 2.0, Mod, Shift, .scheme = 1},
@ -1205,8 +1240,10 @@ static struct key keys_landscape_special[] = {
{"/", ">", 1.0, Code, KEY_SLASH}, {"/", ">", 1.0, Code, KEY_SLASH},
{"", "", 0.5, Pad, .scheme = 1}, {"", "", 0.5, Pad, .scheme = 1},
{"", "", 1.5, Code, KEY_BACKSPACE, .scheme = 1}, {"", "", 1.5, Code, KEY_BACKSPACE, .scheme = 1},
{"", "", 0.04, Pad},
{"", "", 0.0, EndRow}, {"", "", 0.0, EndRow},
{"", "", 0.04, Pad},
{"Abc", "Abc", 1.0, BackLayer, .scheme = 1}, {"Abc", "Abc", 1.0, BackLayer, .scheme = 1},
{"⌨͕", "⌨͔", 1.0, NextLayer, .scheme = 1}, {"⌨͕", "⌨͔", 1.0, NextLayer, .scheme = 1},
{"Ctr", "Ctr", 1.0, Mod, Ctrl, .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}, {"Alt", "Alt", 1.0, Mod, Alt, .scheme = 1},
{"AGr", "AGr", 1.0, Mod, AltGr, .scheme = 1}, {"AGr", "AGr", 1.0, Mod, AltGr, .scheme = 1},
{"Enter", "Enter", 2.0, Code, KEY_ENTER, .scheme = 1}, {"Enter", "Enter", 2.0, Code, KEY_ENTER, .scheme = 1},
{"", "", 0.04, Pad},
/* end of layout */ /* end of layout */
{"", "", 0.0, Last}, {"", "", 0.0, Last},