all recent config changes

This commit is contained in:
Sebastian Moser
2026-09-16 21:34:44 +00:00
parent 8898b126cd
commit 28986507c9
109 changed files with 10715 additions and 8859 deletions

2
zmk-config/.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
.zmk/

16
zmk-config/Dockerfile Normal file
View File

@@ -0,0 +1,16 @@
FROM zmkfirmware/zmk-dev-generic:4.1-branch
RUN apt update
RUN apt install -y vim
RUN mkdir -p /opt && wget -qO- https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v0.16.9/zephyr-sdk-0.16.9_linux-x86_64.tar.xz | tar -xJ -C /opt
ENV IS_MINIMAL=1
ENV HOSTNAME=zmk-builder
ENV BASH_ENV=/config/hosts/main/bashrc
RUN /opt/zephyr-sdk-0.16.9/setup.sh -h -c
ENV buildCmd="west build -- -DBOARD=nice_nano_v2 -DSHIELD=charybdis_left -DZMK_CONFIG=/config/zmk-config/config/ -DZMK_EXTRA_MODULES=/config/zmk-config"

View File

@@ -1,51 +1,137 @@
#include <dt-bindings/zmk/matrix_transform.h>
#include <dt-bindings/zmk/input_transform.h>
#include <input/processors.dtsi>
#include <physical_layouts.dtsi>
/ {
chosen {
zmk,kscan = &kscan0;
zmk,matrix_transform = &default_transform;
};
zmk,kscan = &kscan0;
zmk,physical-layout = &charybdis_6col_layout;
};
vbatt: vbatt {
compatible = "zmk,battery-nrf-vddh";
compatible = "zmk,battery-nrf-vddh";
};
default_transform: keymap_transform_0 {
compatible = "zmk,matrix-transform";
columns = <12>;
rows = <4>;
compatible = "zmk,matrix-transform";
columns = <12>;
rows = <5>;
map = <
RC(0,0) RC(0,1) RC(0,2) RC(0,3) RC(0,4) RC(0,5) RC(0,11) RC(0,10) RC(0,9) RC(0,8) RC(0,7) RC(0,6)
RC(1,0) RC(1,1) RC(1,2) RC(1,3) RC(1,4) RC(1,5) RC(1,11) RC(1,10) RC(1,9) RC(1,8) RC(1,7) RC(1,6)
RC(2,0) RC(2,1) RC(2,2) RC(2,3) RC(2,4) RC(2,5) RC(2,11) RC(2,10) RC(2,9) RC(2,8) RC(2,7) RC(2,6)
RC(3,3) RC(3,4) RC(3,1) RC(3,7) RC(3,9)
>;
map = <
RC(0,0) RC(0,1) RC(0,2) RC(0,3) RC(0,4) RC(0,5) RC(0,6) RC(0,7) RC(0,8) RC(0,9) RC(0,10) RC(0,11)
RC(1,0) RC(1,1) RC(1,2) RC(1,3) RC(1,4) RC(1,5) RC(1,6) RC(1,7) RC(1,8) RC(1,9) RC(1,10) RC(1,11)
RC(2,0) RC(2,1) RC(2,2) RC(2,3) RC(2,4) RC(2,5) RC(2,6) RC(2,7) RC(2,8) RC(2,9) RC(2,10) RC(2,11)
RC(3,0) RC(3,1) RC(3,2) RC(3,3) RC(3,4) RC(3,5) RC(3,6) RC(3,7) RC(3,8) RC(3,9) RC(3,10) RC(3,11)
RC(4,1) RC(4,2) RC(4,3) RC(4,4) RC(4,5) RC(4,6) RC(4,8) RC(4,10)
>;
};
five_column_transform: keymap_transform_1 {
compatible = "zmk,matrix-transform";
columns = <10>;
rows = <4>;
map = <
RC(0,1) RC(0,2) RC(0,3) RC(0,4) RC(0,5) RC(0,10) RC(0,9) RC(0,8) RC(0,7) RC(0,6)
RC(1,1) RC(1,2) RC(1,3) RC(1,4) RC(1,5) RC(1,10) RC(1,9) RC(1,8) RC(1,7) RC(1,6)
RC(2,1) RC(2,2) RC(2,3) RC(2,4) RC(2,5) RC(2,10) RC(2,9) RC(2,8) RC(2,7) RC(2,6)
RC(3,3) RC(3,4) RC(3,1) RC(3,6) RC(3,8)
>;
};
kscan0: kscan {
compatible = "zmk,kscan-gpio-matrix";
label = "KSCAN";
compatible = "zmk,kscan-gpio-matrix";
label = "KSCAN";
diode-direction = "row2col";
row-gpios
= <&pro_micro 21 GPIO_ACTIVE_HIGH>
, <&pro_micro 18 GPIO_ACTIVE_HIGH>
, <&pro_micro 5 GPIO_ACTIVE_HIGH>
, <&pro_micro 4 GPIO_ACTIVE_HIGH>
, <&pro_micro 9 GPIO_ACTIVE_HIGH>
;
};
diode-direction = "row2col";
row-gpios
= <&pro_micro 18 GPIO_ACTIVE_HIGH>
, <&pro_micro 5 GPIO_ACTIVE_HIGH>
, <&pro_micro 4 GPIO_ACTIVE_HIGH>
, <&pro_micro 9 GPIO_ACTIVE_HIGH>
charybdis_6col_layout: charybdis_6col_layout {
compatible = "zmk,physical-layout";
display-name = "Charybdis 4x6";
transform = <&default_transform>;
keys
// Left Half - Main Keys
// w h x y rot rx ry
= <&key_physical_attrs 100 100 0 38 0 0 0>
, <&key_physical_attrs 100 100 100 38 0 0 0>
, <&key_physical_attrs 100 100 200 12 0 0 0>
, <&key_physical_attrs 100 100 300 0 0 0 0>
, <&key_physical_attrs 100 100 400 12 0 0 0>
, <&key_physical_attrs 100 100 500 12 0 0 0>
, <&key_physical_attrs 100 100 900 12 0 0 0>
, <&key_physical_attrs 100 100 1000 12 0 0 0>
, <&key_physical_attrs 100 100 1100 0 0 0 0>
, <&key_physical_attrs 100 100 1200 12 0 0 0>
, <&key_physical_attrs 100 100 1300 38 0 0 0>
, <&key_physical_attrs 100 100 1400 38 0 0 0>
, <&key_physical_attrs 100 100 0 138 0 0 0>
, <&key_physical_attrs 100 100 100 138 0 0 0>
, <&key_physical_attrs 100 100 200 112 0 0 0>
, <&key_physical_attrs 100 100 300 100 0 0 0>
, <&key_physical_attrs 100 100 400 112 0 0 0>
, <&key_physical_attrs 100 100 500 112 0 0 0>
, <&key_physical_attrs 100 100 900 112 0 0 0>
, <&key_physical_attrs 100 100 1000 112 0 0 0>
, <&key_physical_attrs 100 100 1100 100 0 0 0>
, <&key_physical_attrs 100 100 1200 112 0 0 0>
, <&key_physical_attrs 100 100 1300 138 0 0 0>
, <&key_physical_attrs 100 100 1400 138 0 0 0>
, <&key_physical_attrs 100 100 0 238 0 0 0>
, <&key_physical_attrs 100 100 100 238 0 0 0>
, <&key_physical_attrs 100 100 200 212 0 0 0>
, <&key_physical_attrs 100 100 300 200 0 0 0>
, <&key_physical_attrs 100 100 400 212 0 0 0>
, <&key_physical_attrs 100 100 500 212 0 0 0>
, <&key_physical_attrs 100 100 900 212 0 0 0>
, <&key_physical_attrs 100 100 1000 212 0 0 0>
, <&key_physical_attrs 100 100 1100 200 0 0 0>
, <&key_physical_attrs 100 100 1200 212 0 0 0>
, <&key_physical_attrs 100 100 1300 238 0 0 0>
, <&key_physical_attrs 100 100 1400 238 0 0 0>
, <&key_physical_attrs 100 100 0 338 0 0 0>
, <&key_physical_attrs 100 100 100 338 0 0 0>
, <&key_physical_attrs 100 100 200 312 0 0 0>
, <&key_physical_attrs 100 100 300 300 0 0 0>
, <&key_physical_attrs 100 100 400 312 0 0 0>
, <&key_physical_attrs 100 100 500 312 0 0 0>
, <&key_physical_attrs 100 100 900 312 0 0 0>
, <&key_physical_attrs 100 100 1000 312 0 0 0>
, <&key_physical_attrs 100 100 1100 300 0 0 0>
, <&key_physical_attrs 100 100 1200 312 0 0 0>
, <&key_physical_attrs 100 100 1300 338 0 0 0>
, <&key_physical_attrs 100 100 1400 338 0 0 0>
// Thumb Clusters
// Keys array order matches keymap bindings (positions 48-55)
// Left thumb bindings: 48=LALT, 49=LOWER, 50=POINTER, 51=gui_ctrlb, 52=LCTRL
// Right thumb bindings: 53=RET, 54=SYMBOLS, 55=RAISE
// Physical coordinates per actual key positions from keymap comments
// w h x y rot rx ry
, <&key_physical_attrs 100 100 518 420 1500 398 790> // 48 (LALT) - physical: 3rd from left
, <&key_physical_attrs 100 100 482 520 1500 398 790> // 49 (LOWER) - physical: 5th from left
, <&key_physical_attrs 100 100 348 414 900 398 790> // 50 (POINTER) - physical: 1st from left
, <&key_physical_attrs 100 100 418 414 1500 398 790> // 51 (gui_ctrlb) - physical: 2nd from left
, <&key_physical_attrs 100 100 382 514 1500 398 790> // 52 (LCTRL) - physical: 4th from left
, <&key_physical_attrs 100 100 1052 520 (-3000) 1102 790> // 53 (RET) - physical: 3rd from right (bottom)
, <&key_physical_attrs 100 100 1067 414 (-1500) 1102 790> // 54 (SYMBOLS) - physical: 2nd from right (top)
, <&key_physical_attrs 100 100 1052 420 (-3000) 1102 790> // 55 (RAISE) - physical: 1st from right (top)
;
};
charybdis_position_map {
compatible = "zmk,physical-layout-position-map";
complete;
twelve {
physical-layout = <&charybdis_6col_layout>;
positions
= < 0 1 2 3 4 5 6 7 8 9 10 11 >
, <12 13 14 15 16 17 18 19 20 21 22 23 >
, <24 25 26 27 28 29 30 31 32 33 34 35 >
, <36 37 38 39 40 41 42 43 44 45 46 47 >
, < 48 49 50 51 52 53 54 55 >
;
};
};
};

