summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKjetil Orbekk <kj@orbekk.com>2023-05-13 17:31:39 -0400
committerKjetil Orbekk <kj@orbekk.com>2023-05-13 17:31:39 -0400
commit0e715f64941f7fa0ec03b3799c13bff962f833fd (patch)
tree267462613cc31763f15955639e275006d572d3d1
parent3be2880e4efc7fefe573b98a8c60a47e09023882 (diff)
planck layout
-rw-r--r--config/base.keymap78
-rw-r--r--config/extra_keys.h16
-rwxr-xr-xconfig/gen_positions.sh4
-rw-r--r--config/keypos_defs/keypos_kj_planck.h59
-rw-r--r--config/planck_rev6.keymap122
-rw-r--r--config/reviung41.conf1
-rw-r--r--config/reviung41.keymap2
7 files changed, 129 insertions, 153 deletions
diff --git a/config/base.keymap b/config/base.keymap
index 148d89d..6740184 100644
--- a/config/base.keymap
+++ b/config/base.keymap
@@ -150,10 +150,10 @@
label = "DVORAK";
// DV - Dvorak layer
bindings = <
- R1X &kp SQT &kp COMMA &kp DOT &kp P &kp Y &kp F &kp G &kp C &kp R &kp L R1Z
- R2X &HL1(A) &HL2(O) &HL3(E) &HL4(U) &kp I &kp D &HR4(H) &HR3(T) &HR2(N) &HR1(S) R2Z
- R3X &kp SEMI &kp Q &kp J &kp K &kp X &kp B &kp M &kp W &kp V &kp Z R3Z
- R4X &kp LSHIFT &mo LOW SPACEKEY TX &mo UPR &kp LSHIFT R4Z
+ R1X &kp SQT &kp COMMA &kp DOT &kp P &kp Y R1Y &kp F &kp G &kp C &kp R &kp L R1Z
+ R2X &HL1(A) &HL2(O) &HL3(E) &HL4(U) &kp I R2Y &kp D &HR4(H) &HR3(T) &HR2(N) &HR1(S) R2Z
+ R3X &kp SEMI &kp Q &kp J &kp K &kp X R3Y &kp B &kp M &kp W &kp V &kp Z R3Z
+ R4X &kp LSHIFT &mo LOW SPACEKEY R4Y TX &mo UPR &kp LSHIFT R4Z
>;
};
@@ -162,50 +162,50 @@
// This is a "QWERTY" keymap, but it's really intended to be used in dvorak mode
// (with setxkbmap us -variant dvorak -option compose:ralt).
bindings = <
- R1X &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P R1Z
- R2X &HL1(A) &HL2(S) &HL3(D) &HL4(F) &kp G &kp H &HR4(J) &HR3(K) &HR2(L) &HR1(SEMI) R2Z
- R3X &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp COMMA &kp DOT &kp SLASH R3Z
- R4X &kp LSHIFT &mo LOW SPACEKEY TX &mo UPR &kp LSHIFT R4Z
+ R1X &kp Q &kp W &kp E &kp R &kp T R1Y &kp Y &kp U &kp I &kp O &kp P R1Z
+ R2X &HL1(A) &HL2(S) &HL3(D) &HL4(F) &kp G R2Y &kp H &HR4(J) &HR3(K) &HR2(L) &HR1(SEMI) R2Z
+ R3X &kp Z &kp X &kp C &kp V &kp B R3Y &kp N &kp M &kp COMMA &kp DOT &kp SLASH R3Z
+ R4X &kp LSHIFT &mo LOW SPACEKEY R4Y TX &mo UPR &kp LSHIFT R4Z
>;
};
gaming_layer {
label = "GAMING";
bindings = <
- R1X &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P R1Z
- R2X &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SEMI R2Z
- R3X &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp COMMA &kp DOT &kp SLASH R3Z
+ R1X &kp Q &kp W &kp E &kp R &kp T R1Y &kp Y &kp U &kp I &kp O &kp P R1Z
+ R2X &kp A &kp S &kp D &kp F &kp G R2Y &kp H &kp J &kp K &kp L &kp SEMI R2Z
+ R3X &kp Z &kp X &kp C &kp V &kp B R3Y &kp N &kp M &kp COMMA &kp DOT &kp SLASH R3Z
- R4X SPACEKEY &mo UPR &kp LSHIFT TX &mo LOW R4Z
+ R4X SPACEKEY &mo UPR &kp LSHIFT R4Y TX &mo LOW R4Z
>;
};
lower_layer {
bindings = <
- R1X &kp EXCL &kp AT &kp HASH &kp DLLR &kp PRCNT &kp CARET &kp AMPS &kp STAR &kp LPAR &kp RPAR R1Z
- R2X &kp LGUI &kp LALT &kp LCTL &kp LSHFT &kp BSLH &kp FSLH &kp UNDER &kp PLUS &kp LBRC &kp RBRC R2Z
- R3X &kp GRAVE &kp TILDE &kp TAB &kp ESC &kp PIPE &kp QMARK &kp MINUS &kp EQUAL &kp LBKT &kp RBKT R3Z
- R4X &trans &trans SPACEKEY TX &trans &trans R4Z
+ R1X &kp EXCL &kp AT &kp HASH &kp DLLR &kp PRCNT R1Y &kp CARET &kp AMPS &kp STAR &kp LPAR &kp RPAR R1Z
+ R2X &kp LGUI &kp LALT &kp LCTL &kp LSHFT &kp BSLH R2Y &kp FSLH &kp UNDER &kp PLUS &kp LBRC &kp RBRC R2Z
+ R3X &kp GRAVE &kp TILDE &kp TAB &kp ESC &kp PIPE R3Y &kp QMARK &kp MINUS &kp EQUAL &kp LBKT &kp RBKT R3Z
+ R4X &trans &trans SPACEKEY R4Y TX &trans &trans R4Z
>;
};
raise_layer {
bindings = <
- R1X &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 R1Z
- R2X &trans &trans &trans &trans &trans &kp BSPC &kp LSHFT &kp LCTL &kp LALT &kp LGUI R2Z
- R3X &trans &trans &trans &trans &trans &kp RALT &kp RET &kp DEL &trans &trans R3Z
+ R1X &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 R1Y &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 R1Z
+ R2X &trans &trans &trans &trans &trans R2Y &kp BSPC &kp LSHFT &kp LCTL &kp LALT &kp LGUI R2Z
+ R3X &trans &trans &trans &trans &trans R3Y &kp RALT &kp RET &kp DEL &trans &trans R3Z
- R4X &trans &trans SPACEKEY TX &trans &trans R4Z
+ R4X &trans &trans SPACEKEY R4Y TX &trans &trans R4Z
>;
};
navigation_layer {
bindings = <
- R1X &mkp MB4 &mkp MB3 &mkp MB2 &mkp MB1 &trans &trans &trans &trans &trans &trans R1Z
- R2X &trans &trans &trans &trans &trans &trans &kp LEFT &kp DOWN &kp UP &kp RIGHT R2Z
- R3X &trans &trans &trans &trans &trans &trans &kp HOME &kp PG_DN &kp PG_UP &kp END R3Z
+ R1X &mkp MB4 &mkp MB3 &mkp MB2 &mkp MB1 &trans R1Y &trans &trans &trans &trans &trans R1Z
+ R2X &trans &trans &trans &trans &trans R2Y &trans &kp LEFT &kp DOWN &kp UP &kp RIGHT R2Z
+ R3X &trans &trans &trans &trans &trans R3Y &trans &kp HOME &kp PG_DN &kp PG_UP &kp END R3Z
- R4X &trans &trans SPACEKEY TX &trans &trans R4Z
+ R4X &trans &trans SPACEKEY R4Y TX &trans &trans R4Z
>;
};
@@ -213,38 +213,38 @@
// Waiting for https://github.com/zmkfirmware/zmk/pull/778
// Using fork at https://github.com/ftc/zmk/blob/mouse-ftc
bindings = <
- R1X &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans R1Z
- R2X &mkp MB4 &mkp MB3 &mkp MB2 &mkp MB1 &trans &trans &kp LEFT &kp DOWN &kp UP &kp RIGHT R2Z
- R3X &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans R3Z
+ R1X &trans &trans &trans &trans &trans R1Y &trans &trans &trans &trans &trans R1Z
+ R2X &mkp MB4 &mkp MB3 &mkp MB2 &mkp MB1 &trans R2Y &trans &kp LEFT &kp DOWN &kp UP &kp RIGHT R2Z
+ R3X &trans &trans &trans &trans &trans R3Y &trans &trans &trans &trans &trans R3Z
- R4X &trans &trans SPACEKEY TX &trans &trans R4Z
+ R4X &trans &trans SPACEKEY R4Y TX &trans &trans R4Z
>;
};
qwerty_lower_layer {
bindings = <
- R1X &kp EXCL &kp AT &kp HASH &kp DLLR &kp PRCNT &kp CARET &kp AMPS &kp STAR &kp LPAR &kp RPAR R1Z
- R2X &kp LGUI &kp LALT &kp LCTL &kp LSHFT &kp BSLH &kp LBKT &kp DQT &kp RBRC &kp UNDER &kp PLUS R2Z
- R3X &kp GRAVE &kp TILDE &kp TAB &kp ESC &kp PIPE &kp LBRC &kp SQT &kp RBKT &kp MINUS &kp EQUAL R3Z
- R4X &trans &trans SPACEKEY TX &trans &trans R4Z
+ R1X &kp EXCL &kp AT &kp HASH &kp DLLR &kp PRCNT R1Y &kp CARET &kp AMPS &kp STAR &kp LPAR &kp RPAR R1Z
+ R2X &kp LGUI &kp LALT &kp LCTL &kp LSHFT &kp BSLH R2Y &kp LBKT &kp DQT &kp RBRC &kp UNDER &kp PLUS R2Z
+ R3X &kp GRAVE &kp TILDE &kp TAB &kp ESC &kp PIPE R3Y &kp LBRC &kp SQT &kp RBKT &kp MINUS &kp EQUAL R3Z
+ R4X &trans &trans SPACEKEY R4Y TX &trans &trans R4Z
>;
};
gaming_lower_layer {
bindings = <
- R1X &kp N1 &kp N2 &kp N3 &kp N4 &kp N9 &trans &trans &trans &trans &trans R1Z
- R2X &kp N5 &kp N6 &kp N7 &kp N8 &kp N0 &trans &trans &trans &trans &trans R2Z
- R3X &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans R3Z
- R4X &trans &trans SPACEKEY TX &trans &trans R4Z
+ R1X &kp N1 &kp N2 &kp N3 &kp N4 &kp N9 R1Y &trans &trans &trans &trans &trans R1Z
+ R2X &kp N5 &kp N6 &kp N7 &kp N8 &kp N0 R2Y &trans &trans &trans &trans &trans R2Z
+ R3X &trans &trans &trans &trans &trans R3Y &trans &trans &trans &trans &trans R3Z
+ R4X &trans &trans SPACEKEY R4Y TX &trans &trans R4Z
>;
};
function_layer {
bindings = <
- R1X &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &kp F7 &kp F8 &kp F9 &kp F10 R1Z
- R2X &kp F11 &kp F12 &to GAMING &to DV &to QW &trans &trans &trans &trans &trans R2Z
+ R1X &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 R1Y &kp F6 &kp F7 &kp F8 &kp F9 &kp F10 R1Z
+ R2X &kp F11 &kp F12 &to GAMING &to DV &to QW R2Y &trans &trans &trans &trans &trans R2Z
R3X FUNC_KEYS R3Z
- R4X &trans &trans SPACEKEY TX &trans &trans R4Z
+ R4X &trans &trans SPACEKEY R3Y TX &trans &trans R4Z
>;
};
diff --git a/config/extra_keys.h b/config/extra_keys.h
index c187f96..d69c545 100644
--- a/config/extra_keys.h
+++ b/config/extra_keys.h
@@ -14,6 +14,22 @@
#define R4X
#endif
+#if !defined R1Y
+#define R1Y
+#endif
+
+#if !defined R2Y
+#define R2Y
+#endif
+
+#if !defined R3Y
+#define R3Y
+#endif
+
+#if !defined R4Y
+#define R4Y
+#endif
+
#if !defined R1Z
#define R1Z
#endif
diff --git a/config/gen_positions.sh b/config/gen_positions.sh
index b83ca9d..c5ec9ba 100755
--- a/config/gen_positions.sh
+++ b/config/gen_positions.sh
@@ -6,10 +6,10 @@ fi
f="$1"
-echo -n "#define LEFT"
+echo -n "#define LEFT_KEYS"
grep "#define " $f | awk '$2 ~ /^L[^H]/ { printf(" %s", $2) }'
echo
-echo -n "#define RIGHT"
+echo -n "#define RIGHT_KEYS"
grep "#define " $f | awk '$2 ~ /^R[^H]/ { printf(" %s", $2) }'
echo
echo -n "#define THUMBS"
diff --git a/config/keypos_defs/keypos_kj_planck.h b/config/keypos_defs/keypos_kj_planck.h
new file mode 100644
index 0000000..a3f2e32
--- /dev/null
+++ b/config/keypos_defs/keypos_kj_planck.h
@@ -0,0 +1,59 @@
+/* 48 KEY MATRIX / LAYOUT MAPPING
+
+ ╭────────────────────────┬────────────────────────╮ ╭─────────────────────────┬─────────────────────────╮
+ │ 0 1 2 3 4 5 │ 6 7 8 9 10 11 │ │ LT5 LT4 LT3 LT2 LT1 LT0 │ RT0 RT1 RT2 RT3 RT4 RT5 │
+ │ 12 13 14 15 16 17 │ 18 19 20 21 22 23 │ │ LM5 LM4 LM3 LM2 LM1 LM0 │ RM0 RM1 RM2 RM3 RM4 RM5 │
+ │ 24 25 26 27 28 29 │ 30 31 32 33 34 35 │ │ LB5 LB4 LB3 LB2 LB1 LB0 │ RB0 RB1 RB2 RB3 RB4 RB5 │
+ │ 36 37 38 39 40 41 │ 42 43 44 45 46 47 │ │ LH5 LH4 LH3 LH2 LH1 LH0 │ RH0 RH1 RH2 RH3 RH4 RH5 │
+ ╰────────────────────────┴────────────────────────╯ ╰─────────────────────────┴─────────────────────────╯ */
+
+#pragma once
+
+#define LT0 4 // left-top row
+#define LT1 3
+#define LT2 2
+#define LT3 1
+#define LT4 0
+
+#define RT0 7 // right-top row
+#define RT1 8
+#define RT2 9
+#define RT3 10
+#define RT4 11
+
+#define LM0 16 // left-middle row
+#define LM1 15
+#define LM2 14
+#define LM3 13
+#define LM4 12
+
+#define RM0 19 // right-middle row
+#define RM1 20
+#define RM2 21
+#define RM3 22
+#define RM4 23
+
+#define LB0 28 // left-bottom row
+#define LB1 27
+#define LB2 26
+#define LB3 25
+#define LB4 24
+
+#define RB0 31 // right-bottom row
+#define RB1 32
+#define RB2 33
+#define RB3 34
+#define RB4 35
+
+#define LH0 40 // left thumb keys
+#define LH1 39
+#define LH2 38
+#define LH3 37
+#define LH4 36
+
+#define RH0 43 // right thumb keys
+#define RH1 44
+#define RH2 45
+#define RH3 46
+#define RH4 47
+
diff --git a/config/planck_rev6.keymap b/config/planck_rev6.keymap
index 76531dc..1c3525e 100644
--- a/config/planck_rev6.keymap
+++ b/config/planck_rev6.keymap
@@ -1,116 +1,16 @@
// -*- mode: dts-mode; tab-width: 2 -*-
-#include <behaviors.dtsi>
-#include <dt-bindings/zmk/keys.h>
-#define QWERTY 0
-// #define DVORAK 1
-#define LOW 1
-#define UPR 2
-#define NAV 3
-#define FN 4
+#define R1Y &none &none
+#define R2Y &none &none
+#define R3Y &none &none
+#define R4X &none &none
+#define R4Y &none &none
-// #define HM1(k) kp k
-// #define HM2(k) kp k
-// #define HM3(k) kp k
-// #define HM4(k) kp k
-#define HM1(k) hm_slow LGUI k
-#define HM2(k) hm_med LALT k
-#define HM3(k) hm_med LCTL k
-#define HM4(k) hm_fast LSHFT k
+#include "keypos_defs/keypos_kj_planck.h"
+#define LEFT_KEYS LT0 LT1 LT2 LT3 LT4 LM0 LM1 LM2 LM3 LM4 LB0 LB1 LB2 LB3 LB4
+#define RIGHT_KEYS RT0 RT1 RT2 RT3 RT4 RM0 RM1 RM2 RM3 RM4 RB0 RB1 RB2 RB3 RB4
+#define THUMBS LH0 LH1 LH2 LH3 LH4 RH0 RH1 RH2 RH3 RH4
-// Resources:
-// https://github.com/manna-harbour/qmk_firmware/tree/miryoku/users/manna-harbour_miryoku
-// https://precondition.github.io/home-row-mods
+#define FUNC_KEYS &none &none &none &none &none R3Y &none &none &none &none &none
-/ {
- behaviors {
- hm_slow: homerow_mods_slow {
- compatible = "zmk,behavior-hold-tap";
- label = "HMOD_S";
- #binding-cells = <2>;
- tapping-term-ms = <250>;
- #quick-tap-ms = <0>;
- flavor = "tap-preferred";
- bindings = <&kp>, <&kp>;
- };
- hm_med: homerow_mods_medium {
- compatible = "zmk,behavior-hold-tap";
- label = "HMOD_M";
- #binding-cells = <2>;
- tapping-term-ms = <200>;
- #quick-tap-ms = <0>;
- flavor = "tap-preferred";
- bindings = <&kp>, <&kp>;
- };
- hm_fast: homerow_mods_fast {
- compatible = "zmk,behavior-hold-tap";
- label = "HMOD_F";
- #binding-cells = <2>;
- tapping-term-ms = <160>;
- #quick-tap-ms = <0>;
- flavor = "tap-preferred";
- bindings = <&kp>, <&kp>;
- };
- };
-
- keymap {
- compatible = "zmk,keymap";
-
- default_layer {
- // This is a "QWERTY" keymap, but it's really intended to be used in dvorak mode
- // (with setxkbmap us -variant dvorak -option compose:ralt).
- bindings = <
- &trans &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &trans
- &trans &HM1(A) &HM2(S) &HM3(D) &HM4(F) &kp G &kp H &HM4(J) &HM3(K) &HM2(L) &HM1(SEMI) &trans
- &trans &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp COMMA &kp DOT &kp SLASH &trans
- &trans &trans &trans &mo NAV &mo LOW &kp SPACE &kp SPACE &mo UPR &mo NAV &trans &trans &trans
- >;
- };
-
- // dvorak {
- // // Incomplete!
- // bindings = <
- //&kp TAB &kp SQT &kp COMMA &kp DOT &kp P &kp Y &kp F &kp G &kp C &kp R &kp L &kp BSPC
- //&kp ESC &kp A &kp O &kp E &kp U &kp I &kp D &kp H &kp T &kp N &kp S &kp RET
- //&kp LSHFT &kp SEMI &kp Q &kp J &kp K &kp X &kp B &kp M &kp W &kp V &kp Z &kp SLASH
- //&trans &trans &kp LGUI &kp LALT &mo LOW &kp ESC &kp SPACE &mo UPR &trans &trans &trans &trans
- // >;
- // };
-
- lower {
- bindings = <
- &trans &kp EXCL &kp AT &kp HASH &kp DLLR &kp PRCNT &kp CARET &kp AMPS &kp STAR &kp LPAR &kp RPAR &trans
- &trans &kp LGUI &kp LALT &kp LCTL &kp LSHFT &kp BSLH &kp LBKT &kp DQT &kp RBRC &kp UNDER &kp PLUS &trans
- &trans &kp GRAVE &kp TILDE &kp TAB &kp ESC &kp PIPE &kp LBRC &kp SQT &kp RBKT &kp MINUS &kp EQUAL &trans
- &trans &trans &trans &trans &trans &kp SPACE &kp SPACE &trans &trans &trans &trans &trans
- >;
- };
-
- upper {
- bindings = <
- &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 &kp BSPC &kp LSHFT &kp LCTL &kp LALT &kp LGUI &trans
- &trans &trans &trans &trans &trans &trans &kp RALT &kp RET &kp DEL &trans &trans &trans
- &trans &trans &trans &trans &mo FN &kp SPACE &kp SPACE &trans &trans &trans &trans &trans
- >;
- };
-
- navigation {
- bindings = <
- &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
- &trans &kp KP_N4 &kp KP_N3 &kp KP_N2 &kp KP_N1 &trans &trans &kp LEFT &kp DOWN &kp UP &kp RIGHT &trans
- &trans &trans &trans &trans &trans &trans &trans &kp HOME &kp PG_DN &kp PG_UP &kp END &trans
- &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
- >;
- };
-
- function {
- bindings = <
- &trans &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &kp F7 &kp F8 &kp F9 &kp F10 &trans
- &trans &kp F11 &kp F12 &trans &trans &trans &trans &trans &trans &trans &trans &trans
- &trans &bootloader &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
- &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
- >;
- };
- };
-};
+#include "base.keymap"
diff --git a/config/reviung41.conf b/config/reviung41.conf
index 1882b96..76b185d 100644
--- a/config/reviung41.conf
+++ b/config/reviung41.conf
@@ -1,5 +1,6 @@
CONFIG_ZMK_SLEEP=y
CONFIG_ZMK_IDLE_TIMEOUT=5000
+# 15 minute sleep timeout
CONFIG_ZMK_IDLE_SLEEP_TIMEOUT=900000
CONFIG_ZMK_MOUSE=y
diff --git a/config/reviung41.keymap b/config/reviung41.keymap
index 18f5bed..287584e 100644
--- a/config/reviung41.keymap
+++ b/config/reviung41.keymap
@@ -10,7 +10,7 @@
#include "keypos_defs/keypos_42keys.h"
#define LEFT_KEYS LT0 LT1 LT2 LT3 LT4 LT5 LM0 LM1 LM2 LM3 LM4 LM5 LB0 LB1 LB2 LB3 LB4 LB5
-#define RIGHT_KEYS RT0 RT1 RT2 RT3 RT4 RT5 RM0 RM1 RM2 RM3 RM4 RM5 RB0 RB1 RB2 RB3 RB4 RB5
+#define RIGHT RT0 RT1 RT2 RT3 RT4 RT5 RM0 RM1 RM2 RM3 RM4 RM5 RB0 RB1 RB2 RB3 RB4 RB5
#define THUMBS LH0 LH1 LH2 RH0 RH1 RH2
#define FUNC_KEYS &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 &bt BT_CLR &none &none &none &none