zmk_build

ZMK code & build repository
git clone https://git.pngu.org/zmk_build
Log | Files | Refs | Submodules | README

commit ba526b115359577d33f9c5d2b65a22c4edd08c59
parent f51ccf7960d06e887bd30a641252b7180f936d67
Author: Jack Sangdahl <jack@pngu.org>
Date:   Mon,  8 Jun 2026 15:19:32 -0600

Correct some pin nomenclature, fix matrix

Diffstat:
Aconfig/sweepable.keymap | 108+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Msweepable/boards/sweepable/sweepable-pinctrl.dtsi | 2+-
Msweepable/boards/sweepable/sweepable.dtsi | 8++++----
Msweepable/boards/sweepable/sweepable_left.dts | 8++++----
4 files changed, 117 insertions(+), 9 deletions(-)

diff --git a/config/sweepable.keymap b/config/sweepable.keymap @@ -0,0 +1,108 @@ +// Copyright 2025 jack@pngu.org +// SPDX-License-Identifier: MIT +#include <behaviors.dtsi> +#include <behaviors/unicode.dtsi> +#include <dt-bindings/zmk/keys.h> +#include <dt-bindings/zmk/bt.h> + +#include "zmk-helpers/helper.h" +#include "zmk-helpers/key-labels/34.h" +#include "zmk-unicode/keys-extra.h" + +#undef COMBO_TERM +#define COMBO_TERM 50 + +#define ___ &trans +#define xxx &none + +#define SET_MAC UC_SET_MACOS +#define SET_LNX UC_SET_LINUX + +#define BASE 0 +#define MACOS 1 +#define NUM 2 +#define SYM 3 +#define UTIL 4 + +ZMK_HOLD_TAP(hrm, + flavor = "tap-preferred"; + tapping-term-ms = <130>; + quick-tap-ms = <160>; + bindings = <&kp>, <&kp>; +) + +&uc { + default-mode = <UC_MODE_LINUX>; + minimum-length = <0>; + linux-key = <LC(LS(U))>; + macos-key = <LALT>; +}; + +&lt { + tapping-term-ms = <100>; +}; + +ZMK_CONDITIONAL_LAYER(tri_layer_util, NUM SYM, UTIL) + +ZMK_TAP_DANCE(ply_nxt_prv, + tapping-term-ms = <200>; + bindings = <&kp C_PLAY>, <&kp C_NEXT>, <&kp C_PREV>; +) + +ZMK_MOD_MORPH(bs_del_num, + bindings = <&kp BSPC>, <&kp DEL>; + mods = <(MOD_LSFT|MOD_RSFT)>; +) +ZMK_MOD_MORPH(vol_up_dn, + bindings = <&kp C_VOL_UP>, <&kp C_VOL_DN>; + mods = <(MOD_LSFT|MOD_RSFT)>; +) +ZMK_MOD_MORPH(dash_mins, + bindings = <&kp MINUS>, <&uc UC_EM_DASH>; + mods = <(MOD_LSFT|MOD_RSFT)>; +) + +ZMK_MACRO(updir, bindings = <&kp DOT &kp DOT &kp FSLH>;) +ZMK_MACRO(leq, bindings = <&kp LT &kp EQUAL>;) +ZMK_MACRO(geq, bindings = <&kp GT &kp EQUAL>;) +ZMK_MACRO(pl_asgn, bindings = <&kp PLUS &kp EQUAL>;) +ZMK_MACRO(recall, bindings = <&kp DLLR &kp UNDER>;) + +ZMK_COMBO(df_unds, &kp UNDER, LM2 LM1, ALL) +ZMK_COMBO(jk_entr, &kp ENTER, RM1 RM2, ALL) +ZMK_COMBO(fj_cpwd, &caps_word, LM1 RM1, ALL) + +ZMK_LAYER(base_layer, + &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P + &hrm LALT A &hrm LGUI S &hrm LCTRL D &hrm LSHFT F &kp G &kp H &hrm RSHFT J &hrm RCTRL K &hrm RGUI L &hrm RALT SEMI + &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp COMMA &kp DOT &kp FSLH + &lt NUM ESC &kp SPACE &bs_del_num &mo SYM +) + +ZMK_LAYER(mac_mod_layer, + ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ + ___ &hrm LCTRL S &hrm LGUI D ___ ___ ___ ___ &hrm RGUI K &hrm RCTRL L ___ + ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ + ___ ___ ___ ___ +) + +ZMK_LAYER(numbers_layer, + &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 + ___ ___ &updir &recall &kp TAB &kp LEFT &kp DOWN &kp UP &kp RIGHT &kp CAPS + &vol_up_dn &ply_nxt_prv ___ ___ ___ ___ ___ ___ ___ ___ + ___ ___ ___ ___ +) + +ZMK_LAYER(symbols_layer, + &kp GRAVE &leq &geq &dash_mins &kp PIPE &kp CARET &kp LBRC &kp RBRC &kp DLLR &kp BSLH + &kp EXCL &kp STAR &pl_asgn &kp EQUAL &kp AMPS &kp HASH &kp LPAR &kp RPAR &kp SQT &kp DQT + &kp TILDE &kp PLUS &kp LBKT &kp RBKT &kp PRCNT &kp AT &kp COLON ___ ___ ___ + ___ ___ ___ ___ +) + +ZMK_LAYER(utility_layer, + &bt BT_CLR ___ ___ ___ ___ ___ &uc SET_LNX &uc SET_MAC &tog MACOS &bt BT_CLR + &bt BT_PRV &bt BT_NXT ___ ___ ___ ___ ___ ___ ___ ___ + &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &kp F7 &kp F8 &kp F9 &kp F10 + ___ ___ ___ ___ +) diff --git a/sweepable/boards/sweepable/sweepable-pinctrl.dtsi b/sweepable/boards/sweepable/sweepable-pinctrl.dtsi @@ -14,8 +14,8 @@ group1 { psels = <NRF_PSEL(TWIM_SDA, 0, 7)>, <NRF_PSEL(TWIM_SCL, 0, 5)>; - low-power-enable; bias-pull-up; + low-power-enable; }; }; }; diff --git a/sweepable/boards/sweepable/sweepable.dtsi b/sweepable/boards/sweepable/sweepable.dtsi @@ -29,10 +29,10 @@ columns = <10>; rows = <4>; 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,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,4) RC(0,5) RC(0,6) RC(0,7) RC(0,8) RC(0,9) + 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(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(3,3) RC(3,4) RC(3,5) RC(3,6) >; }; diff --git a/sweepable/boards/sweepable/sweepable_left.dts b/sweepable/boards/sweepable/sweepable_left.dts @@ -10,10 +10,10 @@ diode-direction = "col2row"; row-gpios - = <&gpio1 29 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> - , <&gpio1 30 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> - , <&gpio1 31 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> - , <&gpio1 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> + = <&gpio0 29 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> + , <&gpio0 30 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> + , <&gpio0 31 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> + , <&gpio0 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> ; col-gpios