View File

@@ -4,4 +4,4 @@ CONFIG_BT_PERIPHERAL_PREF_MAX_INT=9
CONFIG_BT_PERIPHERAL_PREF_LATENCY=16
CONFIG_BT_BUF_ACL_TX_COUNT=32
CONFIG_BT_L2CAP_TX_BUF_COUNT=32
CONFIG_ZMK_STUDIO=y

View File

@@ -21,7 +21,7 @@
&kp TAB &kp Q &kp W &kp E &kp R &kp T &kp U &kp Y &kp I &kp O &kp P &kp BSPC
&kp ESC &kp A &kp S &kp D &kp F &kp G &kp J &kp H &kp K &kp L &to 1 &kp ENTER
&to 0 &kp Y &kp X &kp C &kp V &kp B &kp M &kp N &kp COMMA &kp DOT &kp FSLH &to 1
&kp LGUI &kp RIGHT_CONTROL &kp SPACE &kp LEFT_SHIFT &mo 1
&kp LGUI &kp RIGHT_CONTROL &mo 1 &kp LEFT_SHIFT &kp SPACE
>;
/* trackball-bindings = <&tmv_coarse>;*/
@@ -58,4 +58,3 @@
};
};
};

View File

@@ -1,7 +0,0 @@
# Uncomment the following lines to enable the Corne RGB Underglow
# CONFIG_ZMK_RGB_UNDERGLOW=y
# CONFIG_WS2812_STRIP=y
# Uncomment the following line to enable the Corne OLED Display
CONFIG_ZMK_DISPLAY=y
CONFIG_ZMK_EXT_POWER=y

