From e24f783b6ddd7dc4ccd2dd25ee042ea28e99b925 Mon Sep 17 00:00:00 2001 From: Zoe Roux Date: Fri, 23 Jan 2026 09:56:19 +0100 Subject: [PATCH] Use xiao ble --- README.md | 2 +- build.yaml | 6 ++--- config/abyss.keymap | 15 ++++++++----- config/boards/shields/abyss/abyss.dtsi | 22 ++++++++++++------- config/boards/shields/abyss/abyss.zmk.yml | 2 +- .../boards/shields/abyss/abyss_left.overlay | 8 ------- .../boards/shields/abyss/abyss_right.overlay | 10 +-------- config/west.yml | 15 ++++++------- 8 files changed, 36 insertions(+), 44 deletions(-) diff --git a/README.md b/README.md index 9ecc9fc..2beabae 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ A 32 key split keyboard with a low pinky column. | Count | Part name | Size/Remark | | :---: | :-------------- | :------ | -| 2x | [Seed Xiao nRF54L15 - mcu](https://www.seeedstudio.com/XIAO-nRF54L15-p-6493.html) | | +| 2x | [Seeed Xiao nRF54L15 - mcu](https://www.seeedstudio.com/XIAO-nRF54L15-p-6493.html) | | | 2x | [1208YD - reset button](https://fr.aliexpress.com/item/1005003938985112.html?spm=a2g0o.order_list.order_list_main.5.21ef1802F8o6h5&gatewayAdapt=glo2fra) | 6x6x7mm | | 2x | [401030 Li-Po Battery](https://www.ebay.com/itm/171812433827) | 4x10x30mm | | 2x | [SM02B-SRSS-TB - battery connector](https://www.jst-mfg.com/product/pdf/eng/eSH.pdf) | | diff --git a/build.yaml b/build.yaml index 9cc0ee7..21ca2c6 100644 --- a/build.yaml +++ b/build.yaml @@ -18,9 +18,9 @@ # --- include: - - board: nice_nano_v2 + - board: xiao_ble shield: abyss_left - - board: nice_nano_v2 + - board: xiao_ble shield: abyss_right - - board: nice_nano_v2 + - board: xiao_ble shield: settings_reset diff --git a/config/abyss.keymap b/config/abyss.keymap index b4e8305..9f7f28c 100644 --- a/config/abyss.keymap +++ b/config/abyss.keymap @@ -22,10 +22,13 @@ #define ALPHA_COMBO_REQUIRE_DELAY 100 #define COMBO_REQUIRE_DELAY 150 -&caps_word { - continue-list = ; - mods = <(MOD_LSFT | MOD_RSFT)>; - /delete-property/ ignore-modifiers; +capslock_word: behavior_capslock_word { + compatible = "zmk,behavior-capslock"; + #binding-cells = <0>; + capslock-press-ms = <5>; + enable-on-press; + disable-on-next-release; + disable-on-keys = ; }; &sk { @@ -123,14 +126,14 @@ caps_lshift: lmod_morph_hold_tap { compatible = "zmk,behavior-mod-morph"; #binding-cells = <0>; - bindings = <<sk OT LSHIFT>, <&caps_word>; + bindings = <<sk OT LSHIFT>, <&capslock_word>; mods = ; }; caps_rshift: rmod_morph_hold_tap { compatible = "zmk,behavior-mod-morph"; #binding-cells = <0>; - bindings = <<sk OT RSHIFT>, <&caps_word>; + bindings = <<sk OT RSHIFT>, <&capslock_word>; mods = ; }; diff --git a/config/boards/shields/abyss/abyss.dtsi b/config/boards/shields/abyss/abyss.dtsi index 95262fd..c331700 100644 --- a/config/boards/shields/abyss/abyss.dtsi +++ b/config/boards/shields/abyss/abyss.dtsi @@ -11,10 +11,10 @@ columns = <12>; rows = <4>; map = < - RC(0,1) RC(0,2) RC(0,3) RC(1,4) RC(1,7) RC(0,8) RC(0,9) RC(0,10) - RC(1,0) RC(1,1) RC(1,2) RC(1,3) RC(2,4) RC(2,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,8) RC(2,9) RC(2,10) RC(2,11) - RC(3,3) RC(3,4) RC(3,5) RC(3,6) RC(3,7) RC(3,8) + RC(0,0) RC(0,1) RC(0,2) RC(0,3) RC(0,7) RC(0,6) RC(0,5) RC(0,4) + RC(3,0) RC(1,0) RC(1,1) RC(1,2) RC(1,3) RC(1,7) RC(1,6) RC(1,5) RC(1,4) RC(3,4) + RC(3,1) RC(2,0) RC(2,1) RC(2,2) RC(2,6) RC(2,5) RC(2,4) RC(3,5) + RC(3,2) RC(3,3) RC(2,3) RC(2,7) RC(3,7) RC(3,6) >; }; @@ -24,10 +24,16 @@ diode-direction = "col2row"; row-gpios - = <&pro_micro 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> - , <&pro_micro 5 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> - , <&pro_micro 6 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> - , <&pro_micro 7 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> + = <&xiao_d 3 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> + , <&xiao_d 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> + , <&xiao_d 5 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> + , <&xiao_d 6 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> + ; + col-gpios + = <&xiao_d 10 GPIO_ACTIVE_HIGH> + , <&xiao_d 9 GPIO_ACTIVE_HIGH> + , <&xiao_d 8 GPIO_ACTIVE_HIGH> + , <&xiao_d 7 GPIO_ACTIVE_HIGH> ; }; }; diff --git a/config/boards/shields/abyss/abyss.zmk.yml b/config/boards/shields/abyss/abyss.zmk.yml index 62827d5..bb1311e 100644 --- a/config/boards/shields/abyss/abyss.zmk.yml +++ b/config/boards/shields/abyss/abyss.zmk.yml @@ -3,7 +3,7 @@ id: abyss name: abyss type: shield url: https://github.com/zoriya/abyss -requires: [pro_micro] +requires: [xiao_ble] features: - keys siblings: diff --git a/config/boards/shields/abyss/abyss_left.overlay b/config/boards/shields/abyss/abyss_left.overlay index 856cc1b..cce450d 100644 --- a/config/boards/shields/abyss/abyss_left.overlay +++ b/config/boards/shields/abyss/abyss_left.overlay @@ -1,14 +1,6 @@ #include "abyss.dtsi" &kscan0 { - col-gpios - = <&pro_micro 21 GPIO_ACTIVE_HIGH> - , <&pro_micro 20 GPIO_ACTIVE_HIGH> - , <&pro_micro 19 GPIO_ACTIVE_HIGH> - , <&pro_micro 18 GPIO_ACTIVE_HIGH> - , <&pro_micro 15 GPIO_ACTIVE_HIGH> - , <&pro_micro 14 GPIO_ACTIVE_HIGH> - ; }; // vim: ft=dts diff --git a/config/boards/shields/abyss/abyss_right.overlay b/config/boards/shields/abyss/abyss_right.overlay index eebc985..7a1ca4f 100644 --- a/config/boards/shields/abyss/abyss_right.overlay +++ b/config/boards/shields/abyss/abyss_right.overlay @@ -1,19 +1,11 @@ #include "abyss.dtsi" &default_transform { - col-offset = <6>; + col-offset = <4>; }; &kscan0 { - col-gpios - = <&pro_micro 14 GPIO_ACTIVE_HIGH> - , <&pro_micro 15 GPIO_ACTIVE_HIGH> - , <&pro_micro 18 GPIO_ACTIVE_HIGH> - , <&pro_micro 19 GPIO_ACTIVE_HIGH> - , <&pro_micro 20 GPIO_ACTIVE_HIGH> - , <&pro_micro 21 GPIO_ACTIVE_HIGH> - ; }; // vim: ft=dts diff --git a/config/west.yml b/config/west.yml index 5008edc..f3b98f6 100644 --- a/config/west.yml +++ b/config/west.yml @@ -2,17 +2,16 @@ manifest: remotes: - name: zmkfirmware url-base: https://github.com/zmkfirmware - - name: urob - url-base: https://github.com/urob - - name: zoriya - url-base: https://github.com/zoriya + - name: snoyer + url-base: https://github.com/snoyer projects: - name: zmk - # remote: zmkfirmware - # Using urob's fork until https://github.com/zmkfirmware/zmk/pull/1451 get's merged - # my fork is updated and cherry-picked the relevent commit from previous PR. - remote: zoriya + remote: zmkfirmware + # remote: zoriya revision: main import: app/west.yml + - name: zmk-behavior-capslock + remote: snoyer + revision: main self: path: config