diff --git a/config/splitkb_aurora_corne.keymap b/config/splitkb_aurora_corne.keymap index 01350bd..918d688 100644 --- a/config/splitkb_aurora_corne.keymap +++ b/config/splitkb_aurora_corne.keymap @@ -8,38 +8,75 @@ #include #include +#define COL 0 +#define QWR 1 +#define NAV 2 +#define SYM 3 +#define NUM 4 + / { keymap { compatible = "zmk,keymap"; default_layer { // ----------------------------------------------------------------------------------------- -// | TAB | Q | W | E | R | T | | Y | U | I | O | P | BKSP | -// | CTRL | A | S | D | F | G | | H | J | K | L | ; | ' | -// | SHFT | Z | X | C | V | B | | N | M | , | . | / | ESC | -// | GUI | LWR | SPC | | ENT | RSE | ALT | +// | TAB | Q | W | F | P | B | | J | L | U | Y | ; | BKSP | +// | CTRL | A | R | S | T | G | | M | N | E | I | O | ' | +// | SHFT | Z | X | C | D | V | | K | H | , | . | / | SHFT | +// | N/A | ENT | SPC | | ENT | SPC | N/A | bindings = < - &kp TAB &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &kp BSPC - &kp LCTRL &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SEMI &kp SQT - &kp LSHFT &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp COMMA &kp DOT &kp FSLH &kp ESC - &kp LGUI &mo 1 &kp SPACE &kp RET &mo 2 &kp RALT + &kp TAB &kp Q &kp W &kp F &kp P &kp B &kp J &kp L &kp U &kp Y &kp SEMI &kp BSPC + &ctrl_esc &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 RSHFT + &none &kp RET &mo NAV &sym_bspc &kp SPACE &none >; }; - lower_layer { + + qwerty_layer { +// ----------------------------------------------------------------------------------------- +// | TSP | Q | W | E | R | T | | Y | U | I | O | P | TSP | +// | TSP | A | S | D | F | G | | H | J | K | L | ; | TSP | +// | TSP | Z | X | C | V | B | | N | M | TSP | TSP | TSP | TSP | +// | TSP | TSP | TSP | | TSP | TSP | TSP | + bindings = < + &trans &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &trans + &trans &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SEMI &trans + &trans &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &trans &trans &trans &trans + &trans &trans &trans &trans &trans &trans + >; + }; + + nav_layer { // ----------------------------------------------------------------------------------------- // | TAB | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | BKSP | // | BTCLR| BT1 | BT2 | BT3 | BT4 | BT5 | | LFT | DWN | UP | RGT | | | // | SHFT | | | | | | | | | | | | | // | GUI | | SPC | | ENT | | ALT | bindings = < - &kp TAB &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp BSPC + &swapper &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp BSPC &bt BT_CLR &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 &kp LEFT &kp DOWN &kp UP &kp RIGHT &trans &trans &kp LSHFT &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &kp LGUI &trans &kp SPACE &kp RET &trans &kp RALT >; }; - raise_layer { + sym_layer { +// ----------------------------------------------------------------------------------------- +// | TAB | ! | @ | # | $ | % | | ^ | & | * | ( | ) | BKSP | +// | CTRL | | | | | | | - | = | [ | ] | \ | ` | +// | SHFT | | | | | | | _ | + | { | } | "|" | ~ | +// | GUI | | SPC | | ENT | | ALT | + bindings = < + &kp TAB &kp EXCL &kp AT &kp HASH &kp DLLR &kp PRCNT &kp CARET &kp AMPS &kp ASTRK &kp LPAR &kp RPAR &kp BSPC + &kp LCTRL &trans &trans &trans &trans &trans &kp MINUS &kp EQUAL &kp LBKT &kp RBKT &kp BSLH &kp GRAVE + &kp LSHFT &trans &trans &trans &trans &trans &kp UNDER &kp PLUS &kp LBRC &kp RBRC &kp PIPE &kp TILDE + &kp LGUI &trans &kp SPACE &kp RET &trans &kp RALT + >; + }; + }; +}; + + num_layer { // ----------------------------------------------------------------------------------------- // | TAB | ! | @ | # | $ | % | | ^ | & | * | ( | ) | BKSP | // | CTRL | | | | | | | - | = | [ | ] | \ | ` | @@ -54,3 +91,28 @@ }; }; }; + +&behavior_hold_tap { + ctrl_esc: ctrl_esc { + compatible = "zmk,behavior-hold-tap"; + tap-behavior = <&kp ESC>; // Tap behavior sends Escape + hold-behavior = <&kp LCTRL>; // Hold behavior sends Ctrl + }; +}; + +&behavior_hold_tap { + sym_bspc: sym_bspc { + compatible = "zmk,behavior-hold-tap"; + tap-behavior = <&kp BSPC>; // Tap behavior sends Backspace + hold-behavior = <&mo SYM>; // Hold behavior activates Layer 3 + }; +}; + +&behavior_tri_state { + swapper: swapper { + compatible = "zmk,behavior-tri-state"; + #binding-cells = <0>; + bindings = <&kt RGUI>, <&kp TAB>, <&kt RGUI>; // Cmd, Tab, and release Cmd + ignored-key-positions = <7 9 16 17 18 19 29>; // Ignore arrows, BSPC, ENTER, DEL + }; +}; diff --git a/config/west.yml b/config/west.yml index b886cbe..0e42b8c 100644 --- a/config/west.yml +++ b/config/west.yml @@ -2,6 +2,8 @@ manifest: remotes: - name: zmkfirmware url-base: https://github.com/zmkfirmware + - name: dhruvinsh + url-base: https://github.com/dhruvinsh # Additional modules containing boards/shields/custom code can be listed here as well # See https://docs.zephyrproject.org/3.2.0/develop/west/manifest.html#projects projects: @@ -9,5 +11,8 @@ manifest: remote: zmkfirmware revision: main import: app/west.yml + - name: zmk-tri-state + remote: dhruvinsh + revision: main self: path: config