commit 9cd02180ac399eb6c7b3661368ee2bfabe8e723a
parent c36c214dae92c1eccb6c9469fb7ba67fb641f8c3
Author: Chris <chris@echoz.io>
Date: Thu, 11 Dec 2025 06:03:21 +0100
feat: customize layout
Diffstat:
2 files changed, 91 insertions(+), 86 deletions(-)
diff --git a/config/helix.conf b/config/helix.conf
@@ -1,5 +1,3 @@
-# Copyright (c) 2020 The ZMK Contributors
-# SPDX-License-Identifier: MIT
-
-# Enables RGB functionality (Uncomment lines below to enable.)
-# CONFIG_ZMK_RGB_UNDERGLOW=y
+CONFIG_ZMK_KEYBOARD_NAME=FelixKeeb
+CONFIG_ZMK_DISPLAY=y
+CONFIG_ZMK_SETTINGS_RESET_ON_START=y
diff --git a/config/helix.keymap b/config/helix.keymap
@@ -1,9 +1,3 @@
-/*
- * Copyright (c) 2020 The ZMK Contributors
- *
- * SPDX-License-Identifier: MIT
- */
-
#include <behaviors.dtsi>
#include <dt-bindings/zmk/keys.h>
#include <dt-bindings/zmk/bt.h>
@@ -11,82 +5,95 @@
#include <dt-bindings/zmk/ext_power.h>
#include <dt-bindings/zmk/outputs.h>
- #define DEFAULT 0
- #define LOWER 1
- #define RAISE 2
- #define ADJUST 3
+/ {
+ keymap {
+ compatible = "zmk,keymap";
+
+ layer-0 {
+ bindings = <
+ /* `~ 1! 2@ 3# 4$ 5% 6^ 7& 8* 9( 0) delete
+ */ &kp GRAVE &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp DEL
+ /* tab qQ wW eE rR tT yY uU iI oO pP \|
+ */ &kp TAB &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &kp BSLH
+ /* escape aA sS dD fF gG hH jJ kK lL ;: '"
+ */ &kp ESC &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SEMI &kp SQT
+ /* shift zZ xX cC vV bB super super nN mM ,< .> /? shift
+ */ &kp LSHFT &kp Z &kp X &kp C &kp V &kp B &kp LGUI &kp RBKT &kp N &kp M &kp COMMA &kp PERIOD &kp SLASH &kp RET
+ /* ctrl mo1 alt space back tab enter compose mo2 ctrl
+ */ &kp LCTRL &trans &trans &mo 1 &kp LALT &kp SPACE &kp BSPC &kp TAB &kp RET &kp RALT &mo 2 &trans &trans &kp RCTRL
+ >;
+ };
-/* NOTE: At the time of the creation of this keymap, there are no specified codes for 'eisuu' and 'kana' input in ZMK.
-However, 'LANG1' and 'LANG2' are fully-functioning candidates for 'kana' and 'eisuu' input respectively.
-As such, those are in use within the default layer at this time.*/
+ layer-1 {
+ bindings = <
+ /* F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12
+ */ &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &kp F7 &kp F8 &kp F9 &kp F10 &kp F11 &kp F12
+ /* vol+ vol-
+ */ &trans &trans &kp C_VOL_UP &kp C_VOL_DN &trans &trans &trans &trans &trans &trans &trans &trans
+ /* left up down right home pgdn pgup end
+ */ &trans &kp LEFT &kp UP &kp DOWN &kp RIGHT &trans &kp HOME &kp PG_DN &kp PG_UP &kp END &trans &trans
+ /* previous mute play/pause next
+ */ &trans &kp C_PREV &kp C_MUTE &kp C_PP &kc C_NEXT &trans &trans &trans &trans &trans &trans &trans &trans &trans
+ /* mo4 mo3
+ */ &mo 4 &trans &trans &trans &trans &trans &trans &trans &trans &trans &mo 3 &trans &trans &trans
+ >;
+ };
-/ {
- keymap {
- compatible = "zmk,keymap";
+ layer-2 {
+ bindings = <
+ /*
+ */ &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
+ /* walk
+ */ &trans &trans &walk &trans &trans &trans &trans &trans &trans &trans &trans &trans
+ /* { [ ] } _ - = +
+ */ &trans &kp LBRC &kp LBKT &kp RBKT &kp RBRC &trans &trans &kp UNDER &kp MINUS &kp EQUAL &kp PLUS &trans
+ /*
+ */ &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
+ /* mo3
+ */ &trans &trans &trans &mo 3 &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
+ >;
+ };
+
+ layer-3 {
+ bindings = <
+ /*
+ */ &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
+ /* run
+ */ &trans &trans &run &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 &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
+ >;
+ };
+
+ layer-4 {
+ bindings = <
+ /* bt clear toggle external power
+ */ &bt BT_CLR &trans &trans &trans &trans &ext_power EP_TOG &trans &trans &trans &trans &trans &trans
+ /* usb/bt toggle
+ */ &out OUT_TOG &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
+ /* bt next
+ */ &bt BT_NXT &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
+ /* bt prev
+ */ &bt BT_PRV &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
+ >;
+ };
+ };
+
+ macros {
+ walk: walk {
+ compatible = "zmk,behavior-macro";
+ bindings = <¯o_press &kp W>;
+ };
- default_layer {
- display-name = "Default Layer";
- // ---------------------------------------------------------------------------------------------------------------------------------
- // | GRAVE | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | DEL |
- // | TAB | Q | W | E | R | T | | Y | U | I | O | P | BSPC |
- // | CTRL | A | S | D | F | G | | H | J | K | L | ; | ' |
- // | SHIFT | Z | X | C | V | B | LBKT | | RBKT | N | M | , | . | / | RET |
- // | ADJUST | ESC | ALT | LGUI | EISUU | LOWER | SPACE | | SPACE | RAISE | KANA | LEFT | DOWN | UP | RIGHT |
- bindings = <
- &kp GRAVE &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp DEL
- &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 LBKT &kp RBKT &kp N &kp M &kp COMMA &kp PERIOD &kp SLASH &kp RET
- &mo ADJUST &kp ESC &kp LALT &kp LGUI &kp LANG2 &mo LOWER &kp SPACE &kp SPACE &mo RAISE &kp LANG1 &kp LEFT &kp DOWN &kp UP &kp RIGHT
- >;
- };
- lower_layer {
- display-name = "Lower Layer";
- // ---------------------------------------------------------------------------------------------------------------------------------
- // | | | | | | | | | | | | | |
- // | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | |
- // | | | | | | | | | _ | + | { | } | PIPE |
- // | | | | | | | ( | | ) | | | | HOME | END | |
- // | | | | | | | | | | | | | | | |
- bindings = <
- &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
- &kp TILDE &kp EXCL &kp AT &kp HASH &kp DLLR &kp PRCNT &kp CARET &kp AMPS &kp ASTRK &kp LPAR &kp RPAR &trans
- &trans &trans &trans &trans &trans &trans &trans &kp UNDER &kp PLUS &kp LBRC &kp RBRC &kp PIPE
- &trans &trans &trans &trans &trans &trans &kp LPAR &kp RPAR &trans &trans &trans &kp HOME &kp END &trans
- &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
- >;
- };
- raise_layer {
- display-name = "Raise Layer";
- // ---------------------------------------------------------------------------------------------------------------------------------
- // | | | | | | | | | | | | | |
- // | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | DEL |
- // | | F1 | F2 | F3 | F4 | F5 | | F6 | - | = | [ | ] | \ |
- // | | F7 | F8 | F9 | F10 | F11 | | | | F12 | | PSCRN | PG_DN | PG_UP | |
- // | | | | | | | | | | | | NEXT | VOL- | VOL+ | PLAY |
- bindings = <
- &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
- &kp GRAVE &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp DEL
- &trans &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &kp MINUS &kp EQUAL &kp LBKT &kp RBKT &kp BSLH
- &trans &kp F7 &kp F8 &kp F9 &kp F10 &kp F11 &trans &trans &kp F12 &trans &kp PSCRN &kp PG_DN &kp PG_UP &trans
- &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &kp C_NEXT &kp C_VOL_DN &kp C_VOL_UP &kp C_PP
- >;
- };
- adjust_layer {
- display-name = "Adjust Layer";
- // ---------------------------------------------------------------------------------------------------------------------------------
- // | ` | ! | @ | # | $ | % | | ^ | & | * | ( | ) | EP TOG |
- // | BT CLR | BT SEL0 | BT SEL1 | BT SEL2 | BGT SEL3 | BT SEL4 | | RGB EFF+ | RGB HUE+ | RGB SAT+ | RGB SPD+ | RGB BRI+ | RGB TOG |
- // | BT NXT | OUT TOG | OUT USB | OUT BLE | | | | RGB EFF- | RGB HUE- | RGB SAT- | RGB SPD- | RGB BRI- | |
- // | BT PRV | | | | | | { | | } | | | | | | |
- // | | | | | | | | | | | | | | | |
- bindings = <
- &kp GRAVE &kp EXCL &kp AT &kp HASH &kp DLLR &kp PRCNT &kp CARET &kp AMPS &kp ASTRK &kp LPAR &kp RPAR &ext_power EP_TOG
- &bt BT_CLR &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 &rgb_ug RGB_EFF &rgb_ug RGB_HUI &rgb_ug RGB_SAI &rgb_ug RGB_SPI &rgb_ug RGB_BRI &rgb_ug RGB_TOG
- &bt BT_NXT &out OUT_TOG &out OUT_USB &out OUT_BLE &trans &trans &rgb_ug RGB_EFR &rgb_ug RGB_HUD &rgb_ug RGB_SAD &rgb_ug RGB_SPD &rgb_ug RGB_BRD &trans
- &bt BT_PRV &trans &trans &trans &trans &trans &kp LBRC &kp RBRC &trans &trans &trans &trans &trans &trans
- &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
- >;
- };
- };
+ run: run {
+ compatible = "zmk,behavior-macro";
+ bindings = <¯o_press &kp LSHIFT>, <¯o_press &kp W>;
+ };
+ };
};