View File

@@ -1,68 +0,0 @@
/*
* 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>
#include <dt-bindings/zmk/outputs.h>
/ {
keymap {
compatible = "zmk,keymap";
Base {
// -----------------------------------------------------------------------------------------
// | TAB | Q | W | E | R | T | | Y | U | I | O | P | BKSP |
// | CTRL | A | S | D | F | G | | H | J | K | L | ; | ' |
// | SHFT | Z | X | C | V | B | | N | M | , | . | / | ESC |
// | GUI | LWR | SPC | | ENT | RSE | ALT |
label = "Base";
bindings = <
&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 ESC &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SEMI &kp APOS
&kp LSHFT &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp COMMA &kp DOT &kp FSLH &kp RSHIFT
&kp D &kp E &kp F &kp RET &mo 2 &kp RALT
>;
};
Lower {
// -----------------------------------------------------------------------------------------
// | TAB | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | BKSP |
// | BTCLR| BT1 | BT2 | BT3 | BT4 | BT5 | | LFT | DWN | UP | RGT | | |
// | SHFT | | | | | | | | | | | | |
// | GUI | | SPC | | ENT | | ALT |
label = "Lower";
bindings = <
&kp TAB &kp K_PP &kp UP &kp N1 &kp N2 &kp N3 &kp N7 &kp N8 &kp N9 &kp N0 &kp HOME &trans
&kp LALT &kp LEFT &kp DOWN &kp RIGHT &kp N4 &kp N5 &kp N4 &kp N5 &kp N6 &kp RIGHT &trans &kp F10
&kp LSHFT &trans &trans &trans &kp MINUS &kp PLUS &kp N1 &kp N2 &kp N3 &kp DOT &trans &kp RSHIFT
&kp LGUI &trans &kp SPACE &kp RET &trans &kp RALT
>;
};
Raise {
// -----------------------------------------------------------------------------------------
// | TAB | ! | @ | # | $ | % | | ^ | & | * | ( | ) | BKSP |
// | CTRL | | | | | | | - | = | [ | ] | \ | ` |
// | SHFT | | | | | | | _ | + | { | } | "|" | ~ |
// | GUI | | SPC | | ENT | | ALT |
label = "Raise";
bindings = <
&trans &kp EXCL &kp AT &kp HASH &kp DLLR &kp PRCNT &kp CARET &kp AMPS &kp KP_MULTIPLY &kp LPAR &kp RPAR &kp DEL
&trans &bt BT_CLR &bt BT_PRV &bt BT_NXT &bt BT_SEL 0 &to 3 &kp UNDER &kp EQUAL &kp LBKT &kp RBKT &kp BSLH &kp GRAVE
&trans &out OUT_TOG &trans &trans &trans &trans &kp MINUS &kp PLUS &kp LBRC &kp RBRC &kp PIPE &kp TILDE
&kp LGUI &kp LEFT_ALT &kp SPACE &kp RET &trans &kp RALT
>;
};
};
};
&nice_view_spi {
cs-gpios = <&pro_micro 0 GPIO_ACTIVE_HIGH>;
};

View File

@@ -1,3 +1,4 @@
name: zmk-keyboard-charybdis
build:
settings:
board_root: .