diff --git a/behaviors/combos.dtsi b/behaviors/combos.dtsi index 6356116..ee509f4 100644 --- a/behaviors/combos.dtsi +++ b/behaviors/combos.dtsi @@ -25,37 +25,37 @@ ***********************/ // CUT - Ctrl + X, active on base layer -ZMK_COMBO(cut, &kp LC(X), LB3 LB4, DEF COL) +ZMK_COMBO(cut, &kp LC(X), LB3 LB4, DEF COL ERG) // COPY - Ctrl + C, active on base layer -ZMK_COMBO(copy, &kp LC(C), LB2 LB3, DEF COL) +ZMK_COMBO(copy, &kp LC(C), LB2 LB3, DEF COL ERG) // PASTE - Ctrl + V, active on all layers -ZMK_COMBO(paste, &kp LC(V), LB1 LB2, DEF COL) +ZMK_COMBO(paste, &kp LC(V), LB1 LB2, DEF COL ERG) // PRINT SCREEN - PrintScreen, active on base layer -ZMK_COMBO(printscreen, &kp PRINTSCREEN, RT3 RT4, DEF COL) +ZMK_COMBO(printscreen, &kp PRINTSCREEN, RT3 RT4, DEF COL ERG) // CAPS WORD - Both HR Shifts, active on base & accent layers -ZMK_COMBO(capsword, &caps_word, LM1 RM1, DEF ACC COL) +ZMK_COMBO(capsword, &caps_word, LM1 RM1, DEF ACC COL ERG) // CAPS LOCK - Both HR Controls, active on base & accent layers -ZMK_COMBO(capslock, &kp CAPSLOCK, LM2 RM2, DEF ACC COL) +ZMK_COMBO(capslock, &kp CAPSLOCK, LM2 RM2, DEF ACC COL ERG) // TMUX Prefix - active on base layer -ZMK_COMBO(tmux, &kp TMUX, LM2 LM3, DEF COL, HR_TIMEOUT) +ZMK_COMBO(tmux, &kp TMUX, LM2 LM3, DEF COL ERG, HR_TIMEOUT) // TMUX Command - active on base layer -ZMK_COMBO(tmux_cmd, &TMUX_CMD, LM2 LM3 RM4, DEF COL, HR_TIMEOUT) +ZMK_COMBO(tmux_cmd, &TMUX_CMD, LM2 LM3 RM4, DEF COL ERG, HR_TIMEOUT) // TMUX New Session - active on base layer -ZMK_COMBO(tmux_session, &TMUX_SESSION, LM2 LM3 LM4, DEF COL, HR_TIMEOUT) +ZMK_COMBO(tmux_session, &TMUX_SESSION, LM2 LM3 LM4, DEF COL ERG, HR_TIMEOUT) // Toggle Mouse Layer - active on base and mouse layers -ZMK_COMBO(toggle_mouse, &tog MOU, LT1 LT4, DEF MOU COL) +ZMK_COMBO(toggle_mouse, &tog MOU, LT1 LT4, DEF MOU COL ERG) // Toggle Game Layer - active on base and game layer -ZMK_COMBO(toggle_game, &tog GAM, RT1 RT4, DEF GAM COL) +ZMK_COMBO(toggle_game, &tog GAM, RT1 RT4, DEF GAM COL ERG) /*********************** SYMBOL LAYER diff --git a/behaviors/combos_34.dtsi b/behaviors/combos_34.dtsi index 02ece61..0f8cd4a 100644 --- a/behaviors/combos_34.dtsi +++ b/behaviors/combos_34.dtsi @@ -19,3 +19,6 @@ ZMK_COMBO(tab_34, &kp TAB, RH0 RH1, DEF COL) // QWERTY/Colemak - Inner thumbs, active on base and Colemak layers ZMK_COMBO(colemak_34, &tog COL, LH0 RH0, DEF COL) + +// QWERTY/Ergo-L - Outer thumbs, active on base and Ergo-L layers +ZMK_COMBO(ergol_34, &tog ERG, LH1 RH1, DEF ERG) diff --git a/behaviors/combos_36.dtsi b/behaviors/combos_36.dtsi index de57670..94e9f74 100644 --- a/behaviors/combos_36.dtsi +++ b/behaviors/combos_36.dtsi @@ -19,3 +19,6 @@ ZMK_COMBO(tab, &kp TAB, RH0 RH1, DEF COL) // QWERTY/Colemak - Inner thumbs, active on base and Colemak layers ZMK_COMBO(colemak, &tog COL, LH0 RH0, DEF COL) + +// QWERTY/Ergo-L - Middle thumbs, active on base and Ergo-L layers +ZMK_COMBO(ergol_34, &tog ERG, LH1 RH1, DEF ERG) diff --git a/behaviors/hold-tap.dtsi b/behaviors/hold-tap.dtsi index 2640eda..5e49e58 100644 --- a/behaviors/hold-tap.dtsi +++ b/behaviors/hold-tap.dtsi @@ -3,6 +3,7 @@ #include "../zmk-nodefree-config/helper.h" #include "../zmk-nodefree-config/keypos_def/keypos_36keys.h" #include "../layouts/canadian-multilingual-standard.dtsi" +#include "../config/constants.h" /* Home Row Mods */ #define KEYS_L LT0 LT1 LT2 LT3 LT4 LM0 LM1 LM2 LM3 LM4 LB0 LB1 LB2 LB3 LB4 // left-hand keys @@ -43,7 +44,7 @@ ZMK_BEHAVIOR(hrmc, hold_tap, tapping-term-ms = ; quick-tap-ms = ; global-quick-tap; - bindings = <&kp>, <&CIRC>; + bindings = <&kp>, <&CIRC 0>; ) // homerow mods for grave @@ -52,7 +53,7 @@ ZMK_BEHAVIOR(hrmg, hold_tap, tapping-term-ms = ; quick-tap-ms = ; global-quick-tap; - bindings = <&kp>, <&AGRA>; + bindings = <&kp>, <&AGRA 0>; ) // homerow mods for è @@ -61,7 +62,16 @@ ZMK_BEHAVIOR(hrme, hold_tap, tapping-term-ms = ; quick-tap-ms = ; global-quick-tap; - bindings = <&kp>, <&E_GR>; + bindings = <&kp>, <&E_GR 0>; +) + +// homerow mods for ê +ZMK_BEHAVIOR(hrmec, hold_tap, + flavor = "balanced"; + tapping-term-ms = ; + quick-tap-ms = ; + global-quick-tap; + bindings = <&kp>, <&E_CI 0>; ) // homerow mods for î @@ -70,5 +80,5 @@ ZMK_BEHAVIOR(hrmi, hold_tap, tapping-term-ms = ; quick-tap-ms = ; global-quick-tap; - bindings = <&kp>, <&I_CI>; + bindings = <&kp>, <&I_CI 0>; ) diff --git a/behaviors/mod-morph.dtsi b/behaviors/mod-morph.dtsi index a5bdf23..7b470b2 100644 --- a/behaviors/mod-morph.dtsi +++ b/behaviors/mod-morph.dtsi @@ -2,6 +2,7 @@ #include #include "../zmk-nodefree-config/helper.h" #include "../layouts/canadian-multilingual-standard.dtsi" +#include "../config/constants.h" // tap: backspace | shift + tap: delete ZMK_BEHAVIOR(bspc_del, mod_morph, @@ -50,3 +51,21 @@ ZMK_BEHAVIOR(sp_nbsp_sym, mod_morph, bindings = << SYM SPACE>, <&kp RALT(SPACE)>; mods = <(MOD_LSFT|MOD_RSFT)>; ) + +// tap: period | shift + tap: colon +ZMK_BEHAVIOR(dot_col, mod_morph, + bindings = <&kp DOT>, <&kp COLON>; + mods = <(MOD_LSFT|MOD_RSFT)>; +) + +// tap: period | shift + tap: colon +ZMK_BEHAVIOR(comma_semi, mod_morph, + bindings = <&kp COMMA>, <&kp SEMI>; + mods = <(MOD_LSFT|MOD_RSFT)>; +) + +// tap: period | shift + tap: colon +ZMK_BEHAVIOR(trem_gr, mod_morph, + bindings = <&KBD ACC_TR ERG>, <&KBD ACC_GR ERG>; + mods = <(MOD_LSFT|MOD_RSFT)>; +) diff --git a/behaviors/mouse.dtsi b/behaviors/mouse.dtsi index 09926b4..dc625d9 100644 --- a/behaviors/mouse.dtsi +++ b/behaviors/mouse.dtsi @@ -45,10 +45,10 @@ ZMK_BEHAVIOR(mwh_tg, macro, bindings = ) // Mouse Left Click - Index and Middle finger of left hand, active on all layers -ZMK_COMBO(leftclick, &mkp LCLK, LT1 LT2, DEF COL) +ZMK_COMBO(leftclick, &mkp LCLK, LT1 LT2, DEF COL ERG) // Mouse Right Click - Pinky and Ring finger of left hand, active on all layers -ZMK_COMBO(rightclick, &mkp RCLK, LT3 LT4, DEF COL) +ZMK_COMBO(rightclick, &mkp RCLK, LT3 LT4, DEF COL ERG) // Mouse Scroll Toggle - Middle and Ring finger of left hand, active on all layers -ZMK_COMBO(scrolltoggle, &mwh_tg, LT2 LT3, DEF COL) +ZMK_COMBO(scrolltoggle, &mwh_tg, LT2 LT3, DEF COL ERG) diff --git a/chars/math.dtsi b/chars/math.dtsi index 6b27028..f24b0e8 100644 --- a/chars/math.dtsi +++ b/chars/math.dtsi @@ -7,4 +7,3 @@ ZMK_UNICODE_SINGLE(math_3_4, N0, N0, B, E) // ¾ ZMK_UNICODE_SINGLE(math_pm, N0, N0, B, N1) // ± ZMK_UNICODE_SINGLE(math_deg, N0, N0, B, N0) // ° ZMK_UNICODE_SINGLE(math_micro, N0, N0, B, N5) // µ - diff --git a/config/constants.h b/config/constants.h index 451fe99..f7e5168 100644 --- a/config/constants.h +++ b/config/constants.h @@ -9,11 +9,13 @@ #define DEF 0 #define ACC 1 #define COL 2 -#define SYM 3 -#define NAV 4 -#define NUM 5 -#define MOU 6 -#define GAM 7 +#define ERG 3 +#define ACE 4 +#define SYM 5 +#define NAV 6 +#define NUM 7 +#define MOU 8 +#define GAM 9 // Modifier keys #define GL LGUI diff --git a/config/urchin.keymap b/config/urchin.keymap index 73929ea..572debe 100644 --- a/config/urchin.keymap +++ b/config/urchin.keymap @@ -32,11 +32,11 @@ ZMK_LAYER(qwerty, ZMK_LAYER(accent, // ╭───────────┬───────────┬───────────┬────────────┬────────────╮ ╭───────────┬─────────────┬─────────────┬────────────┬────────────╮ - XXX XXX &TREM E XXX XXX XXX &TREM I &TREM O &TREM U &KPD ACC_TR + XXX XXX &TREM E DEF XXX XXX XXX &TREM I DEF &TREM O DEF &TREM U DEF &KPD ACC_TR DEF // ├───────────┼───────────┼───────────┼────────────┼────────────┤ ├───────────┼─────────────┼─────────────┼────────────┼────────────┤ - &A_GR &CIRC E &E_CU &hrme SL 0 XXX XXX &hrmi SL 0 &O_CI &U_CI &KPD ACC_GR + &A_GR DEF &CIRC E DEF &E_CU DEF &hrme SL 0 XXX XXX &hrmi SL 0 &O_CI DEF &U_CI DEF &KPD ACC_GR DEF // ├───────────┼───────────┼───────────┼────────────┼────────────┤ ├───────────┼─────────────┼─────────────┼────────────┼────────────┤ - &A_CI XXX &CEDIL XXX XXX XXX XXX XXX &U_GR &KPD ACC_CI + &A_CI DEF XXX &CEDIL DEF XXX XXX XXX XXX XXX &U_GR DEF &KPD ACC_CI DEF // ╰───────────┴───────────┴───────────┼────────────┼────────────┤ ├───────────┼─────────────┼─────────────┴────────────┴────────────╯ ___ ___ ___ ___ // ╰────────────┴────────────╯ ╰───────────┴─────────────╯ @@ -54,10 +54,32 @@ ZMK_LAYER(colemak, // ╰────────────┴────────────╯ ╰───────────┴─────────────╯ ) -ZMK_LAYER(symbol, +ZMK_LAYER(ergol, +// ╭───────────┬───────────┬───────────┬────────────┬────────────╮ ╭───────────┬─────────────┬─────────────┬────────────┬────────────╮ + &kp Q &kp C &kp O &kp P &kp W &kp J &kp M &kp D &to ACE &kp F +// ├───────────┼───────────┼───────────┼────────────┼────────────┤ ├───────────┼─────────────┼─────────────┼────────────┼────────────┤ + &hml GL A &hml AL S &hml CL E &hml SL N &comma_semi &kp L &hmr SL R &hmr CL T &hmr AL I &hmr GL U +// ├───────────┼───────────┼───────────┼────────────┼────────────┤ ├───────────┼─────────────┼─────────────┼────────────┼────────────┤ + &kp Z &kp X &kp QUEST &kp V &kp B &dot_col &kp H &kp G &kp Y &kp K +// ╰───────────┴───────────┴───────────┼────────────┼────────────┤ ├───────────┼─────────────┼─────────────┴────────────┴────────────╯ + ___ ___ ___ ___ +// ╰────────────┴────────────╯ ╰───────────┴─────────────╯ +) + +ZMK_LAYER(eaccent, // ╭───────────┬───────────┬───────────┬────────────┬────────────╮ ╭───────────┬─────────────┬─────────────┬────────────┬────────────╮ - &kp HASH &kp AT &kp LBRAC &kp RBRAC &kp PLUS XXX &kp TILDS &GRA &kp DLLR XXX + &fr_ae &CEDIL ERG &fr_oe &O_CI ERG XXX XXX XXX XXX &trem_gr XXX // ├───────────┼───────────┼───────────┼────────────┼────────────┤ ├───────────┼─────────────┼─────────────┼────────────┼────────────┤ + &A_GR ERG &E_CU ERG &E_GR ERG &hrmec SL 0 XXX XXX &kp SL &TREM I ERG &U_CI ERG &U_GR ERG +// ├───────────┼───────────┼───────────┼────────────┼────────────┤ ├───────────┼─────────────┼─────────────┼────────────┼────────────┤ + &A_CI ERG XXX XXX XXX XXX XXX XXX XXX XXX XXX +// ╰───────────┴───────────┴───────────┼────────────┼────────────┤ ├───────────┼─────────────┼─────────────┴────────────┴────────────╯ + ___ ___ ___ ___ +// ╰────────────┴────────────╯ ╰───────────┴─────────────╯ +) + +ZMK_LAYER(symbol, +// ╭───────────┬───────────┬───────────┬────────────┬────────────╮ ╭───────────┬─────────────┬─────────────┬────────────┬────────────╮ &kp SLSH &dash_tilde &kp LPAR &hml SL RPAR &kp EQUAL &CAR &kp QUEST &kp EXCL &kp AMPS &kp PIP // ├───────────┼───────────┼───────────┼────────────┼────────────┤ ├───────────┼─────────────┼─────────────┼────────────┼────────────┤ &kp STAR &kp PRCNT &kp LBKET &kp RBKET &kp UNDER XXX &kp LETHAN &kp GRTHAN « » diff --git a/images/keymaps/urchin_keymap.svg b/images/keymaps/urchin_keymap.svg index a192467..e69de29 100644 --- a/images/keymaps/urchin_keymap.svg +++ b/images/keymaps/urchin_keymap.svg @@ -1,2617 +0,0 @@ - -/* start glyphs */ - - - - - - - - - - - - - - - - \g> - - \g> - - - - - - - - - - \g> - - \g> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -/* end glyphs */ - - -qwerty - - - -Q - - - -W - - - -E - - - -R - - - -T - - - -Y - - - -U - - - -I - - - -O - - - -P - - - -A -GUI - - - -S -ALT - - - -D -CTRL - - - -F -SHIFT - - - -G - - - -H - - - -J -SHIFT - - - -K -CTRL - - - -L -ALT - - - -; -GUI - - - -Z - - - -X - - - -C - - - -V - - - -B - - - -N - - - -M - - - -, - - - -. - - - -accent -toggle - - - - -nav - - - -ESC -nums - - - - - - - - - - -symbol - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -accent - - - - - - - - - -Ë - - - - - - - - - - - - -Ï - - - -Ö - - - -Ü - - - -¨ - - - -À - - - -Ê - - - -É - - - -È -SHIFT - - - - - - - - - -Î -SHIFT - - - -Ô - - - -Û - - - -` - - - -Â - - - - - - -Ç - - - - - - - - - - - - - - - - - - -Ù - - - -^ - - - - - - - - - - - - - - - - - - - - -colemak - - - -Q - - - -W - - - -F - - - -P - - - -B - - - -J - - - -L - - - -U - - - -Y - - - -; - - - -A -GUI - - - -R -ALT - - - -S -CTRL - - - -T -SHIFT - - - -G - - - -M - - - -N -SHIFT - - - -E -CTRL - - - -I -ALT - - - -O -GUI - - - -Z - - - -X - - - -C - - - -D - - - -V - - - -K - - - -H - - - -, - - - -. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -symbol - - - -# - - - -@ - - - -{ - - - -} - - - -+ - - - - - - -~ - - - -` - - - -$ - - - - - - -/ - - - -- -~ - - - -( - - - -) -SHIFT - - - -= - - - -^ - - - -? - - - -! - - - -& - - - -| - - - -* - - - -% - - - -[ - - - -] - - - -_ - - - - - - -< - - - -> - - - -« - - - -» - - - - - - - - - - - - - - - - - - -=> - - - --> - - - -<= - - - ->= - - - - -nav - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -GUI -sticky - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -INSERT - - - - - - - - - - - - - - - - - - - - - - -HOME - - - - -PAGEDOWN - - - - - -PAGEUP - - - - -END - - - - -SCROLLLOCK - - - - - - - - - - - - - - - - - - - - -nums - - - -F1 - - - -F2 - - - -F3 - - - -F4 - - - -± - - - -¼ - - - -7 - - - -8 - - - -9 - - - -* -/ - - - -F5 - - - -F6 - - - -F7 - - - -F8 -SHIFT - - - -° - - - -½ - - - -4 - - - -5 - - - -6 - - - -+ -- - - - -F9 - - - -F10 - - - -F11 - - - -F12 - - - -µ - - - -¾ - - - -1 - - - -2 - - - -3 - - - -, -. - - - - - - - - - - - - - - -0 - - - - -mouse - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -game - - - - - - - -Q - - - -W - - - -E - - - -R - - - - - - - - - - - - - - - - - - - -ALT - - - -SHIFT - - - -A - - - -S - - - -D - - - -F - - - -1 - - - -2 - - - -3 - - - -4 - - - -5 - - - -CTRL - - - -Z - - - -X - - - -C - - - -V - - - -6 - - - -7 - - - -8 - - - -9 - - - -0 - - - - - - - - - - - -ESC - - - -M - - - -Combos - - - - - -CAPSWORD - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -CAPSLOCK - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -TMUX - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -TMUXCOMMAND - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -TMUXNEW -SESSION - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -mouse -toggle - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -game -toggle - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -colemak -toggle - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/keymap-drawer/config.yaml b/keymap-drawer/config.yaml index 56ca170..9250a85 100644 --- a/keymap-drawer/config.yaml +++ b/keymap-drawer/config.yaml @@ -638,8 +638,14 @@ parse_config: draw_separate: true combo_toggle_game: draw_separate: true + combo_colemak: + draw_separate: true combo_colemak_34: draw_separate: true + combo_ergol: + draw_separate: true + combo_ergol_34: + draw_separate: true combo_tab: align: "bottom" offset: 0.3 diff --git a/keymap-drawer/urchin_keymap.yaml b/keymap-drawer/urchin_keymap.yaml index a7319a9..e69de29 100644 --- a/keymap-drawer/urchin_keymap.yaml +++ b/keymap-drawer/urchin_keymap.yaml @@ -1,296 +0,0 @@ -layout: {qmk_keyboard: ferris/sweep} -layers: - qwerty: - - Q - - W - - E - - R - - T - - Y - - U - - I - - O - - P - - {t: A, h: GUI} - - {t: S, h: ALT} - - {t: D, h: CTRL} - - {t: F, h: SHIFT} - - G - - H - - {t: J, h: SHIFT} - - {t: K, h: CTRL} - - {t: L, h: ALT} - - {t: ;, h: GUI} - - Z - - X - - C - - V - - B - - N - - M - - ',' - - . - - {t: accent, h: toggle} - - {t: '$$material:keyboard_return$$', h: nav} - - {t: ESC, h: nums, s: '$$material:left_click$$'} - - {t: '$$material:backspace$$', s: $$delete$$} - - {t: '$$tabler:space$$', h: symbol, s: $$nbsp$$} - accent: - - '' - - '' - - Ë - - '' - - '' - - '' - - Ï - - Ö - - Ü - - ¨ - - À - - Ê - - É - - {t: 'È', h: SHIFT} - - '' - - '' - - {t: 'Î', h: SHIFT} - - Ô - - Û - - '`' - - Â - - '' - - Ç - - '' - - '' - - '' - - '' - - '' - - Ù - - ^ - - {t: ▽, type: trans} - - {t: ▽, type: trans} - - {t: ▽, type: trans} - - {t: ▽, type: trans} - colemak: - - Q - - W - - F - - P - - B - - J - - L - - U - - Y - - ; - - {t: A, h: GUI} - - {t: R, h: ALT} - - {t: S, h: CTRL} - - {t: T, h: SHIFT} - - G - - M - - {t: N, h: SHIFT} - - {t: E, h: CTRL} - - {t: I, h: ALT} - - {t: O, h: GUI} - - Z - - X - - C - - D - - V - - K - - H - - ',' - - . - - '' - - {t: ▽, type: trans} - - {t: ▽, type: trans} - - {t: ▽, type: trans} - - {t: ▽, type: trans} - symbol: - - '#' - - '@' - - '{' - - '}' - - + - - '' - - '~' - - '`' - - $ - - '' - - / - - {t: '-', s: '~'} - - ( - - {t: ), h: SHIFT} - - '=' - - ^ - - '?' - - '!' - - '&' - - '|' - - '*' - - '%' - - '[' - - ']' - - _ - - '' - - < - - '>' - - « - - » - - {t: ▽, type: trans} - - {t: ▽, type: trans} - - {t: ▽, type: trans} - - {type: held} - nav: - - $$output-toggle$$ - - '' - - '' - - '' - - $$bt-clear$$ - - '' - - '' - - '' - - '' - - '' - - {t: GUI, h: sticky} - - $$tabler:player-track-prev-filled$$ - - $$play-pause$$ - - $$tabler:player-track-next-filled$$ - - '' - - $$tabler:arrow-big-left$$ - - $$tabler:arrow-big-down$$ - - $$tabler:arrow-big-up$$ - - $$tabler:arrow-big-right$$ - - INSERT - - $$bt-prev$$ - - $$bt-next$$ - - $$tabler:volume-2$$ - - $$tabler:volume$$ - - '' - - HOME - - PAGE DOWN - - PAGE UP - - END - - SCROLL LOCK - - {type: held} - - {t: ▽, type: trans} - - {t: ▽, type: trans} - - {t: ▽, type: trans} - nums: - - F1 - - F2 - - F3 - - F4 - - ± - - ¼ - - '7' - - '8' - - '9' - - {t: '*', s: /} - - F5 - - F6 - - F7 - - {t: F8, h: SHIFT} - - ° - - ½ - - '4' - - '5' - - '6' - - {t: +, s: '-'} - - F9 - - F10 - - F11 - - F12 - - µ - - ¾ - - '1' - - '2' - - '3' - - {t: ',', s: .} - - {t: ▽, type: trans} - - {type: held} - - {t: ▽, type: trans} - - '0' - mouse: ['', '', '', '', '', '', '', '', '', '', '', $$scroll-left$$, $$scroll-up$$, $$scroll-down$$, $$scroll-right$$, $$cursor-left$$, $$cursor-down$$, $$cursor-up$$, - $$cursor-right$$, '', '', '', '', $$scroll$$, '', '', '', '', '', '', '$$material:right_click$$', '$$material:left_click$$', '', ''] - game: ['$$material:keyboard_tab$$', Q, W, E, R, '$$material:left_click$$', $$click-middle$$, '$$material:right_click$$', $$scroll$$, ALT, SHIFT, A, S, D, F, '1', - '2', '3', '4', '5', CTRL, Z, X, C, V, '6', '7', '8', '9', '0', '$$tabler:space$$', '$$material:keyboard_return$$', ESC, M] -combos: -- p: [21, 20] - k: $$tabler:cut$$ - l: [qwerty, colemak] - a: bottom - o: -0.7 - d: false -- p: [22, 21] - k: $$tabler:copy$$ - l: [qwerty, colemak] -- p: [23, 22] - k: $$tabler:clipboard$$ - l: [qwerty, colemak] -- p: [8, 9] - k: $$tabler:camera$$ - l: [qwerty, colemak] - a: top - o: -0.7 - d: false -- p: [13, 16] - k: CAPS WORD - l: [qwerty, accent, colemak] - draw_separate: true -- p: [12, 17] - k: CAPS LOCK - l: [qwerty, accent, colemak] - draw_separate: true -- p: [12, 11] - k: TMUX - l: [qwerty, colemak] - draw_separate: true -- p: [12, 11, 19] - k: TMUX COMMAND - l: [qwerty, colemak] - draw_separate: true -- p: [12, 11, 10] - k: TMUX NEW SESSION - l: [qwerty, colemak] - draw_separate: true -- p: [3, 0] - k: {t: mouse, h: toggle} - l: [qwerty, mouse, colemak] - draw_separate: true -- p: [6, 9] - k: {t: game, h: toggle} - l: [qwerty, game, colemak] - draw_separate: true -- p: [13, 12] - k: ' => ' - l: [symbol] -- p: [23, 22] - k: ' -> ' - l: [symbol] -- p: [26, 27] - k: ' <= ' - l: [symbol] -- p: [27, 28] - k: ' >= ' - l: [symbol] -- p: [32, 33] - k: $$material:keyboard_tab$$ - l: [qwerty, colemak] - a: bottom - o: 0.3 -- p: [31, 32] - k: {t: colemak, h: toggle} - l: [qwerty, colemak] - draw_separate: true -- p: [3, 2] - k: $$material:left_click$$ - l: [qwerty, colemak] -- p: [1, 0] - k: $$material:right_click$$ - l: [qwerty, colemak] - a: top - o: -0.7 - d: false -- p: [2, 1] - k: $$scroll$$ - l: [qwerty, colemak] diff --git a/layouts/canadian-multilingual-standard.dtsi b/layouts/canadian-multilingual-standard.dtsi index 551deea..2815a99 100644 --- a/layouts/canadian-multilingual-standard.dtsi +++ b/layouts/canadian-multilingual-standard.dtsi @@ -29,72 +29,80 @@ #define ACC_TR LS(LBKT) // ¨ // The following must return to the base layer after being pressed -ZMK_BEHAVIOR(A_GR, macro, bindings = <&kp BACKSLASH>, <&to DEF>;) // À -ZMK_BEHAVIOR(A_CI, macro, bindings = <&fr_a_cf>, <&to DEF>;) // Â -ZMK_BEHAVIOR(E_CU, macro, bindings = <&kp SLASH>, <&to DEF>;) // É -ZMK_BEHAVIOR(E_GR, macro, bindings = <&kp APOS>, <&to DEF>;) // È -ZMK_BEHAVIOR(E_CI, macro, bindings = <&fr_e_cf>, <&to DEF>;) // Ê -ZMK_BEHAVIOR(I_CI, macro, bindings = <&fr_i_cf>, <&to DEF>;) // Î -ZMK_BEHAVIOR(O_CI, macro, bindings = <&fr_o_cf>, <&to DEF>;) // Ô -ZMK_BEHAVIOR(U_CI, macro, bindings = <&fr_u_cf>, <&to DEF>;) // Û -ZMK_BEHAVIOR(U_GR, macro, bindings = <&fr_u_gr>, <&to DEF>;) // Ù -ZMK_BEHAVIOR(CEDIL, macro, bindings = <&kp RBKT>, <&to DEF>;) // Ç +ZMK_BEHAVIOR(A_GR, macro_one_param, bindings = <&kp BACKSLASH>, <¯o_param_1to1>, <&to MACRO_PLACEHOLDER>;) // À +ZMK_BEHAVIOR(A_CI, macro_one_param, bindings = <&fr_a_cf>, <¯o_param_1to1>, <&to MACRO_PLACEHOLDER>;) // Â +ZMK_BEHAVIOR(E_CU, macro_one_param, bindings = <&kp SLASH>, <¯o_param_1to1>, <&to MACRO_PLACEHOLDER>;) // É +ZMK_BEHAVIOR(E_GR, macro_one_param, bindings = <&kp APOS>, <¯o_param_1to1>, <&to MACRO_PLACEHOLDER>;) // È +ZMK_BEHAVIOR(E_CI, macro_one_param, bindings = <&fr_e_cf>, <¯o_param_1to1>, <&to MACRO_PLACEHOLDER>;) // Ê +ZMK_BEHAVIOR(I_CI, macro_one_param, bindings = <&fr_i_cf>, <¯o_param_1to1>, <&to MACRO_PLACEHOLDER>;) // Î +ZMK_BEHAVIOR(O_CI, macro_one_param, bindings = <&fr_o_cf>, <¯o_param_1to1>, <&to MACRO_PLACEHOLDER>;) // Ô +ZMK_BEHAVIOR(U_CI, macro_one_param, bindings = <&fr_u_cf>, <¯o_param_1to1>, <&to MACRO_PLACEHOLDER>;) // Û +ZMK_BEHAVIOR(U_GR, macro_one_param, bindings = <&fr_u_gr>, <¯o_param_1to1>, <&to MACRO_PLACEHOLDER>;) // Ù +ZMK_BEHAVIOR(CEDIL, macro_one_param, bindings = <&kp RBKT>, <¯o_param_1to1>, <&to MACRO_PLACEHOLDER>;) // Ç // ` directly -ZMK_BEHAVIOR(GRA, macro, bindings = +ZMK_BEHAVIOR(GRA, macro_one_param, bindings = <¯o_press &kp RALT>, <¯o_tap &kp LBKT &kp LBKT>, <¯o_release &kp RALT>, - <&to DEF>; + <¯o_param_1to1>, + <&to MACRO_PLACEHOLDER>; ) // ^ directly -ZMK_BEHAVIOR(CAR, macro, bindings = +ZMK_BEHAVIOR(CAR, macro_one_param, bindings = <¯o_tap &kp LBKT &kp SPACE>, - <&to DEF>; + <¯o_param_1to1>, + <&to MACRO_PLACEHOLDER>; ) // ¨ directly -ZMK_BEHAVIOR(TREMA, macro, bindings = +ZMK_BEHAVIOR(TREMA, macro_one_param, bindings = <¯o_tap &kp LS(LBKT) &kp SPACE>, - <&to DEF>; + <¯o_param_1to1>, + <&to MACRO_PLACEHOLDER>; ) // ` to input -ZMK_BEHAVIOR(AGRA, macro_one_param, bindings = +ZMK_BEHAVIOR(AGRA, macro_two_param, bindings = <&kp RA(LBKT)>, <¯o_param_1to1>, <¯o_tap &kp MACRO_PLACEHOLDER>, - <&to DEF>; + <¯o_param_2to1>, + <&to MACRO_PLACEHOLDER>; ) // ´ to input -ZMK_BEHAVIOR(AIGU, macro_one_param, bindings = +ZMK_BEHAVIOR(AIGU, macro_two_param, bindings = <&kp RA(SLASH)>, <¯o_param_1to1>, <¯o_tap &kp MACRO_PLACEHOLDER>, - <&to DEF>; + <¯o_param_2to1>, + <&to MACRO_PLACEHOLDER>; ) // ¨ to input -ZMK_BEHAVIOR(TREM, macro_one_param, bindings = +ZMK_BEHAVIOR(TREM, macro_two_param, bindings = <&kp LS(LBKT)>, <¯o_param_1to1>, <¯o_tap &kp MACRO_PLACEHOLDER>, - <&to DEF>; + <¯o_param_2to1>, + <&to MACRO_PLACEHOLDER>; ) // ^ to input -ZMK_BEHAVIOR(CIRC, macro_one_param, bindings = +ZMK_BEHAVIOR(CIRC, macro_two_param, bindings = <&kp LBKT>, <¯o_param_1to1>, <¯o_tap &kp MACRO_PLACEHOLDER>, - <&to DEF>; + <¯o_param_2to1>, + <&to MACRO_PLACEHOLDER>; ) // Keypress then return to default layer -ZMK_BEHAVIOR(KPD, macro_one_param, bindings = +ZMK_BEHAVIOR(KPD, macro_two_param, bindings = <¯o_param_1to1>, <&kp MACRO_PLACEHOLDER>, - <&to DEF>; + <¯o_param_2to1>, + <&to MACRO_PLACEHOLDER>; ) diff --git a/scripts/generate-keymap-images.sh b/scripts/generate-keymap-images.sh index eaf1ce2..92b4474 100755 --- a/scripts/generate-keymap-images.sh +++ b/scripts/generate-keymap-images.sh @@ -40,5 +40,5 @@ draw () { KBD="urchin" parse "$KBD" -tweak "$KBD" -draw "$KBD" --keys-only +# tweak "$KBD" +# draw "$KBD" --keys-only