diff --git a/data/keyboards/terminal/us+dvorak.yaml b/data/keyboards/terminal/us+dvorak.yaml new file mode 100644 index 00000000..c8f7e23a --- /dev/null +++ b/data/keyboards/terminal/us+dvorak.yaml @@ -0,0 +1,200 @@ +--- +outlines: + default: { width: 35.33, height: 46 } + action: { width: 59, height: 46 } + altline: { width: 52.67, height: 46 } + wide: { width: 59, height: 46 } + spaceline: { width: 140, height: 46 } + special: { width: 44, height: 46 } + small: { width: 59, height: 22 } + +views: + base: + - "Ctrl Alt ↑ ↓ ← →" + - "Shift_L p y f g c r l BackSpace" + - "a o e u i d h t n s" + - ", q j k x b m w v z" + - "show_numbers preferences space show_actions Return" + upper: + - "Ctrl Alt PgUp PgDn Home End" + - "Shift_L p y f g c r l BackSpace" + - "a o e u i d h t n s" + - ", q j k x b m w v z" + - "show_numbers preferences space show_actions Return" + numbers: + - "Ctrl Alt ↑ ↓ ← →" + - "show_symbols , \" ' colon ; ! ? BackSpace" + - "* # $ / & - _ + ( )" + - "1 2 3 4 5 6 7 8 9 0" + - "show_letters preferences space period Return" + symbols: + - "Ctrl Alt ↑ ↓ ← →" + - "show_numbers_from_symbols \\ % < > = [ ] BackSpace" + - "© ® £ € ¥ ^ ° @ { }" + - "~ ` | · √ π τ ÷ × ¶" + - "show_letters preferences space period Return" + actions: + - "Ctrl Alt PgUp PgDn Home End" + - "F1 F2 F3 F4 F5 F6" + - "F7 F8 F9 F10 F11 F12" + - "Esc Tab Pause Insert Up Del" + - "show_letters Menu Break Left Down Right" + +buttons: + Shift_L: + action: + locking: + lock_view: "upper" + unlock_view: "base" + outline: "altline" + icon: "key-shift" + BackSpace: + outline: "altline" + icon: "edit-clear-symbolic" + action: erase + preferences: + action: "show_prefs" + outline: "special" + icon: "keyboard-mode-symbolic" + show_numbers: + action: + set_view: "numbers" + outline: "wide" + label: "123" + show_numbers_from_symbols: + action: + set_view: "numbers" + outline: "altline" + label: "123" + show_letters: + action: + set_view: "base" + outline: "wide" + label: "ABC" + show_symbols: + action: + set_view: "symbols" + outline: "altline" + label: "τ=\\" + show_actions: + action: + set_view: "actions" + outline: "altline" + label: ">_" + period: + outline: "altline" + text: "." + space: + outline: "spaceline" + text: " " + Return: + outline: "wide" + icon: "key-enter" + keysym: "Return" + colon: + text: ":" + F1: + outline: "action" + keysym: "F1" + F2: + outline: "action" + keysym: "F2" + F3: + outline: "action" + keysym: "F3" + F4: + outline: "action" + keysym: "F4" + F5: + outline: "action" + keysym: "F5" + F6: + outline: "action" + keysym: "F6" + F7: + outline: "action" + keysym: "F7" + F8: + outline: "action" + keysym: "F8" + F9: + outline: "action" + keysym: "F9" + F10: + outline: "action" + keysym: "F10" + F11: + outline: "action" + keysym: "F11" + F12: + outline: "action" + keysym: "F12" + Esc: + outline: "action" + keysym: "Escape" + Tab: + outline: "action" + keysym: "Tab" + Del: + outline: "action" + keysym: "Delete" + Insert: + outline: "action" + keysym: "Insert" + Menu: + outline: "action" + keysym: "Menu" + Pause: + outline: "action" + keysym: "Pause" + Break: + outline: "action" + keysym: "Break" + Home: + outline: "small" + keysym: "Home" + End: + outline: "small" + keysym: "End" + PgUp: + outline: "small" + keysym: "Page_Up" + PgDn: + outline: "small" + keysym: "Page_Down" + "↑": + outline: "small" + keysym: "Up" + "↓": + outline: "small" + keysym: "Down" + "←": + outline: "small" + keysym: "Left" + "→": + outline: "small" + keysym: "Right" + Up: + label: "↑" + outline: "action" + keysym: "Up" + Left: + label: "←" + outline: "action" + keysym: "Left" + Down: + label: "↓" + outline: "action" + keysym: "Down" + Right: + label: "→" + outline: "action" + keysym: "Right" + Ctrl: + modifier: "Control" + outline: "small" + label: "Ctrl" + Alt: + modifier: "Alt" + outline: "small" + label: "Alt" diff --git a/data/keyboards/terminal/us+dvorak_wide.yaml b/data/keyboards/terminal/us+dvorak_wide.yaml new file mode 100644 index 00000000..a23baa3e --- /dev/null +++ b/data/keyboards/terminal/us+dvorak_wide.yaml @@ -0,0 +1,208 @@ +--- +outlines: + default: { width: 54, height: 37 } + action: { width: 90, height: 37 } + altline: { width: 81, height: 37 } + wide: { width: 90, height: 37 } + spaceline: { width: 225, height: 37 } + special: { width: 54, height: 37 } + small: { width: 67.4, height: 22 } + +views: + base: + - "EscSmall TabSmall Ctrl Alt ↑ ↓ ← →" + - "Shift_L p y f g c r l BackSpace" + - "a o e u i d h t n s" + - ", q j k x b m w v z" + - "show_numbers preferences space show_actions Return" + upper: + - "EscSmall TabSmall Ctrl Alt PgUp PgDn Home End" + - "Shift_L p y f g c r l BackSpace" + - "a o e u i d h t n s" + - ", q j k x b m w v z" + - "show_numbers preferences space show_actions Return" + numbers: + - "EscSmall TabSmall Ctrl Alt ↑ ↓ ← →" + - "show_symbols , \" ' colon ; ! ? BackSpace" + - "* # $ / & - _ + ( )" + - "1 2 3 4 5 6 7 8 9 0" + - "show_letters preferences space period Return" + symbols: + - "EscSmall TabSmall Ctrl Alt ↑ ↓ ← →" + - "show_numbers_from_symbols \\ % < > = [ ] BackSpace" + - "© ® £ € ¥ ^ ° @ { }" + - "~ ` | · √ π τ ÷ × ¶" + - "show_letters preferences space period Return" + actions: + - "EscSmall TabSmall Ctrl Alt PgUp PgDn Home End" + - "F1 F2 F3 F4 F5 F6" + - "F7 F8 F9 F10 F11 F12" + - "Esc Tab Pause Insert Up Del" + - "show_letters Menu Break Left Down Right" + +buttons: + Shift_L: + action: + locking: + lock_view: "upper" + unlock_view: "base" + outline: "altline" + icon: "key-shift" + BackSpace: + outline: "altline" + icon: "edit-clear-symbolic" + action: erase + preferences: + action: "show_prefs" + outline: "special" + icon: "keyboard-mode-symbolic" + show_numbers: + action: + set_view: "numbers" + outline: "wide" + label: "123" + show_numbers_from_symbols: + action: + set_view: "numbers" + outline: "altline" + label: "123" + show_letters: + action: + set_view: "base" + outline: "wide" + label: "ABC" + show_symbols: + action: + set_view: "symbols" + outline: "altline" + label: "τ=\\" + show_actions: + action: + set_view: "actions" + outline: "altline" + label: ">_" + period: + outline: "altline" + text: "." + space: + outline: "spaceline" + text: " " + Return: + outline: "wide" + icon: "key-enter" + keysym: "Return" + colon: + text: ":" + F1: + outline: "action" + keysym: "F1" + F2: + outline: "action" + keysym: "F2" + F3: + outline: "action" + keysym: "F3" + F4: + outline: "action" + keysym: "F4" + F5: + outline: "action" + keysym: "F5" + F6: + outline: "action" + keysym: "F6" + F7: + outline: "action" + keysym: "F7" + F8: + outline: "action" + keysym: "F8" + F9: + outline: "action" + keysym: "F9" + F10: + outline: "action" + keysym: "F10" + F11: + outline: "action" + keysym: "F11" + F12: + outline: "action" + keysym: "F12" + Esc: + outline: "action" + keysym: "Escape" + EscSmall: + outline: "small" + keysym: "Escape" + label: "Esc" + Tab: + outline: "action" + keysym: "Tab" + TabSmall: + outline: "small" + keysym: "Tab" + label: "Tab" + Del: + outline: "action" + keysym: "Delete" + Insert: + outline: "action" + keysym: "Insert" + Menu: + outline: "action" + keysym: "Menu" + Pause: + outline: "action" + keysym: "Pause" + Break: + outline: "action" + keysym: "Break" + Home: + outline: "small" + keysym: "Home" + End: + outline: "small" + keysym: "End" + PgUp: + outline: "small" + keysym: "Page_Up" + PgDn: + outline: "small" + keysym: "Page_Down" + "↑": + outline: "small" + keysym: "Up" + "↓": + outline: "small" + keysym: "Down" + "←": + outline: "small" + keysym: "Left" + "→": + outline: "small" + keysym: "Right" + Up: + label: "↑" + outline: "action" + keysym: "Up" + Left: + label: "←" + outline: "action" + keysym: "Left" + Down: + label: "↓" + outline: "action" + keysym: "Down" + Right: + label: "→" + outline: "action" + keysym: "Right" + Ctrl: + modifier: "Control" + outline: "small" + label: "Ctrl" + Alt: + modifier: "Alt" + outline: "small" + label: "Alt" diff --git a/src/resources.rs b/src/resources.rs index 2326a816..1a924120 100644 --- a/src/resources.rs +++ b/src/resources.rs @@ -110,6 +110,8 @@ static KEYBOARDS: &[(&'static str, &'static str)] = &[ ("terminal/us", include_str!("../data/keyboards/terminal/us.yaml")), ("terminal/us_wide", include_str!("../data/keyboards/terminal/us_wide.yaml")), + ("terminal/us+dvorak", include_str!("../data/keyboards/terminal/us+dvorak.yaml")), + ("terminal/us+dvorak_wide", include_str!("../data/keyboards/terminal/us+dvorak_wide.yaml")), // Overlays ("emoji/us", include_str!("../data/keyboards/emoji/us.yaml")), diff --git a/tests/meson.build b/tests/meson.build index d56daeb3..ae726442 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -100,6 +100,8 @@ foreach layout : [ 'terminal/fr_wide', 'terminal/us', 'terminal/us_wide', + 'terminal/us+dvorak', + 'terminal/us+dvorak_wide', # Block: Not languages. 'emoji/us',