diff options
author | Kjetil Orbekk <kj@orbekk.com> | 2023-05-12 16:07:09 -0400 |
---|---|---|
committer | Kjetil Orbekk <kj@orbekk.com> | 2023-05-12 16:07:09 -0400 |
commit | 96318f1d793d02faf4b9bfc8552de2b6c8078325 (patch) | |
tree | 826c901df6463a1a53f5180a521b350475b027e0 | |
parent | 025d3b647b88c717311a10e7362ba2940cbfaefb (diff) |
update keymaps
-rw-r--r-- | config/base.keymap | 202 | ||||
-rw-r--r-- | config/corneish_zen.conf | 31 | ||||
-rw-r--r-- | config/corneish_zen.keymap | 187 | ||||
-rw-r--r-- | config/extra_keys.h | 39 | ||||
-rw-r--r-- | config/planck_rev6.keymap | 2 | ||||
-rw-r--r-- | config/reviung41.conf | 21 | ||||
-rw-r--r-- | config/reviung41.keymap | 269 |
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>; +// }; +// }; |