diff --git a/build.yaml b/build.yaml index 626e66a..f5997ab 100644 --- a/build.yaml +++ b/build.yaml @@ -13,8 +13,12 @@ # --- include: - - board: planck_rev6 - - board: corneish_zen_v2_left - - board: corneish_zen_v2_right - - board: glove80_lh - - board: glove80_rh + - board: nice_nano_v2 + shield: corne_left nice_view_adapter nice_view + - board: nice_nano_v2 + shield: corne_right nice_view_adapter nice_view + # - board: planck_rev6 + # - board: corneish_zen_v2_left + # - board: corneish_zen_v2_right + # - board: glove80_lh + # - board: glove80_rh diff --git a/config/base.keymap b/config/base.keymap index 59d6a2d..b2b325b 100644 --- a/config/base.keymap +++ b/config/base.keymap @@ -1,17 +1,19 @@ +// commetns #include #include // requires auto-layer module #include #ifdef CONFIG_WIRELESS - #include - #include - #define _BT_SEL_KEYS_ &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_CLR +#include +#include +#define _BT_SEL_KEYS_ \ + &bt BT_SEL 0 & bt BT_SEL 1 & bt BT_SEL 2 & bt BT_SEL 3 & bt BT_CLR #else - #define _BT_SEL_KEYS_ &trans &trans &trans &trans &trans +#define _BT_SEL_KEYS_ &trans & trans & trans & trans &trans #endif #include "zmk-helpers/helper.h" -#include "zmk-helpers/unicode-chars/greek.dtsi" #include "zmk-helpers/unicode-chars/german.dtsi" +#include "zmk-helpers/unicode-chars/greek.dtsi" #define DEF 0 #define NAV 1 @@ -27,130 +29,119 @@ #define QUICK_TAP_MS 175 -&sk { // sticky-key config - release-after-ms = <900>; // release after 0.9s - quick-release; // no double capitalization when rolling keys +&sk { // sticky-key config + release - after - ms = <900>; // release after 0.9s + quick - release; // no double capitalization when rolling keys }; -&sl { // sticky-layer config - ignore-modifiers; // allow chording sticky mods & layers +&sl { // sticky-layer config + ignore - modifiers; // allow chording sticky mods & layers }; -< { // layer-tap config - flavor = "balanced"; - tapping-term-ms = <200>; - quick-tap-ms = ; +< { // layer-tap config + flavor = "balanced"; + tapping - term - ms = <200>; + quick - tap - ms = ; }; /* Homerow mods */ -#define KEYS_L LT0 LT1 LT2 LT3 LT4 LM0 LM1 LM2 LM3 LM4 LB0 LB1 LB2 LB3 LB4 // left hand -#define KEYS_R RT0 RT1 RT2 RT3 RT4 RM0 RM1 RM2 RM3 RM4 RB0 RB1 RB2 RB3 RB4 // right hand +#define KEYS_L \ + LT0 LT1 LT2 LT3 LT4 LM0 LM1 LM2 LM3 LM4 LB0 LB1 LB2 LB3 LB4 // left hand +#define KEYS_R \ + RT0 RT1 RT2 RT3 RT4 RM0 RM1 RM2 RM3 RM4 RB0 RB1 RB2 RB3 RB4 // right hand #ifndef LH2 - #define THUMBS LH1 LH0 RH0 RH1 // thumbs on 34 keys +#define THUMBS LH1 LH0 RH0 RH1 // thumbs on 34 keys #else - #define THUMBS LH2 LH1 LH0 RH0 RH1 RH2 // thumbs on 36+ keys +#define THUMBS LH2 LH1 LH0 RH0 RH1 RH2 // thumbs on 36+ keys #endif -#define MAKE_HRM(NAME, HOLD, TAP, TRIGGER_POS) \ - ZMK_HOLD_TAP(NAME, \ - flavor = "balanced"; \ - tapping-term-ms = <280>; \ - quick-tap-ms = ; \ - require-prior-idle-ms = <150>; \ - bindings = , ; \ - hold-trigger-key-positions = ; \ - hold-trigger-on-release; \ - ) -MAKE_HRM(hml, &kp, &kp, KEYS_R THUMBS) // left-hand HRMs -MAKE_HRM(hmr, &kp, &kp, KEYS_L THUMBS) // right-hand HRMs +#define MAKE_HRM(NAME, HOLD, TAP, TRIGGER_POS) \ + ZMK_HOLD_TAP(NAME, flavor = "balanced"; tapping - term - ms = <280>; \ + quick - tap - ms = ; \ + require - prior - idle - ms = <150>; bindings = , ; \ + hold - trigger - key - positions = ; \ + hold - trigger - on - release;) +MAKE_HRM(hml, &kp, &kp, KEYS_R THUMBS) // left-hand HRMs +MAKE_HRM(hmr, &kp, &kp, KEYS_L THUMBS) // right-hand HRMs // HRM combo hack - workaround for lack of tap-only combos (ZMK issue #544) -#define ZMK_COMBO_8(NAME, TAP, KEYPOS, LAYERS, COMBO_TERM, COMBO_IDLE, HOLD, SIDE) \ - MAKE_HRM(hm_combo_ ## NAME, &kp, TAP, SIDE THUMBS) \ - ZMK_COMBO_6(NAME, &hm_combo_ ## NAME HOLD 0, KEYPOS, LAYERS, COMBO_TERM, COMBO_IDLE) +#define ZMK_COMBO_8(NAME, TAP, KEYPOS, LAYERS, COMBO_TERM, COMBO_IDLE, HOLD, \ + SIDE) \ + MAKE_HRM(hm_combo_##NAME, &kp, TAP, SIDE THUMBS) \ + ZMK_COMBO_6(NAME, &hm_combo_##NAME HOLD 0, KEYPOS, LAYERS, COMBO_TERM, \ + COMBO_IDLE) /* Combos, leader key sequences, mouse emulation */ -#include "combos.dtsi" // must be sources after HRM-combo hack +#include "combos.dtsi" // must be sources after HRM-combo hack +#include "extra_keys.h" #include "leader.dtsi" #include "mouse.dtsi" -#include "extra_keys.h" /* Nav cluster */ // long-tap action on hold, short-tap action on all interrupts -#define MT_CORE \ - flavor = "tap-preferred"; \ - tapping-term-ms = <220>; \ - quick-tap-ms = <220>; \ - hold-trigger-key-positions = <0>; +#define MT_CORE \ + flavor = "tap-preferred"; \ + tapping - term - ms = <220>; \ + quick - tap - ms = <220>; \ + hold - trigger - key - positions = <0>; -&mt { MT_CORE }; +&mt{MT_CORE}; ZMK_HOLD_TAP(mt_home, bindings = <&masked_home>, <&kp>; MT_CORE) ZMK_HOLD_TAP(mt_end, bindings = <&masked_end>, <&kp>; MT_CORE) -#define NAV_LEFT &mt_home 0 LEFT // tap: left | long-tap: beginning of line -#define NAV_RIGHT &mt_end 0 RIGHT // tap: right | long-tap: end of line -#define NAV_UP &mt LC(HOME) UP // tap: up | long-tap: beginning of document -#define NAV_DOWN &mt LC(END) DOWN // tap: down | long-tap: end of document -#define NAV_BSPC &mt LC(BSPC) BSPC // tap: bspc | long-tap: delete word backward -#define NAV_DEL &mt LC(DEL) DEL // tap: del | long-tap: delete word forward +#define NAV_LEFT &mt_home 0 LEFT // tap: left | long-tap: beginning of line +#define NAV_RIGHT &mt_end 0 RIGHT // tap: right | long-tap: end of line +#define NAV_UP &mt LC(HOME) UP // tap: up | long-tap: beginning of document +#define NAV_DOWN \ + &mt LC(END) DOWN // tap: down | long-tap: end of document +#define NAV_BSPC \ + &mt LC(BSPC) BSPC // tap: bspc | long-tap: delete word backward +#define NAV_DEL &mt LC(DEL) DEL // tap: del | long-tap: delete word forward -// mask CTRL when holding left/right to avoid accidental jumps to beginning/end of document -#define MASK_MODS(NAME, MODS, BINDING) \ - ZMK_MOD_MORPH(NAME, \ - bindings = , ; \ - mods = ; \ - ) +// mask CTRL when holding left/right to avoid accidental jumps to beginning/end +// of document +#define MASK_MODS(NAME, MODS, BINDING) \ + ZMK_MOD_MORPH(NAME, bindings = , ; mods = ;) MASK_MODS(masked_home, (MOD_LCTL), &kp HOME) -MASK_MODS(masked_end, (MOD_LCTL), &kp END) +MASK_MODS(masked_end, (MOD_LCTL), &kp END) /* Caps-word, num-word and smart-mouse */ // tap: sticky-shift | shift + tap/ double-tap: caps-word | hold: shift -ZMK_MOD_MORPH(smart_shft, - bindings = <&sk LSHFT>, <&caps_word>; - mods = <(MOD_LSFT)>; -) -&caps_word { // mods deactivate caps-word, requires PR #1451 - /delete-property/ ignore-modifiers; +ZMK_MOD_MORPH(smart_shft, bindings = <&sk LSHFT>, <&caps_word>; + mods = <(MOD_LSFT)>;) +&caps_word { // mods deactivate caps-word, requires PR #1451 + / delete -property / ignore - modifiers; }; // tap: num-word | double-tap: sticky num-layer | hold: num-layer #define SMART_NUM &smart_num NUM 0 -ZMK_HOLD_TAP(smart_num, - flavor = "balanced"; - tapping-term-ms = <200>; - quick-tap-ms = ; - bindings = <&mo>, <&num_dance>; -) -ZMK_TAP_DANCE(num_dance, - tapping-term-ms = <200>; - bindings = <&num_word NUM>, <&sl NUM>; // reverse this for sticky-num on single tap +ZMK_HOLD_TAP(smart_num, flavor = "balanced"; tapping - term - ms = <200>; + quick - tap - ms = ; bindings = <&mo>, <&num_dance>;) +ZMK_TAP_DANCE(num_dance, tapping - term - ms = <200>; + bindings = <&num_word NUM>, + <&sl NUM>; // reverse this for sticky-num on single tap ) // smart-mouse, requires PR #1366 -ZMK_TRI_STATE(smart_mouse, - bindings = <&tog MOUSE>, <&none>, <&tog MOUSE>; - ignored-key-positions = ; - ignored-layers = ; -) +ZMK_TRI_STATE(smart_mouse, bindings = <&tog MOUSE>, <&none>, <&tog MOUSE>; + ignored - key - positions = + ; + ignored - layers = ;) /* Custom behaviors */ // Alt+Tab swapper, requires PR #1366 -ZMK_TRI_STATE(swapper, - bindings = <&kt LALT>, <&kp TAB>, <&kt LALT>; - ignored-key-positions = ; -) +ZMK_TRI_STATE(swapper, bindings = <&kt LALT>, <&kp TAB>, <&kt LALT>; + ignored - key - positions = ;) // reuse basic mod-morph scheme -#define SIMPLE_MORPH(NAME, MOD, BINDING1, BINDING2) \ - ZMK_MOD_MORPH(NAME, \ - mods = <(MOD_L ## MOD|MOD_R ## MOD)>; \ - bindings = , ; \ - ) +#define SIMPLE_MORPH(NAME, MOD, BINDING1, BINDING2) \ + ZMK_MOD_MORPH(NAME, mods = <(MOD_L##MOD | MOD_R##MOD)>; \ + bindings = , ;) // tap: comma | shift + tap: semicolon | ctrl + shift + tap: < SIMPLE_MORPH(comma_morph, SFT, &kp COMMA, &comma_inner_morph) @@ -168,118 +159,228 @@ SIMPLE_MORPH(lpar_lt, SFT, &kp LPAR, &kp LT) SIMPLE_MORPH(rpar_gt, SFT, &kp RPAR, &kp GT) // tap: space | shift + tap: dot -> space -> sticky shift | hold: activate layer -ZMK_HOLD_TAP(lt_spc, - flavor = "balanced"; - tapping-term-ms = <200>; - quick-tap-ms = ; - bindings = <&mo>, <&spc_morph>; -) +ZMK_HOLD_TAP(lt_spc, flavor = "balanced"; tapping - term - ms = <200>; + quick - tap - ms = ; bindings = <&mo>, <&spc_morph>;) SIMPLE_MORPH(spc_morph, SFT, &kp SPACE, &dot_spc) -ZMK_MACRO(dot_spc, - wait-ms = <0>; - tap-ms = <5>; - bindings = <&kp DOT &kp SPACE &sk LSHFT>; -) +ZMK_MACRO(dot_spc, wait - ms = <0>; tap - ms = <5>; + bindings = < &kp DOT & kp SPACE & sk LSHFT > ;) // tap: backspace | lshft + tap: delete | rshft + tap: shift-delete -ZMK_MOD_MORPH(bs_del, - bindings = <&kp BSPC>, <&kp DEL>; - mods = <(MOD_LSFT|MOD_RSFT)>; - keep-mods = ; -) +ZMK_MOD_MORPH(bs_del, bindings = <&kp BSPC>, <&kp DEL>; + mods = <(MOD_LSFT | MOD_RSFT)>; keep - mods = ;) // tap: copy | double-tap: cut -ZMK_TAP_DANCE(copy_cut, - tapping-term-ms = <200>; - bindings = <&kp LC(INS)>, <&kp LC(X)>; -) +ZMK_TAP_DANCE(copy_cut, tapping - term - ms = <200>; + bindings = <&kp LC(INS)>, <&kp LC(X)>;) // Sticky shift + leader -ZMK_MACRO(leader_sft, bindings = <&sk LSHFT &leader>;) +ZMK_MACRO(leader_sft, bindings = < &sk LSHFT & leader > ;) // misc aliases -#define CANCEL &kp K_CANCEL // cancel caps-word, num-word and smart-mouse -#define DSK_PREV &hmr LCTRL LG(LC(LEFT)) // previous desktop -#define DSK_NEXT &hmr LALT LG(LC(RIGHT)) // next desktop -#define PIN_WIN &kp LG(LC(LS(Q))) // pin window across desktops -#define PIN_APP &kp LG(LC(LS(A))) // pin application across desktops -#define DSK_MGR &kp LA(GRAVE) // desktop manager -#define VOL_DOWN &hmr RSHFT C_VOL_DN +#define CANCEL &kp K_CANCEL // cancel caps-word, num-word and smart-mouse +#define DSK_PREV &hmr LCTRL LG(LC(LEFT)) // previous desktop +#define DSK_NEXT &hmr LALT LG(LC(RIGHT)) // next desktop +#define PIN_WIN &kp LG(LC(LS(Q))) // pin window across desktops +#define PIN_APP &kp LG(LC(LS(A))) // pin application across desktops +#define DSK_MGR &kp LA(GRAVE) // desktop manager +#define VOL_DOWN &hmr RSHFT C_VOL_DN /* Keymap */ -ZMK_CONDITIONAL_LAYER(sys, FN NUM, SYS) // FN + NUM --> SYS +ZMK_CONDITIONAL_LAYER(sys, FN NUM, SYS) // FN + NUM --> SYS -ZMK_LAYER(base, -//╭──────╮ ╭─────────────┬─────────────┬─────────────┬─────────────┬─────────────╮ ╭──────╮ ╭─────────────┬─────────────┬─────────────┬─────────────┬─────────────╮ ╭──────╮ - X_LT &kp Q &kp W &kp F &kp P &kp B X_MT &kp J &kp L &kp U &kp Y &kp SQT X_RT -//├──────┤ ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ ├──────┤ ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ ├──────┤ - X_LM &hml LGUI A &hml LALT R &hml LSHFT S &hml LCTRL T &kp G X_MM &kp M &hmr LCTRL N &hmr RSHFT E &hmr LALT I &hmr LGUI O X_RM -//├──────┤ ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ ├──────┤ ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ ├──────┤ - X_LB &kp Z &kp X &kp C &kp D &kp V X_MB &kp K &kp H &comma_morph &dot_morph &qexcl X_RB -//├──────┤ ╰─────────────┼─────────────┴─────────────┼─────────────┼─────────────┤ ├──────┤ ├─────────────┼─────────────┼─────────────┴───────────────────────────╯ ├──────┤ - X_LH <_spc NAV 0 < FN RET X_MH SMART_NUM &smart_shft X_RH -//╰──────╯ ╰─────────────┴─────────────╯ ╰──────╯ ╰─────────────┴─────────────╯ ╰──────╯ +ZMK_LAYER( + base, + // ╭──────╮ + // ╭─────────────┬─────────────┬─────────────┬─────────────┬─────────────╮ + // ╭──────╮ + // ╭─────────────┬─────────────┬─────────────┬─────────────┬─────────────╮ + // ╭──────╮ + X_LT &kp Q &kp W &kp F &kp P &kp B X_MT &kp J &kp L &kp U &kp Y &kp SQT X_RT + // ├──────┤ + // ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ + // ├──────┤ + // ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ + // ├──────┤ + X_LM &hml LGUI A &hml LALT R &hml LSHFT S &hml LCTRL T &kp + G X_MM &kp M &hmr LCTRL N &hmr RSHFT E &hmr LALT I &hmr LGUI O X_RM + // ├──────┤ + // ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ + // ├──────┤ + // ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ + // ├──────┤ + X_LB &kp Z &kp X &kp C &kp D &kp V X_MB &kp K &kp H &comma_morph & + dot_morph & + qexcl X_RB + // ├──────┤ + // ╰─────────────┼─────────────┴─────────────┼─────────────┼─────────────┤ + // ├──────┤ + // ├─────────────┼─────────────┼─────────────┴───────────────────────────╯ + // ├──────┤ + X_LH & + lt_spc NAV 0 & lt FN RET X_MH SMART_NUM & smart_shft X_RH + // ╰──────╯ ╰─────────────┴─────────────╯ ╰──────╯ + // ╰─────────────┴─────────────╯ ╰──────╯ ) ZMK_LAYER(nav, -//╭──────╮ ╭─────────────┬─────────────┬─────────────┬─────────────┬─────────────╮ ╭──────╮ ╭─────────────┬─────────────┬─────────────┬─────────────┬─────────────╮ ╭──────╮ - X_LT ___ ___ &kp LS(TAB) &swapper ___ X_MT &kp PG_UP NAV_BSPC NAV_UP NAV_DEL ___ X_RT -//├──────┤ ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ ├──────┤ ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ ├──────┤ - X_LM &sk LGUI &sk LALT &sk LSHFT &sk LCTRL ___ X_MM &kp PG_DN NAV_LEFT NAV_DOWN NAV_RIGHT &kp RET X_RM -//├──────┤ ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ ├──────┤ ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ ├──────┤ - X_LB ___ ___ ___ ___ ___ X_MB &kp INS &kp TAB ___ ___ ___ X_RB -//├──────┤ ╰─────────────┼─────────────┴─────────────┼─────────────┼─────────────┤ ├──────┤ ├─────────────┼─────────────┼─────────────┴───────────────────────────╯ ├──────┤ - X_LH ___ ___ X_MH ___ CANCEL X_RH -//╰──────╯ ╰─────────────┴─────────────╯ ╰──────╯ ╰─────────────┴─────────────╯ ╰──────╯ + // ╭──────╮ + // ╭─────────────┬─────────────┬─────────────┬─────────────┬─────────────╮ + // ╭──────╮ + // ╭─────────────┬─────────────┬─────────────┬─────────────┬─────────────╮ + // ╭──────╮ + X_LT ___ ___ &kp LS(TAB) & swapper ___ X_MT & + kp PG_UP NAV_BSPC NAV_UP NAV_DEL ___ X_RT + // ├──────┤ + // ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ + // ├──────┤ + // ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ + // ├──────┤ + X_LM & + sk LGUI & sk LALT & sk LSHFT & sk LCTRL ___ X_MM & + kp PG_DN NAV_LEFT NAV_DOWN NAV_RIGHT & + kp RET X_RM + // ├──────┤ + // ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ + // ├──────┤ + // ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ + // ├──────┤ + X_LB ___ ___ ___ ___ ___ X_MB & + kp INS & + kp TAB ___ ___ ___ X_RB + // ├──────┤ + // ╰─────────────┼─────────────┴─────────────┼─────────────┼─────────────┤ + // ├──────┤ + // ├─────────────┼─────────────┼─────────────┴───────────────────────────╯ + // ├──────┤ + X_LH ___ ___ X_MH ___ CANCEL X_RH + // ╰──────╯ ╰─────────────┴─────────────╯ ╰──────╯ + // ╰─────────────┴─────────────╯ ╰──────╯ ) ZMK_LAYER(fn, -//╭──────╮ ╭─────────────┬─────────────┬─────────────┬─────────────┬─────────────╮ ╭──────╮ ╭─────────────┬─────────────┬─────────────┬─────────────┬─────────────╮ ╭──────╮ - X_LT &kp F12 &kp F7 &kp F8 &kp F9 ___ X_MT ___ &kp C_PREV &kp C_VOL_UP &kp C_NEXT ___ X_RT -//├──────┤ ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ ├──────┤ ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ ├──────┤ - X_LM &hml LGUI F11 &hml LALT F4 &hml LSHFT F5 &hml LCTRL F6 ___ X_MM ___ DSK_PREV VOL_DOWN DSK_NEXT ___ X_RM -//├──────┤ ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ ├──────┤ ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ ├──────┤ - X_LB &kp F10 &kp F1 &kp F2 &kp F3 ___ X_MB PIN_APP PIN_WIN DSK_MGR ___ ___ X_RB -//├──────┤ ╰─────────────┼─────────────┴─────────────┼─────────────┼─────────────┤ ├──────┤ ├─────────────┼─────────────┼─────────────┴───────────────────────────╯ ├──────┤ - X_LH ___ ___ X_MH &kp C_MUTE &kp C_PP X_RH -//╰──────╯ ╰─────────────┴─────────────╯ ╰──────╯ ╰─────────────┴─────────────╯ ╰──────╯ + // ╭──────╮ + // ╭─────────────┬─────────────┬─────────────┬─────────────┬─────────────╮ + // ╭──────╮ + // ╭─────────────┬─────────────┬─────────────┬─────────────┬─────────────╮ + // ╭──────╮ + X_LT &kp F12 &kp F7 &kp F8 &kp F9 ___ + X_MT ___ &kp C_PREV &kp C_VOL_UP &kp C_NEXT ___ X_RT + // ├──────┤ + // ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ + // ├──────┤ + // ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ + // ├──────┤ + X_LM &hml LGUI F11 &hml LALT F4 &hml LSHFT F5 &hml LCTRL F6 ___ X_MM + ___ DSK_PREV VOL_DOWN DSK_NEXT ___ X_RM + // ├──────┤ + // ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ + // ├──────┤ + // ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ + // ├──────┤ + X_LB &kp F10 &kp F1 &kp F2 &kp F3 ___ X_MB PIN_APP PIN_WIN DSK_MGR ___ + ___ X_RB + // ├──────┤ + // ╰─────────────┼─────────────┴─────────────┼─────────────┼─────────────┤ + // ├──────┤ + // ├─────────────┼─────────────┼─────────────┴───────────────────────────╯ + // ├──────┤ + X_LH ___ ___ X_MH &kp C_MUTE &kp C_PP X_RH + // ╰──────╯ ╰─────────────┴─────────────╯ ╰──────╯ + // ╰─────────────┴─────────────╯ ╰──────╯ ) -ZMK_LAYER(num, -//╭──────╮ ╭─────────────┬─────────────┬─────────────┬─────────────┬─────────────╮ ╭──────╮ ╭─────────────┬─────────────┬─────────────┬─────────────┬─────────────╮ ╭──────╮ - X_LT ___ &kp N7 &kp N8 &kp N9 ___ X_MT ___ ___ ___ ___ ___ X_RT -//├──────┤ ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ ├──────┤ ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ ├──────┤ - X_LM &hml LGUI N0 &hml LALT N4 &hml LSHFT N5 &hml LCTRL N6 ___ X_MM ___ ___ ___ ___ ___ X_RM -//├──────┤ ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ ├──────┤ ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ ├──────┤ - X_LB ___ &kp N1 &kp N2 &kp N3 ___ X_MB ___ ___ ___ ___ ___ X_RB -//├──────┤ ╰─────────────┼─────────────┴─────────────┼─────────────┼─────────────┤ ├──────┤ ├─────────────┼─────────────┼─────────────┴───────────────────────────╯ ├──────┤ - X_LH ___ ___ X_MH ___ ___ X_RH -//╰──────╯ ╰─────────────┴─────────────╯ ╰──────╯ ╰─────────────┴─────────────╯ ╰──────╯ +ZMK_LAYER( + num, + // ╭──────╮ + // ╭─────────────┬─────────────┬─────────────┬─────────────┬─────────────╮ + // ╭──────╮ + // ╭─────────────┬─────────────┬─────────────┬─────────────┬─────────────╮ + // ╭──────╮ + X_LT ___ &kp N7 &kp N8 &kp N9 ___ X_MT ___ ___ ___ ___ ___ X_RT + // ├──────┤ + // ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ + // ├──────┤ + // ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ + // ├──────┤ + X_LM &hml LGUI N0 &hml LALT N4 &hml LSHFT N5 &hml LCTRL N6 ___ X_MM ___ ___ + ___ ___ ___ X_RM + // ├──────┤ + // ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ + // ├──────┤ + // ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ + // ├──────┤ + X_LB ___ &kp N1 &kp N2 &kp N3 ___ X_MB ___ ___ ___ ___ ___ X_RB + // ├──────┤ + // ╰─────────────┼─────────────┴─────────────┼─────────────┼─────────────┤ + // ├──────┤ + // ├─────────────┼─────────────┼─────────────┴───────────────────────────╯ + // ├──────┤ + X_LH ___ ___ X_MH ___ ___ X_RH + // ╰──────╯ ╰─────────────┴─────────────╯ ╰──────╯ + // ╰─────────────┴─────────────╯ ╰──────╯ ) ZMK_LAYER(sys, -//╭──────╮ ╭─────────────┬─────────────┬─────────────┬─────────────┬─────────────╮ ╭──────╮ ╭─────────────┬─────────────┬─────────────┬─────────────┬─────────────╮ ╭──────╮ - X_LT _BT_SEL_KEYS_ X_MT ___ ___ ___ ___ ___ X_RT -//├──────┤ ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ ├──────┤ ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ ├──────┤ - X_LM ___ ___ ___ ___ &bootloader X_MM &bootloader ___ ___ ___ ___ X_RM -//├──────┤ ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ ├──────┤ ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ ├──────┤ - X_LB ___ ___ ___ ___ &sys_reset X_MB &sys_reset ___ ___ ___ ___ X_RB -//├──────┤ ╰─────────────┼─────────────┴─────────────┼─────────────┼─────────────┤ ├──────┤ ├─────────────┼─────────────┼─────────────┴───────────────────────────╯ ├──────┤ - X_LH ___ ___ X_MH ___ ___ X_RH -//╰──────╯ ╰─────────────┴─────────────╯ ╰──────╯ ╰─────────────┴─────────────╯ ╰──────╯ + // ╭──────╮ + // ╭─────────────┬─────────────┬─────────────┬─────────────┬─────────────╮ + // ╭──────╮ + // ╭─────────────┬─────────────┬─────────────┬─────────────┬─────────────╮ + // ╭──────╮ + X_LT _BT_SEL_KEYS_ X_MT ___ ___ ___ ___ ___ X_RT + // ├──────┤ + // ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ + // ├──────┤ + // ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ + // ├──────┤ + X_LM ___ ___ ___ ___ &bootloader X_MM &bootloader ___ ___ ___ + ___ X_RM + // ├──────┤ + // ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ + // ├──────┤ + // ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ + // ├──────┤ + X_LB ___ ___ ___ ___ &sys_reset X_MB &sys_reset + ___ ___ ___ ___ X_RB + // ├──────┤ + // ╰─────────────┼─────────────┴─────────────┼─────────────┼─────────────┤ + // ├──────┤ + // ├─────────────┼─────────────┼─────────────┴───────────────────────────╯ + // ├──────┤ + X_LH ___ ___ X_MH ___ ___ X_RH + // ╰──────╯ ╰─────────────┴─────────────╯ ╰──────╯ + // ╰─────────────┴─────────────╯ ╰──────╯ ) ZMK_LAYER(mouse, -//╭──────╮ ╭─────────────┬─────────────┬─────────────┬─────────────┬─────────────╮ ╭──────╮ ╭─────────────┬─────────────┬─────────────┬─────────────┬─────────────╮ ╭──────╮ - X_LT ___ ___ ___ ___ ___ X_MT ___ &kp PG_UP U_MS_U &kp PG_DN ___ X_RT -//├──────┤ ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ ├──────┤ ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ ├──────┤ - X_LM ___ ___ ___ ___ ___ X_MM U_WH_L U_MS_L U_MS_D U_MS_R U_WH_R X_RM -//├──────┤ ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ ├──────┤ ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ ├──────┤ - X_LB ___ ___ ___ ___ ___ X_MB ___ &mkp LCLK &mkp MCLK &mkp RCLK ___ X_RB -//├──────┤ ╰─────────────┼─────────────┴─────────────┼─────────────┼─────────────┤ ├──────┤ ├─────────────┼─────────────┼─────────────┴───────────────────────────╯ ├──────┤ - X_LH ___ ___ X_MH U_WH_U U_WH_D X_RH -//╰──────╯ ╰─────────────┴─────────────╯ ╰──────╯ ╰─────────────┴─────────────╯ ╰──────╯ + // ╭──────╮ + // ╭─────────────┬─────────────┬─────────────┬─────────────┬─────────────╮ + // ╭──────╮ + // ╭─────────────┬─────────────┬─────────────┬─────────────┬─────────────╮ + // ╭──────╮ + X_LT ___ ___ ___ ___ ___ X_MT ___ &kp PG_UP U_MS_U &kp PG_DN ___ X_RT + // ├──────┤ + // ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ + // ├──────┤ + // ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ + // ├──────┤ + X_LM ___ ___ ___ ___ ___ X_MM U_WH_L U_MS_L U_MS_D U_MS_R + U_WH_R X_RM + // ├──────┤ + // ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ + // ├──────┤ + // ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ + // ├──────┤ + X_LB ___ ___ ___ ___ ___ X_MB ___ &mkp LCLK + &mkp MCLK &mkp RCLK ___ X_RB + // ├──────┤ + // ╰─────────────┼─────────────┴─────────────┼─────────────┼─────────────┤ + // ├──────┤ + // ├─────────────┼─────────────┼─────────────┴───────────────────────────╯ + // ├──────┤ + X_LH ___ ___ X_MH U_WH_U U_WH_D X_RH + // ╰──────╯ ╰─────────────┴─────────────╯ ╰──────╯ + // ╰─────────────┴─────────────╯ ╰──────╯ ) /* vim: set ft=c tw=174: */ diff --git a/config/corne.conf b/config/corne.conf new file mode 100644 index 0000000..7fa1e49 --- /dev/null +++ b/config/corne.conf @@ -0,0 +1,10 @@ +# Uncomment the following lines to enable the Corne RGB Underglow +# CONFIG_ZMK_RGB_UNDERGLOW=y +# CONFIG_WS2812_STRIP=y + +# Uncomment the following line to enable the Corne OLED Display +# CONFIG_ZMK_DISPLAY=y +# CONFIG_ZMK_SLEEP=y +# CONFIG_ZMK_SLEEP_TIMEOUT=3600000 +CONFIG_BT_CTLR_TX_PWR_PLUS_8=y +CONFIG_ZMK_SLEEP=y diff --git a/config/corne.keymap b/config/corne.keymap new file mode 100644 index 0000000..599d832 --- /dev/null +++ b/config/corne.keymap @@ -0,0 +1,116 @@ +/* + * Copyright (c) 2020 The ZMK Contributors + * + * SPDX-License-Identifier: MIT + */ + +#include +#include +#include +#include "zmk-helpers/helper.h" + +&sk { // sticky-key config + release-after-ms = <900>; // release after 0.9s + quick-release; // no double capitalization when rolling keys +}; +// tap: sticky-shift | shift + tap/ double-tap: caps-word | hold: shift +ZMK_MOD_MORPH(smart_shft, + bindings = <&sk LSHFT>, <&caps_word>; + mods = <(MOD_LSFT)>; +) +&caps_word { // mods deactivate caps-word, requires PR #1451 + /delete-property/ ignore-modifiers; +}; +/ { + behaviors { + rpi: require_prior_idle { + compatible = "zmk,behavior-hold-tap"; + #binding-cells = <2>; + flavor = "tap-preferred"; + tapping-term-ms = <200>; + quick-tap-ms = <200>; + require-prior-idle-ms = <125>; + bindings = <&kp>, <&kp>; + }; + }; + conditional_layers { + compatible = "zmk,conditional-layers"; + meta_layer { + if-layers = <1 2>; + then-layer = <3>; + }; + }; + keymap { + compatible = "zmk,keymap"; + + default_layer { + bindings = < +// ┌──────┬───┬───┬──────┬───────────────────────┬─────────────┐ ┌──────┬───────────────┬──────┬───┬───┬────────────┐ +// │ esc │ Q │ W │ F │ P │ B │ │ J │ L │ U │ Y │ ; │ lctl(lsft) │ +// ├──────┼───┼───┼──────┼───────────────────────┼─────────────┤ ├──────┼───────────────┼──────┼───┼───┼────────────┤ +// │ bspc │ A │ R │ S │ T │ G │ │ M │ N │ E │ I │ O │ ' │ +// ├──────┼───┼───┼──────┼───────────────────────┼─────────────┤ ├──────┼───────────────┼──────┼───┼───┼────────────┤ +// │ lsft │ Z │ X │ C │ D │ V │ │ K │ H │ , │ . │ / │ tab │ +// └──────┴───┴───┼──────┼───────────────────────┼─────────────┤ ├──────┼───────────────┼──────┼───┴───┴────────────┘ +// │ lgui │ &rpi left_CONTROL spc │ &smart_shft │ │ mo 1 │ &rpi lalt ent │ mo 2 │ +// └──────┴───────────────────────┴─────────────┘ └──────┴───────────────┴──────┘ + &kp ESC &kp Q &kp W &kp F &kp P &kp B &kp J &kp L &kp U &kp Y &kp SEMICOLON &kp LC(LSHFT) + &kp BSPC &kp A &kp R &kp S &kp T &kp G &kp M &kp N &kp E &kp I &kp O &kp SQT + &kp LSHFT &kp Z &kp X &kp C &kp D &kp V &kp K &kp H &kp COMMA &kp DOT &kp FSLH &kp TAB + &kp LGUI &rpi LEFT_CONTROL SPACE &smart_shft &mo 1 &rpi LEFT_ALT ENTER &mo 2 + >; + }; + + nav_sym { + bindings = < +// ┌─────┬─────┬───┬─────┬─────┬─────┐ ┌──────┬──────┬─────┬──────┬───┬─────┐ +// │ │ │ ! │ ( │ ) │ % │ │ @ │ & │ * │ = │ + │ │ +// ├─────┼─────┼───┼─────┼─────┼─────┤ ├──────┼──────┼─────┼──────┼───┼─────┤ +// │ │ ^ │ - │ { │ } │ ~ │ │ left │ down │ up │ rght │ $ │ │ +// ├─────┼─────┼───┼─────┼─────┼─────┤ ├──────┼──────┼─────┼──────┼───┼─────┤ +// │ │ esc │ _ │ [ │ ] │ tab │ │ │ # │ ` │ . │ \ │ | │ +// └─────┴─────┴───┼─────┼─────┼─────┤ ├──────┼──────┼─────┼──────┴───┴─────┘ +// │ │ │ │ │ │ │ │ +// └─────┴─────┴─────┘ └──────┴──────┴─────┘ + &trans &trans &kp EXCL &kp LEFT_PARENTHESIS &kp RIGHT_PARENTHESIS &kp PERCENT &kp AT &kp AMPS &kp STAR &kp EQUAL &kp PLUS &trans + &trans &kp CARET &kp MINUS &kp LEFT_BRACE &kp RIGHT_BRACE &kp TILDE &kp LEFT &kp DOWN &kp UP &kp RIGHT &kp DOLLAR &trans + &trans &kp ESC &kp UNDER &kp LEFT_BRACKET &kp RIGHT_BRACKET &kp TAB &trans &kp HASH &kp GRAVE &kp DOT &kp BSLH &kp PIPE + &trans &trans &trans &trans &trans &trans + >; + }; + num { + bindings = < +// ┌─────┬─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┬─────┐ +// │ │ │ │ │ │ │ │ │ │ │ │ │ │ +// ├─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┤ +// │ │ 1 │ 2 │ 3 │ 4 │ 5 │ │ 6 │ 7 │ 8 │ 9 │ 0 │ │ +// ├─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┤ +// │ │ │ │ │ │ │ │ │ │ │ │ │ │ +// └─────┴─────┴─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┴─────┴─────┘ +// │ │ │ │ │ │ │ │ +// └─────┴─────┴─────┘ └─────┴─────┴─────┘ + &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans + &trans &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &trans + &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans + &trans &trans &trans &trans &trans &trans + >; + }; + meta_layer { + bindings = < +// ┌────────┬────────┬────────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┬─────┐ +// │ bt_clr │ bt_nxt │ bt_prv │ │ │ │ │ │ │ │ │ │ │ +// ├────────┼────────┼────────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┤ +// │ │ │ │ │ │ │ │ │ │ │ │ │ │ +// ├────────┼────────┼────────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┤ +// │ │ │ │ │ │ │ │ │ │ │ │ │ │ +// └────────┴────────┴────────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┴─────┴─────┘ +// │ │ │ │ │ │ │ │ +// └─────┴─────┴─────┘ └─────┴─────┴─────┘ + &bt BT_CLR &bt BT_NXT &bt BT_PRV &trans &trans &trans &trans &trans &trans &trans &trans &trans + &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans + &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans + &trans &trans &trans &trans &trans &trans + >; + }; + }; +}; diff --git a/config/corneish_zen.conf b/config/corneish_zen.conf deleted file mode 100644 index a0816ac..0000000 --- a/config/corneish_zen.conf +++ /dev/null @@ -1,20 +0,0 @@ -# Set sleep timeout to 30min (30*60*1000ms) -CONFIG_ZMK_SLEEP=y -CONFIG_ZMK_IDLE_SLEEP_TIMEOUT=1800000 - -# Enable mouse -CONFIG_ZMK_POINTING=y -CONFIG_ZMK_POINTING_SMOOTH_SCROLLING=y - -# Combo config, automated by build script -CONFIG_ZMK_COMBO_MAX_COMBOS_PER_KEY=6 -CONFIG_ZMK_COMBO_MAX_KEYS_PER_COMBO=3 - -# Don't show layer status -#CONFIG_CUSTOM_WIDGET_BATTERY_STATUS=n -CONFIG_CUSTOM_WIDGET_LAYER_STATUS=n - -# Bluetooth tweaks -CONFIG_ZMK_BLE_EXPERIMENTAL_CONN=y -CONFIG_BT_GATT_ENFORCE_SUBSCRIPTION=n -CONFIG_BT_CTLR_TX_PWR_PLUS_8=y diff --git a/config/corneish_zen.keymap b/config/corneish_zen.keymap deleted file mode 100644 index b1d7cb6..0000000 --- a/config/corneish_zen.keymap +++ /dev/null @@ -1,15 +0,0 @@ -/* source key position labels */ -#include "zmk-helpers/key-labels/36.h" - -/* map Zen's extra keys */ -#define X_LH &kp LGUI // thumb row, left -#define X_RH &smart_mouse // thumb row, right - -/* activate bluetooth */ -#define CONFIG_WIRELESS - -/* source the main keymap */ -#include "base.keymap" - -/* use 5-column layout for Zen */ -/{ chosen { zmk,physical-layout = &foostan_corne_5col_layout; }; }; diff --git a/config/glove80.conf b/config/glove80.conf deleted file mode 100644 index fa40b25..0000000 --- a/config/glove80.conf +++ /dev/null @@ -1,18 +0,0 @@ -# Set sleep timeout to 30min (30*60*1000ms) -CONFIG_ZMK_SLEEP=y -CONFIG_ZMK_IDLE_SLEEP_TIMEOUT=1800000 - -# Enable mouse -CONFIG_ZMK_POINTING=y -CONFIG_ZMK_POINTING_SMOOTH_SCROLLING=y - -# Combo config, automated by build script -CONFIG_ZMK_COMBO_MAX_COMBOS_PER_KEY=6 -CONFIG_ZMK_COMBO_MAX_KEYS_PER_COMBO=3 - -# Bluetooth tweaks -CONFIG_ZMK_BLE_EXPERIMENTAL_CONN=y -CONFIG_BT_GATT_ENFORCE_SUBSCRIPTION=n -CONFIG_BT_CTLR_TX_PWR_PLUS_8=y -CONFIG_BT_MAX_CONN=3 -CONFIG_BT_MAX_PAIRED=3 diff --git a/config/glove80.keymap b/config/glove80.keymap deleted file mode 100644 index b905222..0000000 --- a/config/glove80.keymap +++ /dev/null @@ -1,27 +0,0 @@ -/* source key position labels */ -#include "zmk-helpers/key-labels/glove80.h" - -/* map the Glove's extra keys */ -#define X_LT \ - &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &kp F7 &kp F8 &kp F9 &kp F10 \ - &kp EQUAL &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp MINUS \ - &kp TAB -#define X_RT &kp BACKSLASH - -#define X_LM &kp ESC -#define X_RM &none - -#define X_LB &none -#define X_MB &none &none &none &none &none &none -#define X_RB &none - -#define X_LH &none &none &none &kp LEFT &kp RIGHT -#define X_MH &none &none -#define X_RH &kp UP &kp DOWN &none &none &none - -/* activate bluetooth */ -#define CONFIG_WIRELESS - -/* source the main keymap */ -#include "base.keymap" - diff --git a/config/planck_rev6.conf b/config/planck_rev6.conf deleted file mode 100644 index 60c1cf1..0000000 --- a/config/planck_rev6.conf +++ /dev/null @@ -1,9 +0,0 @@ -CONFIG_ZMK_KEYBOARD_NAME="Planck Rev6" - -# Enable mouse -CONFIG_ZMK_POINTING=y -CONFIG_ZMK_POINTING_SMOOTH_SCROLLING=y - -# Combo config, automated by build script -CONFIG_ZMK_COMBO_MAX_COMBOS_PER_KEY=6 -CONFIG_ZMK_COMBO_MAX_KEYS_PER_COMBO=3 diff --git a/config/planck_rev6.keymap b/config/planck_rev6.keymap deleted file mode 100644 index 24b8edd..0000000 --- a/config/planck_rev6.keymap +++ /dev/null @@ -1,14 +0,0 @@ -/* source key position labels */ -#include "zmk-helpers/key-labels/4x12_wide.h" - -/* map Planck's extra keys */ -#define X_MT &none &none // top row, middle -#define X_MM &none &none // middle row, middle -#define X_MB &none &none // bottom row, middle -#define X_LH &none &none &kp LGUI // thumb row, left -#define X_MH &none &none // thumb row, middle -#define X_RH &smart_mouse U_WH_D U_WH_U // thumb row, right - -/* source the main keymap */ -#include "base.keymap" -