Skip to content

Commit

Permalink
Rearranging to get ESC and TAB and trying to fix numpad lock.
Browse files Browse the repository at this point in the history
All layouts should now have escape and tab on them, and to get
backspace on Hands Down Gold there are escape, backspace, and tab on
the nav layer now. I imitated the technique described in
zmkfirmware/zmk#1299 (comment)
to use conditional layers for num-lock.
  • Loading branch information
amacleod committed Jun 2, 2024
1 parent ef81856 commit 70169b4
Showing 1 changed file with 83 additions and 28 deletions.
111 changes: 83 additions & 28 deletions config/corne.keymap
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,10 @@
#define SYMBOLS 7
#define NAV 8
#define NUMPAD 9
#define BTOOTH 10
#define NUMLOCK 10
#define NUMTEMP 11
#define BTOOTH 12
#define LAYOUTS 13


/ {
Expand All @@ -37,6 +40,24 @@ behaviors {
#binding-cells = <0>;
bindings = <&kp G>, <&kp Q>;
};
tdesclay: tap_dance_esc_layouts {
compatible = "zmk,behavior-tap-dance";
#binding-cells = <0>;
tapping-term-ms = <200>;
bindings = <&kp ESC>, <&to LAYOUTS>
};
};

conditional_layers {
compatible = "zmk,conditional-layers";
numeric_momentary {
if-layers = <NUMTEMP>;
then-layer = <NUMPAD>;
};
numeric_lock {
if-layers = <NUMLOCK>;
then-layer = <NUMPAD>;
};
};

