diff --git a/config/cradio.keymap b/config/cradio.keymap index bbc4f8b..a39399d 100644 --- a/config/cradio.keymap +++ b/config/cradio.keymap @@ -1,103 +1,415 @@ // Copyright (c) 2022 The ZMK Contributors // SPDX-License-Identifier: MIT -#include -#include -#include +// #include +// #include +// #include // Home row mods macro -#define HRML(k1,k2,k3,k4) &ht LSHFT k1 &ht LALT k2 &ht LCTRL k3 &ht LGUI k4 -#define HRMR(k1,k2,k3,k4) &ht RGUI k1 &ht RCTRL k2 &ht RALT k3 &ht RSHFT k4 - -/ { - behaviors { - ht: hold_tap { - compatible = "zmk,behavior-hold-tap"; - #binding-cells = <2>; - flavor = "tap-preferred"; - tapping-term-ms = <220>; - quick-tap-ms = <150>; - require-prior-idle-ms = <100>; - bindings = <&kp>, <&kp>; - }; - }; - - conditional_layers { - compatible = "zmk,conditional-layers"; - tri_layer { - if-layers = <1 2>; - then-layer = <3>; - }; - }; - - keymap { - compatible = "zmk,keymap"; - default_layer { - bindings = < +// #define HRML(k1,k2,k3,k4) &ht LSHFT k1 &ht LALT k2 &ht LCTRL k3 &ht LGUI k4 +// #define HRMR(k1,k2,k3,k4) &ht RGUI k1 &ht RCTRL k2 &ht RALT k3 &ht RSHFT k4 + +// / { +// behaviors { +// ht: hold_tap { +// compatible = "zmk,behavior-hold-tap"; +// #binding-cells = <2>; +// flavor = "tap-preferred"; +// tapping-term-ms = <220>; +// quick-tap-ms = <150>; +// require-prior-idle-ms = <100>; +// bindings = <&kp>, <&kp>; +// }; +// }; + +// conditional_layers { +// compatible = "zmk,conditional-layers"; +// tri_layer { +// if-layers = <1 2>; +// then-layer = <3>; +// }; +// }; + +// keymap { +// compatible = "zmk,keymap"; +// default_layer { +// bindings = < //╭──────────┬──────────┬──────────┬──────────┬──────────╮ ╭──────────┬──────────┬──────────┬──────────┬──────────╮ //│ Q │ W │ M │ B │ Z │ │ J │ F │ O │ U │ ; │ - &kp Q &kp W &kp M &kp B &kp Z &kp J &kp F &kp O &kp U &kp ; +// &kp Q &kp W &kp M &kp B &kp Z &kp J &kp F &kp O &kp U &kp ; //├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤ //│ N │ R │ S │ T │ G │ │ Y │ H │ E │ I │ A │ - HRML(N, R, S, T) &kp G &kp Y HRMR(H, E, I, A) +// HRML(N, R, S, T) &kp G &kp Y HRMR(H, E, I, A) //├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤ //│ X │ L │ C │ D │ V │ │ K │ P │ , < │ . > │ ' " │ - &kp L &kp L &kp C &kp D &kp V &kp K &kp P &kp COMMA &kp DOT &kp ' +// &kp L &kp L &kp C &kp D &kp V &kp K &kp P &kp COMMA &kp DOT &kp ' //╰──────────┴──────────┴──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┴──────────┴──────────╯ - < 2 BSPC &kp ENTER < 3 ENTER < 1 SPACE +// < 2 BSPC &kp ENTER < 3 ENTER < 1 SPACE // ╰──────────┴──────────╯ ╰──────────┴──────────╯ - >; - }; +// >; +// }; - right_layer { - bindings = < +// right_layer { +// bindings = < //╭──────────┬──────────┬──────────┬──────────┬──────────╮ ╭──────────┬──────────┬──────────┬──────────┬──────────╮ //│ ESC │ # │ $ │ % │ & │ │ │ VOL DN │ MUTE │ VOL UP │ │ - &kp ESC &kp LS(3) &kp LS(4) &kp LS(5) &kp LS(7) &trans &kp C_VOL_DN &kp C_MUTE &kp C_VOL_UP &trans +// &kp ESC &kp LS(3) &kp LS(4) &kp LS(5) &kp LS(7) &trans &kp C_VOL_DN &kp C_MUTE &kp C_VOL_UP &trans //├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤ //│ TAB │ @ │ ( │ ) │ * │ │ § │ PREV │ PP │ NEXT │ ? │ - &kp TAB &kp LS(2) &kp LS(9) &kp LS(0) &kp LS(8) &kp LA(6) &kp C_PREV &kp C_PP &kp C_NEXT &kp LS(/) +// &kp TAB &kp LS(2) &kp LS(9) &kp LS(0) &kp LS(8) &kp LA(6) &kp C_PREV &kp C_PP &kp C_NEXT &kp LS(/) //├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤ //│ CMD-Z │ CMD-X │ CMD-C │ CMD-V │ │ │ ¶ │ / │ VOICE │ - │ ! │ - &kp LG(Z) &kp LG(X) &kp LG(C) &kp LG(V) &trans &kp LA(7) &kp / &kp C_VOICE_COMMAND &kp LS(1) +// &kp LG(Z) &kp LG(X) &kp LG(C) &kp LG(V) &trans &kp LA(7) &kp / &kp C_VOICE_COMMAND &kp LS(1) //╰──────────┴──────────┴──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┴──────────┴──────────╯ - &trans &trans &trans &trans +// &trans &trans &trans &trans // ╰──────────┴──────────╯ ╰──────────┴──────────╯ - >; - }; +// >; +// }; - left_layer { - bindings = < +// left_layer { +// bindings = < //╭──────────┬──────────┬──────────┬──────────┬──────────╮ ╭──────────┬──────────┬──────────┬──────────┬──────────╮ //│ │ [ │ { │ } │ │ │ CAPS LK │ HOME │ ) │ END │ │ - &trans &kp LBKT &kp LBRC &kp RBRC &trans &kp CAPS &kp HOME &kp RPAR &kp END &trans +// &trans &kp LBKT &kp LBRC &kp RBRC &trans &kp CAPS &kp HOME &kp RPAR &kp END &trans //├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤ //│ ! │ @ │ # │ $ │ % │ │ CAPS-WD │ = │ \ │ ` │ - &kp EXCL &kp AT &kp HASH &kp DLLR &kp PRCNT &caps_word &kp MINUS &kp EQUAL &kp BSLH &kp GRAVE +// &kp EXCL &kp AT &kp HASH &kp DLLR &kp PRCNT &caps_word &kp MINUS &kp EQUAL &kp BSLH &kp GRAVE //├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤ //│ │ │ │ │ │ │ & │ _ │ + │ │ │ │ - &trans &trans &trans &trans &trans &kp AMPS &kp UNDER &kp PLUS &kp PIPE &trans +// &trans &trans &trans &trans &trans &kp AMPS &kp UNDER &kp PLUS &kp PIPE &trans //╰──────────┴──────────┴──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┴──────────┴──────────╯ - &trans &trans &trans &trans +// &trans &trans &trans &trans // ╰──────────┴──────────╯ ╰──────────┴──────────╯ - >; - }; +// >; +// }; - tri_layer { - bindings = < +// tri_layer { +// bindings = < //╭──────────┬──────────┬──────────┬──────────┬──────────╮ ╭──────────┬──────────┬──────────┬──────────┬──────────╮ //│ RESET │ │ │ │PROFILE 0 │ │ │ │ │ │ RESET │ - &sys_reset &trans &trans &trans &bt BT_SEL 0 &trans &trans &trans &trans &sys_reset +// &sys_reset &trans &trans &trans &bt BT_SEL 0 &trans &trans &trans &trans &sys_reset //├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤ //│BOOTLOADER│ │ │ │PROFILE 1 │ │ │ │ │ │BOOTLOADER│ - &bootloader &trans &trans &trans &bt BT_SEL 1 &trans &trans &trans &trans &bootloader +// &bootloader &trans &trans &trans &bt BT_SEL 1 &trans &trans &trans &trans &bootloader //├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤ //│ │ │ │ CLEAR BT │PROFILE 2 │ │ │ │ │ │ │ - &trans &trans &trans &bt BT_CLR &bt BT_SEL 2 &trans &trans &trans &trans &trans +// &trans &trans &trans &bt BT_CLR &bt BT_SEL 2 &trans &trans &trans &trans &trans //╰──────────┴──────────┴──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┴──────────┴──────────╯ - &trans &trans &trans &trans +// &trans &trans &trans &trans // ╰──────────┴──────────╯ ╰──────────┴──────────╯ - >; - }; - }; +// >; +// }; +// }; +// }; + +// *********************** +// urob's conf from here: https://github.com/urob/zmk-config/blob/main/config/base.keymap +// *********************** +#include +#include +#if CONFIG_WIRELESS + #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 +#endif + +#include "zmk-helpers/helper.h" + +#define DEF 0 +#define SYM 1 +#define NAV 2 +#define NUM 3 +#define SYS 4 +// #define UC 5 +#define MOUSE 5 + +#include "combos.dtsi" // requires layer aliases +#include "mouse.dtsi" +#include "extra_keys.h" + +#define XXX &none +#define ___ &trans + +/* Global settings */ + +#define QUICK_TAP_MS 175 + +&sk { // sticky-key config + release-after-ms = <900>; // release after 0.6s + quick-release; // no double capitalization when rolling keys }; + +&sl { // sticky-layer config + ignore-modifiers; // allow chording sticky mods & layers +}; + +< { // 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 THUMBS LH2 LH1 LH0 RH0 RH1 RH2 // thumbs + +#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 + +MAKE_HRM(hml_repeat, &kp, &key_repeat, KEYS_R THUMBS) // used for HRM-combo +MAKE_HRM(hmr_lpar_lt, &kp, &lpar_lt, KEYS_L THUMBS) // " " " " +MAKE_HRM(hmr_rpar_gt, &kp, &rpar_gt, KEYS_L THUMBS) // " " " " + +/* 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>; + +&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 + +// 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) + +/* 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; +}; + +// 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>, <&sl NUM>; // reverse this for sticky-num on single tap +) +&num_word { // num-word, requires PR #1451 + layers = ; + continue-list = ; +}; + +// smart-mouse, requires PR #1366 +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 = ; +) + +// Sticky layer + sticky shift (workaround for issue #1421) +ZMK_STICKY_KEY(sls, + release-after-ms = <1000>; + bindings = <&uc_shift>; + ignore-modifiers; +) +ZMK_MACRO(uc_shift, + wait-ms = <0>; + tap-ms = <1>; + bindings = <¯o_press &mo UC &kp LSHFT> + , <¯o_pause_for_release> + , <¯o_release &mo UC &kp LSHFT>; +) + +// reuse basic mod-morph scheme +#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) +SIMPLE_MORPH(comma_inner_morph, CTL, &kp SEMICOLON, &kp LESS_THAN) + +// tap: dot | shift + tap: colon | ctrl + shift + tap: > +SIMPLE_MORPH(dot_morph, SFT, &kp DOT, &dot_inner_morph) +SIMPLE_MORPH(dot_inner_morph, CTL, &kp COLON, &kp GREATER_THAN) + +// tap: qmark | shift + tap: excl +SIMPLE_MORPH(qexcl, SFT, &kp QMARK, &kp EXCL) + +// tap: left/right parenthesis | shft + tap: less-than/greater-than +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>; +) +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>; +) + +// 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 = ; +) + +// tap: copy | double-tap: cut +ZMK_TAP_DANCE(copy_cut, + tapping-term-ms = <200>; + bindings = <&kp LC(INS)>, <&kp LC(X)>; +) + +// Windows sleep key +ZMK_MACRO(win_sleep, + wait-ms = <500>; + tap-ms = <50>; + bindings = <&kp LG(X) &kp U &kp S>; +) + +// 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 + +/* Keymap */ + +ZMK_CONDITIONAL_LAYER(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(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 &kp LT &kp GT ___ 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 &win_sleep 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(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 +//╰──────╯ ╰─────────────┴─────────────╯ ╰──────╯ ╰─────────────┴─────────────╯ ╰──────╯ +) + +ZMK_LAYER(uc, +//╭──────╮ ╭─────────────┬─────────────┬─────────────┬─────────────┬─────────────╮ ╭──────╮ ╭─────────────┬─────────────┬─────────────┬─────────────┬─────────────╮ ╭──────╮ + X_LT ___ &el_omega &el_phi &el_pi &el_beta X_MT ___ &el_lambda &el_upsilon &el_psi &de_eszett X_RT +//├──────┤ ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ ├──────┤ ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ ├──────┤ + X_LM &el_alpha &el_rho &el_sigma &el_tau &el_gamma X_MM &el_mu &el_nu &el_epsilon &el_iota &el_omikron X_RM +//├──────┤ ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ ├──────┤ ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ ├──────┤ + X_LB &el_zeta &el_xi &el_chi &el_delta &el_theta X_MB &el_kappa &el_eta &de_ae &de_oe &de_ue X_RB +//├──────┤ ╰─────────────┼─────────────┴─────────────┼─────────────┼─────────────┤ ├──────┤ ├─────────────┼─────────────┼─────────────┴───────────────────────────╯ ├──────┤ + X_LH ___ ___ X_MH ___ ___ X_RH +//╰──────╯ ╰─────────────┴─────────────╯ ╰──────╯ ╰───────────────────────────╯ ╰──────╯ +) + +ZMK_LAYER(mouse, +//╭──────╮ ╭─────────────┬─────────────┬─────────────┬─────────────┬─────────────╮ ╭──────╮ ╭─────────────┬─────────────┬─────────────┬─────────────┬─────────────╮ ╭──────╮ + X_LT ___ ___ ___ ___ ___ X_MT U_WH_L U_WH_D U_MS_U U_WH_U U_WH_R X_RT +//├──────┤ ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ ├──────┤ ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ ├──────┤ + X_LM ___ ___ ___ ___ ___ X_MM ___ U_MS_L U_MS_D U_MS_R ___ X_RM +//├──────┤ ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ ├──────┤ ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ ├──────┤ + X_LB ___ ___ ___ ___ ___ X_MB ___ &mkp MB4 &mkp MCLK &mkp MB5 ___ X_RB +//├──────┤ ╰─────────────┼─────────────┴─────────────┼─────────────┼─────────────┤ ├──────┤ ├─────────────┼─────────────┼─────────────┴───────────────────────────╯ ├──────┤ + X_LH ___ ___ X_MH &mkp LCLK &mkp RCLK X_RH +//╰──────╯ ╰─────────────┴─────────────╯ ╰──────╯ ╰─────────────┴─────────────╯ ╰──────╯ +) + +/* vim: set ft=c tw=174: */