diff --git a/data/keyboards/us+colemak.yaml b/data/keyboards/us+colemak.yaml new file mode 100644 index 00000000..59d71d96 --- /dev/null +++ b/data/keyboards/us+colemak.yaml @@ -0,0 +1,78 @@ +--- +outlines: + default: { width: 35.33, height: 52 } + altline: { width: 52.67, height: 52 } + wide: { width: 62, height: 52 } + spaceline: { width: 142, height: 52 } + special: { width: 44, height: 52 } + +views: + base: + - "q w f p g j l u y" + - "a r s t d h n e i o" + - "Shift_L z x c v b k m BackSpace" + - "show_numbers preferences space period Return" + upper: + - "Q W F P G J L U Y" + - "A R S T D H N E I O" + - "Shift_L Z X C V B K M BackSpace" + - "show_numbers preferences space period Return" + numbers: + - "1 2 3 4 5 6 7 8 9 0" + - "@ # $ % & - _ + ( )" + - "show_symbols , \" ' colon ; ! ? BackSpace" + - "show_letters preferences space period Return" + symbols: + - "~ ` | · √ π τ ÷ × ¶" + - "© ® £ € ¥ ^ ° * { }" + - "show_numbers_from_symbols \\ / < > = [ ] BackSpace" + - "show_letters preferences space period Return" + +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: "*/=" + period: + outline: "special" + text: "." + space: + outline: "spaceline" + text: " " + Return: + outline: "wide" + icon: "key-enter" + keysym: "Return" + colon: + text: ":" diff --git a/src/resources.rs b/src/resources.rs index b192f1e8..76ebf505 100644 --- a/src/resources.rs +++ b/src/resources.rs @@ -14,6 +14,7 @@ const KEYBOARDS: &[(*const str, *const str)] = &[ // layouts: us must be left as first, as it is the, // fallback layout. The others should be alphabetical. ("us", include_str!("../data/keyboards/us.yaml")), + ("us+colemak", include_str!("../data/keyboards/us+colemak.yaml")), ("us_wide", include_str!("../data/keyboards/us_wide.yaml")), ("br", include_str!("../data/keyboards/br.yaml")), ("de", include_str!("../data/keyboards/de.yaml")), diff --git a/tests/meson.build b/tests/meson.build index 6cd55c55..e78a714d 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -48,7 +48,7 @@ endforeach # due to the way Cargo builds executables # and the need to call it manually foreach layout : [ - 'us', 'us_wide', + 'us', 'us+colemak', 'us_wide', 'br', 'be', 'be_wide', 'cz', 'cz_wide',