added a full wide layout and revised the layout index

This is basically the same as the old 'full' layout, the new 'full'
layout removed some keys to reduce width. But on bigger devices like
tablets the old full layout was fine.
This commit is contained in:
Maarten van Gompel 2023-08-29 19:32:04 +02:00
parent bfcd3527dd
commit 81e5c01a22

View File

@ -11,6 +11,7 @@
/* layout declarations */ /* layout declarations */
enum layout_id { enum layout_id {
Full = 0, Full = 0,
FullWide,
Special, Special,
SpecialPad, SpecialPad,
Simple, Simple,
@ -68,7 +69,7 @@ enum layout_id {
NumLayouts, NumLayouts,
}; };
static struct key keys_full[], keys_special[], keys_specialpad[], keys_simple[], keys_simplegrid[], static struct key keys_full[], keys_full_wide[], keys_special[], keys_specialpad[], keys_simple[], keys_simplegrid[],
keys_cyrillic[], keys_arabic[], keys_persian[], keys_georgian[], keys_greek[], keys_hebrew[], keys_cyrillic[], keys_arabic[], keys_persian[], keys_georgian[], keys_greek[], keys_hebrew[],
keys_emoji[], keys_nav[], keys_landscape[], keys_landscape_special[], 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_e[], keys_compose_y[], keys_compose_u[], keys_compose_i[],
@ -87,6 +88,7 @@ static struct layout layouts[NumLayouts] = {
[Full] = {keys_full, "latin", "full", true}, // second parameter is the keymap name [Full] = {keys_full, "latin", "full", true}, // second parameter is the keymap name
// third parameter is the layout name // third parameter is the layout name
// last parameter indicates if it's an alphabetical/primary layout // last parameter indicates if it's an alphabetical/primary layout
[FullWide] = {keys_full_wide, "latin", "fullwide", true},
[Special] = {keys_special, "latin", "special", false}, [Special] = {keys_special, "latin", "special", false},
[SpecialPad] = {keys_specialpad, "latin", "specialpad", false}, [SpecialPad] = {keys_specialpad, "latin", "specialpad", false},
[Simple] = {keys_simple, "latin", "simple", true}, [Simple] = {keys_simple, "latin", "simple", true},
@ -244,6 +246,80 @@ static struct key keys_full[] = {
{"", "", 0.0, Last}, {"", "", 0.0, Last},
}; };
static struct key keys_full_wide[] = {
{"Esc", "Esc", 1.0, Code, KEY_ESC, .scheme = 1},
{"Ctr", "Ctr", 1.0, Mod, Ctrl, .scheme = 1},
{"", "", 1.0, Code, KEY_UP, .scheme = 1},
{"", "", 1.0, Code, KEY_DOWN, .scheme = 1},
{"", "", 1.0, Code, KEY_LEFT, .scheme = 1},
{"", "", 1.0, Code, KEY_RIGHT, .scheme = 1},
{"'", "\"", 1.0, Code, KEY_APOSTROPHE, &layouts[ComposeBracket] },
{";", ":", 1.0, Code, KEY_SEMICOLON, &layouts[ComposePunctuation] },
{"/", ">", 1.0, Code, KEY_SLASH, &layouts[ComposePunctuation] },
{"Tab", "Tab", 1.0, Code, KEY_TAB, .scheme = 1},
{"", "", 0.0, EndRow},
{"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]},
{"-", "_", 1.0, Code, KEY_MINUS, &layouts[ComposeMath] },
{"=", "+", 1.0, Code, KEY_EQUAL, &layouts[ComposeMath] },
{"", "", 0.0, EndRow},
{"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]},
{"r", "R", 1.0, Code, KEY_R, &layouts[ComposeR]},
{"t", "T", 1.0, Code, KEY_T, &layouts[ComposeT]},
{"y", "Y", 1.0, Code, KEY_Y, &layouts[ComposeY]},
{"u", "U", 1.0, Code, KEY_U, &layouts[ComposeU]},
{"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.0, EndRow},
{"", "", 0.5, Pad},
{"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]},
{"f", "F", 1.0, Code, KEY_F, &layouts[ComposeF]},
{"g", "G", 1.0, Code, KEY_G, &layouts[ComposeG]},
{"h", "H", 1.0, Code, KEY_H, &layouts[ComposeH]},
{"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]},
{"", "", 0.5, Pad},
{"", "", 0.0, EndRow},
{"", "", 1.5, 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]},
{"v", "V", 1.0, Code, KEY_V, &layouts[ComposeV]},
{"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]},
{"", "", 1.5, Code, KEY_BACKSPACE, .scheme = 1},
{"", "", 0.0, EndRow},
{"⌨→", "←⌨", 1.5, NextLayer, .scheme = 1},
{"Cmp", "Cmp", 1.0, Compose, .scheme = 1},
{",", "'", 1.0, Code, KEY_COMMA, &layouts[ComposeMath]},
{"", "", 4.0, Code, KEY_SPACE},
{".", "?", 1.0, Code, KEY_DOT, &layouts[ComposePunctuation]},
{"Enter", "Enter", 1.5, Code, KEY_ENTER, .scheme = 1},
/* end of layout */
{"", "", 0.0, Last},
};
static struct key keys_special[] = { static struct key keys_special[] = {
{"Esc", "Esc", 1.0, Code, KEY_ESC, .scheme = 1}, {"Esc", "Esc", 1.0, Code, KEY_ESC, .scheme = 1},
{"Alt", "Alt", 1.0, Mod, Alt, .scheme = 1}, {"Alt", "Alt", 1.0, Mod, Alt, .scheme = 1},
@ -1080,25 +1156,27 @@ static struct key keys_nav[] = {
}; };
static struct key keys_index[] = { static struct key keys_index[] = {
{"Full", "Full", 1.0, Layout, 0, &layouts[Full]}, {"Full", "Full", 1.0, Layout, 0, &layouts[Full], .scheme = 1},
{"Landscape", "Landscape", 1.5, Layout, 0, &layouts[Landscape]}, {"Wide", "Wide", 0.75, Layout, 0, &layouts[Full]},
{"Simple", "Simple", 1.0, Layout, 0, &layouts[Simple]}, {"Landscape", "Landscape", 1.5, Layout, 0, &layouts[Landscape], .scheme = 1},
{"SimpleG", "SimpleG", 1.0, Layout, 0, &layouts[SimpleGrid]}, {"Simple", "Simple", 1.0, Layout, 0, &layouts[Simple], .scheme = 1},
{"Grid", "Grid", 0.75, Layout, 0, &layouts[SimpleGrid]},
{"", "", 0.0, EndRow}, {"", "", 0.0, EndRow},
{"Symbols", "Symbols", 2.0, Layout, 0, &layouts[Special]}, {"Special", "Special", 1.5, Layout, 0, &layouts[Special], .scheme = 1},
{"SpecPad", "SpecPad", 1.5, Layout, 0, &layouts[SpecialPad]}, {"LandSc", "LandSc", 1.0, Layout, 0, &layouts[LandscapeSpecial]},
{"Nav", "Nav", 1.0, Layout, 0, &layouts[Nav]}, {"Pad", "Pad", 1.0, Layout, 0, &layouts[SpecialPad]},
{"123", "123", 1.0, Layout, 0, &layouts[Dialer]}, {"Nav", "Nav", 1.0, Layout, 0, &layouts[Nav], .scheme = 1},
{"🙂", "🙂", 1.0, Layout, 0, &layouts[Emoji]}, {"123", "123", 1.0, Layout, 0, &layouts[Dialer], .scheme = 1},
{"🙂", "🙂", 1.0, Layout, 0, &layouts[Emoji], .scheme = 1},
{"", "", 0.0, EndRow}, {"", "", 0.0, EndRow},
{"Абв", "Абв", 1.0, Layout, 0, &layouts[Cyrillic]}, {"Абв", "Абв", 1.0, Layout, 0, &layouts[Cyrillic], .scheme = 1},
{"αβγ", "αβγ", 1.0, Layout, 0, &layouts[Greek]}, {"αβγ", "αβγ", 1.0, Layout, 0, &layouts[Greek], .scheme = 1},
{"ابج", "ابج", 1.0, Layout, 0, &layouts[Arabic]}, {"ابج", "ابج", 1.0, Layout, 0, &layouts[Arabic], .scheme = 1},
{"فر", "فر", 1.0, Layout, 0, &layouts[Persian]}, {"فر", "فر", 1.0, Layout, 0, &layouts[Persian], .scheme = 1},
{"აბგ", "აბგ", 1.0, Layout, 0, &layouts[Georgian]}, {"აბგ", "აბგ", 1.0, Layout, 0, &layouts[Georgian], .scheme = 1},
{"א", "א", 1.0, Layout, 0, &layouts[Hebrew]}, {"א", "א", 1.0, Layout, 0, &layouts[Hebrew], .scheme = 1},
{"", "", 0.0, Last}, {"", "", 0.0, Last},
}; };