summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKjetil Orbekk <kj@orbekk.com>2023-05-12 16:07:09 -0400
committerKjetil Orbekk <kj@orbekk.com>2023-05-12 16:07:09 -0400
commit96318f1d793d02faf4b9bfc8552de2b6c8078325 (patch)
tree826c901df6463a1a53f5180a521b350475b027e0
parent025d3b647b88c717311a10e7362ba2940cbfaefb (diff)
update keymaps
-rw-r--r--config/base.keymap202
-rw-r--r--config/corneish_zen.conf31
-rw-r--r--config/corneish_zen.keymap187
-rw-r--r--config/extra_keys.h39
-rw-r--r--config/planck_rev6.keymap2
-rw-r--r--config/reviung41.conf21
-rw-r--r--config/reviung41.keymap269
7 files changed, 318 insertions, 433 deletions
diff --git a/config/base.keymap b/config/base.keymap
new file mode 100644
index 0000000..bf7d2b4
--- /dev/null
+++ b/config/base.keymap
@@ -0,0 +1,202 @@
+// -*- mode: dts-mode; tab-width: 2 -*-
+#include <behaviors.dtsi>
+#include <dt-bindings/zmk/keys.h>
+#include <dt-bindings/zmk/bt.h>
+#include <dt-bindings/zmk/mouse.h>
+
+#define DV 0
+#define QW 1
+#define GAMING 2
+#define LOW 3
+#define UPR 4
+#define NAV 5
+#define MOUSE 6
+#define QVLOW 7
+#define GAMELOW 8
+#define FN 9
+
+#define SPACEKEY &layer_mo NAV SPACE
+
+#define HM1(k) hm LGUI k
+#define HM2(k) hm LALT k
+#define HM3(k) hm LCTL k
+#define HM4(k) hm LSHFT k
+
+#include "extra_keys.h"
+
+/ {
+ behaviors {
+ hm: homerow_modifiers {
+ label = "hmod";
+ compatible = "zmk,behavior-hold-tap";
+ flavor = "balanced";
+ #binding-cells = <2>;
+ tapping-term-ms = <280>;
+ quick-tap-ms = <175>;
+ global-quick-tap-ms = <150>;
+ bindings = <&kp>, <&kp>;
+ hold-trigger-on-release;
+ };
+ layer_mo: layer_modifiers {
+ label = "layermod";
+ compatible = "zmk,behavior-hold-tap";
+ flavor = "balanced";
+ #binding-cells = <2>;
+ tapping-term-ms = <280>;
+ quick-tap-ms = <175>;
+ global-quick-tap-ms = <150>;
+ bindings = <&mo>, <&kp>;
+ hold-trigger-on-release;
+ };
+ /* hm_slow: homerow_mods_slow { */
+ /* bincompatible = "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>; */
+ /* }; */
+ };
+
+ conditional_layers {
+ compatible = "zmk,conditional-layers";
+ fn_layer {
+ if-layers = <LOW UPR>;
+ then-layer = <FN>;
+ };
+ qwlow_layer {
+ if-layers = <QW LOW>;
+ then-layer = <QVLOW>;
+ };
+ gamelow_layer {
+ if-layers = <GAMING LOW>;
+ then-layer = <GAMELOW>;
+ };
+ };
+
+ keymap {
+ compatible = "zmk,keymap";
+
+ default_layer {
+ 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 &HM1(A) &HM2(O) &HM3(E) &HM4(U) &kp I &kp D &HM4(H) &HM3(T) &HM2(N) &HM1(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
+ >;
+ };
+
+ dvorak_layer {
+ label = "QWERTY";
+ // 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 &HM1(A) &HM2(S) &HM3(D) &HM4(F) &kp G &kp H &HM4(J) &HM3(K) &HM2(L) &HM1(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
+ >;
+ };
+
+ 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
+
+ R4X SPACEKEY TX &mo UPR &kp LSHIFT 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
+ >;
+ };
+
+ 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
+
+ R4X &trans &trans SPACEKEY 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
+
+ R4X &trans &trans SPACEKEY TX &trans &trans R4Z
+ >;
+ };
+
+ mouse_layer {
+ // 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
+
+ R4X &trans &trans SPACEKEY 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
+ >;
+ };
+
+ 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
+ >;
+ };
+
+ 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
+ R3X FUNC_KEYS R3Z
+ R4X &trans &trans SPACEKEY TX &trans &trans R4Z
+ >;
+ };
+
+ };
+};
diff --git a/config/corneish_zen.conf b/config/corneish_zen.conf
index bb73eb7..f34ae05 100644
--- a/config/corneish_zen.conf
+++ b/config/corneish_zen.conf
@@ -1,9 +1,26 @@
-# go to sleep after one hour (1*60*60*1000ms)
-CONFIG_ZMK_IDLE_SLEEP_TIMEOUT=3600000
+# Set sleep timeout to 30min (30*60*1000ms)
+CONFIG_ZMK_SLEEP=y
+CONFIG_ZMK_IDLE_SLEEP_TIMEOUT=1800000
-# Turn on logging, and set ZMK logging to debug output
-# CONFIG_ZMK_USB_LOGGING=y
+# Zen display tweaks, requires patches by caksoylar
+CONFIG_ZMK_DISPLAY_FULL_REFRESH_PERIOD=300
+CONFIG_ZMK_DISPLAY_HIDE_MOMENTARY_LAYERS=y
+CONFIG_CUSTOM_WIDGET_LAYER_STATUS_HIDE_HEADING=y
+
+# Mouse config, requires PR #778
+CONFIG_ZMK_MOUSE=y
+CONFIG_ZMK_MOUSE_TICK_DURATION=8
+
+# Combo config, automated by build script
+CONFIG_ZMK_COMBO_MAX_COMBOS_PER_KEY=6
+CONFIG_ZMK_COMBO_MAX_KEYS_PER_COMBO=3
-# Layer status updates too frequently for the display.
-CONFIG_ZMK_WIDGET_LAYER_STATUS=n
-CONFIG_CUSTOM_WIDGET_LAYER_STATUS=n
+# Windows battery reporting fix
+# CONFIG_BT_GATT_ENFORCE_SUBSCRIPTION=n
+
+# Clear all bluetooth bonds on start up
+# CONFIG_ZMK_BLE_CLEAR_BONDS_ON_START=y
+
+# Turn on logging
+# CONFIG_ZMK_USB_LOGGING=y
+# CONFIG_LOG_PROCESS_THREAD_STARTUP_DELAY_MS=8000 \ No newline at end of file
diff --git a/config/corneish_zen.keymap b/config/corneish_zen.keymap
index dedaed1..cac421f 100644
--- a/config/corneish_zen.keymap
+++ b/config/corneish_zen.keymap
@@ -1,189 +1,12 @@
-;; -*- mode: dts-mode; tab-width: 2 -*-
+// -*- mode: dts-mode; tab-width: 2 -*-
#include <behaviors.dtsi>
-#include <dt-bindings/zmk/keys.h>
-#include <dt-bindings/zmk/bt.h>
-#include <dt-bindings/zmk/mouse.h>
/ {
chosen {
- zmk,matrix_transform = &default_transform;
- //zmk,matrix_transform = &five_column_transform;
+ //zmk,matrix_transform = &default_transform;
+ zmk,matrix_transform = &five_column_transform;
};
};
-#define DV 0
-#define QW 1
-#define GAMING 2
-#define LOW 3
-#define UPR 4
-#define NAV 5
-#define MOUSE 6
-#define QVLOW 7
-#define GAMELOW 8
-#define FN 9
-#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
-// #define HM1(k) kp k
-// #define HM2(k) kp k
-// #define HM3(k) kp k
-// #define HM4(k) kp k
+#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
-&caps_word {
- continue-list = <UNDERSCORE MINUS>;
-};
-
-/ {
- 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>;
- };
- };
-
- conditional_layers {
- compatible = "zmk,conditional-layers";
- fn_layer {
- if-layers = <LOW UPR>;
- then-layer = <FN>;
- };
- qwlow_layer {
- if-layers = <QW LOW>;
- then-layer = <QVLOW>;
- };
- gamelow_layer {
- if-layers = <GAMING LOW>;
- then-layer = <GAMELOW>;
- };
- };
-
- keymap {
- compatible = "zmk,keymap";
-
- default_layer {
- label = "DVORAK";
- // DV - Dvorak layer
- bindings = <
- &kp TAB &kp SQT &kp COMMA &kp DOT &kp P &kp Y &kp F &kp G &kp C &kp R &kp L &trans
- &kp LCTRL &HM1(A) &HM2(O) &HM3(E) &HM4(U) &kp I &kp D &HM4(H) &HM3(T) &HM2(N) &HM1(S) &trans
- &kp LSHFT &kp SEMI &kp Q &kp J &kp K &kp X &kp B &kp M &kp W &kp V &kp Z &trans
- &mo MOUSE &mo LOW &kp SPACE &kp SPACE &mo UPR &mo NAV
- >;
- };
-
- dvorak_layer {
- label = "QWERTY";
- // 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 = <
- &kp TAB &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &trans
- &kp LCTRL &HM1(A) &HM2(S) &HM3(D) &HM4(F) &kp G &kp H &HM4(J) &HM3(K) &HM2(L) &HM1(SEMI) &trans
- &kp LSHFT &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp COMMA &kp DOT &kp SLASH &trans
- &mo MOUSE &mo LOW &kp SPACE &kp SPACE &mo UPR &mo NAV
- >;
- };
-
- gaming_layer {
- label = "GAMING";
- bindings = <
- &kp TAB &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &trans
- &kp LCTRL &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SEMI &trans
- &kp LSHFT &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp COMMA &kp DOT &kp SLASH &trans
-
- &kp SPACE &mo LOW &kp SPACE &kp SPACE &mo UPR &mo NAV
- >;
- };
-
- lower_layer {
- 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 FSLH &kp UNDER &kp PLUS &kp LBRC &kp RBRC &trans
- &trans &kp GRAVE &kp TILDE &kp TAB &kp ESC &kp PIPE &kp QMARK &kp MINUS &kp EQUAL &kp LBKT &kp RBKT &trans
- &trans &trans &trans &trans &trans &trans
- >;
- };
-
- raise_layer {
- 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 &trans &trans
- >;
- };
-
- navigation_layer {
- bindings = <
- &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
- &trans &trans &trans &trans &trans &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
- >;
- };
-
- mouse_layer {
- // Waiting for https://github.com/zmkfirmware/zmk/pull/778
- // Using fork at https://github.com/ftc/zmk/blob/mouse-ftc
- bindings = <
- &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
- &trans &mkp MB4 &mkp MB3 &mkp MB2 &mkp MB1 &trans &trans &kp LEFT &kp DOWN &kp UP &kp RIGHT &trans
- &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
-
- &trans &trans &trans &trans &trans
- >;
- };
-
- qwerty_lower_layer {
- 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 &trans
- >;
- };
-
- gaming_lower_layer {
- bindings = <
- &trans &kp N1 &kp N2 &kp N3 &kp N4 &kp N9 &trans &trans &trans &trans &trans &trans
- &trans &kp N5 &kp N6 &kp N7 &kp N8 &kp N0 &trans &trans &trans &trans &trans &trans
- &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
- &trans &trans &trans &trans &trans &trans
- >;
- };
-
- function_layer {
- 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 &to GAMING &to DV &to QW &trans &trans &trans &trans &trans &trans
- &trans &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 &bt BT_CLR &trans &trans &trans &trans
- &trans &trans &trans &trans &trans &trans
- >;
- };
-
- };
-};
+#include "base.keymap"
diff --git a/config/extra_keys.h b/config/extra_keys.h
new file mode 100644
index 0000000..c187f96
--- /dev/null
+++ b/config/extra_keys.h
@@ -0,0 +1,39 @@
+#if !defined R1X
+#define R1X
+#endif
+
+#if !defined R2X
+#define R2X
+#endif
+
+#if !defined R3X
+#define R3X
+#endif
+
+#if !defined R4X
+#define R4X
+#endif
+
+#if !defined R1Z
+#define R1Z
+#endif
+
+#if !defined R2Z
+#define R2Z
+#endif
+
+#if !defined R3Z
+#define R3Z
+#endif
+
+#if !defined R4Z
+#define R4Z
+#endif
+
+#if !defined TX
+#define TX SPACEKEY
+#endif
+
+#if !defined FUNC_KEYS
+#define FUNC_KEYS &none &none &none &none &none &none &none &none &none &none
+#endif
diff --git a/config/planck_rev6.keymap b/config/planck_rev6.keymap
index 036e6f8..76531dc 100644
--- a/config/planck_rev6.keymap
+++ b/config/planck_rev6.keymap
@@ -1,4 +1,4 @@
-;; -*- mode: dts-mode; tab-width: 2 -*-
+// -*- mode: dts-mode; tab-width: 2 -*-
#include <behaviors.dtsi>
#include <dt-bindings/zmk/keys.h>
diff --git a/config/reviung41.conf b/config/reviung41.conf
index 81f2702..3f627f2 100644
--- a/config/reviung41.conf
+++ b/config/reviung41.conf
@@ -1,13 +1,14 @@
-# Uncomment the following lines to enable RGB underglow
CONFIG_ZMK_SLEEP=y
CONFIG_ZMK_IDLE_TIMEOUT=5000
CONFIG_ZMK_IDLE_SLEEP_TIMEOUT=900000
-CONFIG_ZMK_RGB_UNDERGLOW=y
-CONFIG_WS2812_STRIP=y
-CONFIG_ZMK_RGB_UNDERGLOW_ON_START=n
-CONFIG_ZMK_RGB_UNDERGLOW_EFF_START=1
-CONFIG_ZMK_RGB_UNDERGLOW_SPD_START=1
-CONFIG_ZMK_RGB_UNDERGLOW_BRT_START=10
-CONFIG_ZMK_RGB_UNDERGLOW_SAT_START=10
-CONFIG_ZMK_RGB_UNDERGLOW_HUE_START=0
-CONFIG_ZMK_MOUSE=y \ No newline at end of file
+CONFIG_ZMK_MOUSE=y
+
+# Uncomment the following lines to enable RGB underglow
+# CONFIG_ZMK_RGB_UNDERGLOW=y
+# CONFIG_WS2812_STRIP=y
+# CONFIG_ZMK_RGB_UNDERGLOW_ON_START=n
+# CONFIG_ZMK_RGB_UNDERGLOW_EFF_START=1
+# CONFIG_ZMK_RGB_UNDERGLOW_SPD_START=1
+# CONFIG_ZMK_RGB_UNDERGLOW_BRT_START=10
+# CONFIG_ZMK_RGB_UNDERGLOW_SAT_START=10
+# CONFIG_ZMK_RGB_UNDERGLOW_HUE_START=0
diff --git a/config/reviung41.keymap b/config/reviung41.keymap
index baf7268..e0596bb 100644
--- a/config/reviung41.keymap
+++ b/config/reviung41.keymap
@@ -1,233 +1,36 @@
-;; -*- mode: dts-mode; tab-width: 2 -*-
-#include <behaviors.dtsi>
-#include <dt-bindings/zmk/keys.h>
-#include <dt-bindings/zmk/bt.h>
-#include <dt-bindings/zmk/rgb.h>
-#include <dt-bindings/led/led.h>
-#include <dt-bindings/zmk/mouse.h>
-
-&spi1 {
- compatible = "nordic,nrf-spim";
- status = "okay";
- mosi-pin = <6>;
- // Unused pins, needed for SPI definition, but not used by the ws2812 driver itself.
- sck-pin = <5>;
- miso-pin = <7>;
-
- led_strip: ws2812@0 {
- compatible = "worldsemi,ws2812-spi";
- label = "WS2812";
-
- /* SPI */
- reg = <0>; /* ignored, but necessary for SPI bindings */
- spi-max-frequency = <4000000>;
-
- /* WS2812 */
- chain-length = <11>; /* arbitrary; change at will */
- spi-one-frame = <0x70>;
- spi-zero-frame = <0x40>;
- color-mapping = <LED_COLOR_ID_GREEN LED_COLOR_ID_RED LED_COLOR_ID_BLUE>;
- };
-};
-
-/ {
- chosen {
- zmk,underglow = &led_strip;
- };
-};
-
-#define QW 0
-#define DV 1
-#define GAMING 2
-#define LOW 3
-#define UPR 4
-#define NAV 5
-#define MOUSE 6
-#define DVLOW 7
-#define GAMELOW 8
-#define FN 9
-
-#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
-// #define HM1(k) kp k
-// #define HM2(k) kp k
-// #define HM3(k) kp k
-// #define HM4(k) kp k
-
-&caps_word {
- continue-list = <UNDERSCORE MINUS>;
-};
-
-/ {
- 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>;
- };
- };
-
- conditional_layers {
- compatible = "zmk,conditional-layers";
- fn_layer {
- if-layers = <LOW UPR>;
- then-layer = <FN>;
- };
- dvlow_layer {
- if-layers = <DV LOW>;
- then-layer = <DVLOW>;
- };
- gamelow_layer {
- if-layers = <GAMING LOW>;
- then-layer = <GAMELOW>;
- };
- };
-
- 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 = <
- &kp TAB &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &trans
- &kp LCTRL &HM1(A) &HM2(S) &HM3(D) &HM4(F) &kp G &kp H &HM4(J) &HM3(K) &HM2(L) &HM1(SEMI) &trans
- &kp LSHFT &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp COMMA &kp DOT &kp SLASH &trans
-
- &mo MOUSE &mo LOW &kp SPACE &mo UPR &mo NAV
- >;
- };
-
- dvorak_layer {
- // DV - Dvorak layer
- bindings = <
- &kp TAB &kp SQT &kp COMMA &kp DOT &kp P &kp Y &kp F &kp G &kp C &kp R &kp L &trans
- &kp LCTRL &HM1(A) &HM2(O) &HM3(E) &HM4(U) &kp I &kp D &HM4(H) &HM3(T) &HM2(N) &HM1(S) &trans
- &kp LSHFT &kp SEMI &kp Q &kp J &kp K &kp X &kp B &kp M &kp W &kp V &kp Z &trans
- &mo MOUSE &mo LOW &kp SPACE &mo UPR &mo NAV
- >;
- };
-
- gaming_layer {
- bindings = <
- &kp TAB &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &trans
- &kp LCTRL &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SEMI &trans
- &kp LSHFT &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp COMMA &kp DOT &kp SLASH &trans
-
- &kp SPACE &mo LOW &kp SPACE &mo UPR &mo NAV
- >;
- };
-
- lower_layer {
- 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
- >;
- };
-
- raise_layer {
- 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 &trans
- >;
- };
-
- navigation_layer {
- bindings = <
- &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
- &trans &trans &trans &trans &trans &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
- >;
- };
-
- mouse_layer {
- // Waiting for https://github.com/zmkfirmware/zmk/pull/778
- // Using fork at https://github.com/ftc/zmk/blob/mouse-ftc
- bindings = <
- &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
- &trans &mkp MB4 &mkp MB3 &mkp MB2 &mkp MB1 &trans &trans &kp LEFT &kp DOWN &kp UP &kp RIGHT &trans
- &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
-
- &trans &trans &trans &trans &trans
- >;
- };
-
- dvorak_lower_layer {
- 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 FSLH &kp UNDER &kp PLUS &kp LBRC &kp RBRC &trans
- &trans &kp GRAVE &kp TILDE &kp TAB &kp ESC &kp PIPE &kp QMARK &kp MINUS &kp EQUAL &kp LBKT &kp RBKT &trans
-
- &trans &trans &trans &trans &trans
- >;
- };
-
- gaming_lower_layer {
- bindings = <
- &trans &kp N1 &kp N2 &kp N3 &kp N4 &kp N9 &trans &trans &trans &trans &trans &trans
- &trans &kp N5 &kp N6 &kp N7 &kp N8 &kp N0 &trans &trans &trans &trans &trans &trans
- &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
-
- &trans &trans &trans &trans &trans
- >;
- };
-
- function_layer {
- 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 &to GAMING &to DV &to QW &rgb_ug RGB_TOG &trans &rgb_ug RGB_EFF &rgb_ug RGB_HUI &rgb_ug RGB_SAI &rgb_ug RGB_BRI
- &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 &bt BT_CLR &trans &trans &rgb_ug RGB_EFR &rgb_ug RGB_HUD &rgb_ug RGB_SAD &rgb_ug RGB_BRD
-
- &trans &trans &trans &trans &trans
- >;
- };
-
-
- // adjust_layer {
- // -----------------------------------------------------------------------------------------
- // | RGB BRI+ | RGB SAT+ | RGB HUE+ | RGB ANI+ | | RGB TOG | | BT1 | BT2 | BT3 | BT4 | BT5 | BT CLR |
- // | RGB BRI- | RGB SAT- | RGB HUE- | RGB ANI- | | | | | | | | | |
- // | | | | | | | | RESET | | | | | |
- // | | | | | |
- // bindings = <
- // &rgb_ug RGB_BRI &rgb_ug RGB_SAI &rgb_ug RGB_HUI &rgb_ug RGB_EFF &none &rgb_ug RGB_TOG &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 &bt BT_CLR
- // &rgb_ug RGB_BRD &rgb_ug RGB_SAD &rgb_ug RGB_HUD &rgb_ug RGB_EFR &none &none &none &none &none &none &none &none
- // &none &none &none &none &none &none &reset &none &none &none &none &none
- // &trans &trans &tog 3 &trans &trans
- // >;
- // };
- // };
-};
-};
+// -*- mode: dts-mode; tab-width: 2 -*-
+#define R1X &none
+#define R2X &none
+#define R3X &none
+#define R1Z &none
+#define R2Z &none
+#define R3Z &none
+// No extra space key.
+#define TX
+#define FUNC_KEYS &none &none &none &none &none &none &none &none &none &none
+
+#include "base.keymap"
+
+// &spi1 {
+// compatible = "nordic,nrf-spim";
+// status = "okay";
+// mosi-pin = <6>;
+// // Unused pins, needed for SPI definition, but not used by the ws2812 driver itself.
+// sck-pin = <5>;
+// miso-pin = <7>;
+//
+// led_strip: ws2812@0 {
+// compatible = "worldsemi,ws2812-spi";
+// label = "WS2812";
+//
+// /* SPI */
+// reg = <0>; /* ignored, but necessary for SPI bindings */
+// spi-max-frequency = <4000000>;
+//
+// /* WS2812 */
+// chain-length = <11>; /* arbitrary; change at will */
+// spi-one-frame = <0x70>;
+// spi-zero-frame = <0x40>;
+// color-mapping = <LED_COLOR_ID_GREEN LED_COLOR_ID_RED LED_COLOR_ID_BLUE>;
+// };
+// };