zmk-config

FelixKeeb ZMK firmware
git clone https://git.echoz.io/zmk-config.git
Log | Files | Refs

commit 9cd02180ac399eb6c7b3661368ee2bfabe8e723a
parent c36c214dae92c1eccb6c9469fb7ba67fb641f8c3
Author: Chris <chris@echoz.io>
Date:   Thu, 11 Dec 2025 06:03:21 +0100

feat: customize layout

Diffstat:
Mconfig/helix.conf | 8+++-----
Mconfig/helix.keymap | 169+++++++++++++++++++++++++++++++++++++++++--------------------------------------
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 = <&macro_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 = <&macro_press &kp LSHIFT>, <&macro_press &kp W>; + }; + }; };