keymap {
Expand All @@ -47,12 +68,12 @@ keymap {
// | W | F | M | P | V | | / | . | Q | Z | J |
// | R | S | N | T | B | | , | A | E | I | H |
// | X | C | L | D | G | | - | U | O | Y | K |
// `-----------|HDGld| SYM | Spc | | Bks | NAV | _ |-----------'
// `-----------| Esc | SYM | Spc | | Bks | NAV | Tab |-----------'
bindings = <
&kp W &kp F &kp M &kp P &kp V &kp FSLH &kp DOT &kp Q &kp Z &kp J
&kp R &kp S &kp N &kp T &kp B &kp COMMA &kp A &kp E &kp I &kp H
&kp X &kp C &kp L &kp D &kp G &kp MINUS &kp U &kp Z &kp Y &kp K
&to HD_GOLD &sl SYMBOLS &kp SPACE &kp BSPC &sl NAV &kp UNDER
&tdesclay &sl SYMBOLS &kp SPACE &kp BSPC &sl NAV &kp TAB
>;
};

Expand All @@ -61,12 +82,12 @@ keymap {
// | J z | G q | M | P | V | | ; | . | / | " | ' |
// | R | S | N | D | B | | , | A | E | I | H |
// | X | F | L | C | W | | - | U | O | Y | K |
// `-----------|Dvork| SYM | Spc | | Bks | NAV | _ |-----------'
// `-----------| Esc | SYM | T | | Spc | NAV | Tab |-----------'
bindings = <
&tdjz &tdgq &kp M &kp P &kp V &kp SEMI &kp DOT &kp FSLH &kp DQT &kp SQT
&kp R &kp S &kp N &kp D &kp B &kp COMMA &kp A &kp E &kp I &kp H
&kp X &kp F &kp L &kp C &kp W &kp MINUS &kp U &kp O &kp Y &kp K
&to DVORAK &sl SYMBOLS &kp T &kp SPACE &sl NAV &kp UNDER
&tdesclay &sl SYMBOLS &kp T &kp SPACE &sl NAV &kp TAB
>;
};

Expand All @@ -75,12 +96,12 @@ keymap {
// | ' | , | . | P | Y | | F | G | C | R | L |
// | A | O | E | U | I | | D | H | T | N | S |
// | ; | Q | J | K | X | | B | M | W | V | Z |
// `-----------|Colmk| SYM | Spc | | Bks | NAV | _ |-----------'
// `-----------| Esc | SYM | Spc | | Bks | NAV | Tab |-----------'
bindings = <
&kp SQT &kp COMMA &kp DOT &kp P &kp Y &kp F &kp G &kp C &kp R &kp L
&kp A &kp O &kp E &kp U &kp I &kp D &kp H &kp T &kp N &kp S
&kp SEMI &kp Q &kp J &kp K &kp X &kp B &kp M &kp W &kp V &kp Z
&to COLEMAK &sl SYMBOLS &kp SPACE &kp BSPC &sl NAV &kp UNDER
&tdesclay &sl SYMBOLS &kp SPACE &kp BSPC &sl NAV &kp TAB
>;
};

Expand All @@ -89,12 +110,12 @@ keymap {
// | Q | W | F | P | B | | J | L | U | Y | ' |
// | A | R | S | T | G | | M | N | E | I | O |
// | Z | X | C | D | V | | K | H | , | . | / |
// `-----------|QWRTY| SYM | Spc | | Bks | NAV | _ |-----------'
// `-----------| Esc | SYM | Spc | | Bks | NAV | Tab |-----------'
bindings = <
&kp Q &kp W &kp F &kp P &kp B &kp J &kp L &kp U &kp Y &kp SQT
&kp A &kp R &kp S &kp T &kp G &kp M &kp N &kp E &kp I &kp O
&kp Z &kp X &kp C &kp D &kp V &kp K &kp H &kp COMMA &kp DOT &kp FSLH
&to QWERTY &sl SYMBOLS &kp SPACE &kp BSPC &sl NAV &kp UNDER
&tdesclay &sl SYMBOLS &kp SPACE &kp BSPC &sl NAV &kp TAB
>;
};

Expand All @@ -103,12 +124,12 @@ keymap {
// | Q | W | E | R | T | | Y | U | I | O | P |
// | A | S | D | F | G | | H | J | K | L | ; |
// | Z | X | C | V | B | | N | M | , | . | / |
// `-----------|Cnary| SYM | Spc | | Bks | NAV | _ |-----------'
// `-----------| Esc | SYM | Spc | | Bks | NAV | Tab |-----------'
bindings = <
&kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P
&kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SEMI
&kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp COMMA &kp DOT &kp FSLH
&to CANARY &sl SYMBOLS &kp SPACE &kp BSPC &sl NAV &kp UNDER
&tdesclay &sl SYMBOLS &kp SPACE &kp BSPC &sl NAV &kp TAB
>;
};

Expand All @@ -117,12 +138,12 @@ keymap {
// | W | L | Y | P | B | | Z | F | O | U | ' |
// | C | R | S | T | G | | M | N | E | I | A |
// | Q | J | V | D | K | | X | H | / | , | . |
// `-----------|STRDY| SYM | Spc | | Bks | NAV | _ |-----------'
// `-----------| Esc | SYM | Spc | | Bks | NAV | Tab |-----------'
bindings = <
&kp W &kp L &kp Y &kp P &kp B &kp Z &kp F &kp O &kp U &kp SQT
&kp C &kp R &kp S &kp T &kp G &kp M &kp N &kp E &kp I &kp A
&kp Q &kp J &kp V &kp D &kp K &kp X &kp H &kp FSLH &kp COMMA &kp DOT
&to STURDY &sl SYMBOLS &kp SPACE &kp BSPC &sl NAV &kp UNDER
&tdesclay &sl SYMBOLS &kp SPACE &kp BSPC &sl NAV &kp TAB
>;
};

Expand All @@ -131,12 +152,12 @@ keymap {
// | V | M | L | C | P | | X | F | O | U | J |
// | S | T | R | D | Y | | . | N | A | E | I |
// | Z | K | Q | G | W | | B | H | ' | ; | , |
// `-----------|HDNeu| SYM | Spc | | Bks | NAV | _ |-----------'
// `-----------| Esc | SYM | Spc | | Bks | NAV | Tab |-----------'
bindings = <
&kp V &kp M &kp L &kp C &kp P &kp X &kp F &kp O &kp U &kp J
&kp S &kp T &kp R &kp D &kp Y &kp DOT &kp N &kp A &kp E &kp I
&kp Z &kp K &kp Q &kp G &kp W &kp B &kp H &kp SQT &kp SEMI &kp COMMA
&to HD_NEU &sl SYMBOLS &kp SPACE &kp BSPC &sl NAV &kp UNDER
&tdesclay &sl SYMBOLS &kp SPACE &kp BSPC &sl NAV &kp TAB
>;
};

Expand All @@ -150,35 +171,55 @@ keymap {
&kp GRAVE &kp LT &kp GT &kp DQT &kp SQT &kp AMPS &kp COLON &kp LBKT &kp RBKT &kp BSLH
&kp EXCL &kp MINUS &kp PLUS &kp EQUAL &kp HASH &kp PIPE &kp SEMI &kp LBRC &kp RBRC &kp QMARK
&kp TILDE &kp SLASH &kp STAR &kp PERCENT &kp AT &kp CARET &kp DOLLAR &kp LPAR &kp RPAR &kp FSLH
&kp LSHIFT &trans &tog SYMBOLS &kp RET &to NUMPAD &kp RSHIFT
&sk LSHIFT &trans &tog SYMBOLS &kp RET &mo NUMTEMP &sk RSHIFT
>;
};

navigation_layer {
// ,-----------------------------. ,-----------------------------.
// | 1 | 2 | 3 | 4 | 5 | | Hom | PgD | Up | PgU | \ |
// | 6 | 7 | 8 | 9 | 0 | | End | Left| Down|Right| ? |
// | Undo| Cut | Copy|Paste| GUI | | Ins | Ctrl| Del | Alt | / |
// | 1 | 2 | 3 | 4 | 5 | | Hom | PgD | Up | PgU | Esc |
// | 6 | 7 | 8 | 9 | 0 | | End | Left| Down|Right| Bks |
// | Undo| Cut | Copy|Paste| GUI | | Ins | Ctrl| Del | Alt | Tab |
// `-----------|Shift| NUM | BAS | | Ent |#####|Shift|-----------'
bindings = <
&kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp HOME &kp PG_DN &kp UP &kp PG_UP &kp BSLH
&kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp END &kp LEFT &kp DOWN &kp RIGHT &kp QMARK
&kp LC(Z) &kp LC(X) &kp LC(C) &kp LC(V) &sk LGUI &kp INS &sk RCTRL &kp DEL &sk LALT &kp FSLH
&kp LSHIFT &to NUMPAD &tog NAV &kp RET &trans &kp RSHIFT
&kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp HOME &kp PG_DN &kp UP &kp PG_UP &kp ESC
&kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp END &kp LEFT &kp DOWN &kp RIGHT &kp BSPC
&kp LC(Z) &kp LC(X) &kp LC(C) &kp LC(V) &sk LGUI &kp INS &sk RCTRL &kp DEL &sk LALT &kp TAB
&sk LSHIFT &mo NUMTEMP &tog NAV &kp RET &trans &sk RSHIFT
>;
};

numpad_layer {
// ,-----------------------------. ,------------------------------.
// | F1 | F2 | F3 | F4 | | | * | 7 | 8 | 9 | - |
// | F1 | F2 | F3 | F4 |NumLk| | * | 7 | 8 | 9 | - |
// | F5 | F6 | F7 | F8 | | | / | 4 | 5 | 6 | + |
// | F9 | F10 | F11 | F12 | | | 0 | 1 | 2 | 3 | Ent |
// `-----------| |#####| BAS | | 0 |######| . |-----------'
bindings = <
&kp F1 &kp F2 &kp F3 &kp F4 &none &kp KP_MULTIPLY &kp KP_N7 &kp KP_N8 &kp KP_N9 &kp KP_SUBTRACT
&kp F5 &kp F6 &kp F7 &kp F8 &none &kp KP_DIVIDE &kp KP_N4 &kp KP_N5 &kp KP_N6 &kp KP_PLUS
&kp F9 &kp F10 &kp F11 &kp F12 &none &kp KP_N0 &kp KP_N1 &kp KP_N2 &kp KP_N3 &kp RETURN2
&to BTOOTH &trans &tog NUMPAD &kp KP_N0 &trans &kp KP_DOT
&kp F1 &kp F2 &kp F3 &kp F4 &tog NUMLOCK &kp KP_MULTIPLY &kp KP_N7 &kp KP_N8 &kp KP_N9 &kp KP_SUBTRACT
&kp F5 &kp F6 &kp F7 &kp F8 &none &kp KP_DIVIDE &kp KP_N4 &kp KP_N5 &kp KP_N6 &kp KP_PLUS
&kp F9 &kp F10 &kp F11 &kp F12 &none &kp KP_N0 &kp KP_N1 &kp KP_N2 &kp KP_N3 &kp RETURN2
&to BTOOTH &trans &tog NUMPAD &kp KP_N0 &trans &kp KP_DOT
>;
};

num_temp_layer {
// Only exists to momentarily activate numpad layer.
bindings = <
&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
>;
};

num_lock_layer {
// Only exists to toggle numpad layer lock on and off.
bindings = <
&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
>;
};

Expand All @@ -196,6 +237,20 @@ keymap {
&trans &trans &tog BTOOTH &trans &trans &trans
>;
};
layout_selection_layer {
// ,-----------------------------. ,-----------------------------.
// | |HDNeu|Dvork|Clmak| | | | | | | |
// |QWRTY|HDGld|STRDY|Cnary| | | | | | | |
// | | | | | | | | | | | |
// `-----------| | | | | | | |-----------'

bindings = <
&trans &to HD_NEU &to DVORAK &to COLEMAK &trans &trans &trans &trans &trans &trans
&to QWERTY &to HD_GOLD &to STURDY &to CANARY &trans &trans &trans &trans &trans &trans
&trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
&trans &trans &tog LAYOUT &trans &trans &trans
>;
};
};
// end keymap
};

0 comments on commit 70169b4

Please sign in to comment.