Skip to content

Commit

Permalink
mitosis for wired/wireless
Browse files Browse the repository at this point in the history
  • Loading branch information
kilipan committed Jan 25, 2024
1 parent 4b2ea97 commit e3b7e9e
Show file tree
Hide file tree
Showing 12 changed files with 402 additions and 14 deletions.
2 changes: 1 addition & 1 deletion build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ include:
- board: seeeduino_xiao_rp2040
shield: zilpzalp
- board: seeeduino_xiao_ble
shield: zilpzalp
shield: zilpzalp_ble
2 changes: 0 additions & 2 deletions config/base_zilpzalp.h
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
#include <behaviors.dtsi>
#include <dt-bindings/zmk/keys.h>
//#include <dt-bindings/zmk/bt.h>
//#include <dt-bindings/zmk/outputs.h>

#define APT 0
#define NUM 1
Expand Down
6 changes: 6 additions & 0 deletions config/boards/shields/zilpzalp/zilpzalp.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# increase combo count per key for combo shifting
CONFIG_ZMK_COMBO_MAX_COMBOS_PER_KEY=32

# eager debouncing: 0 ms, standard: 5 ms
#CONFIG_ZMK_KSCAN_DEBOUNCE_PRESS_MS=5
#CONFIG_ZMK_KSCAN_DEBOUNCE_RELEASE_MS=5
1 change: 0 additions & 1 deletion config/boards/shields/zilpzalp/zilpzalp.keymap
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
#include <behaviors.dtsi>
#include <dt-bindings/zmk/keys.h>
//#include <dt-bindings/zmk/outputs.h>

#define APT 0
#define NUM 1
Expand Down
1 change: 0 additions & 1 deletion config/boards/shields/zilpzalp/zilpzalp.zmk.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ name: zilpzalp
type: shield
url: https://github.com/kilipan/zilpzalp
requires:
- seeeduino_xiao_ble
- seeeduino_xiao_rp2040
features:
- keys
9 changes: 9 additions & 0 deletions config/boards/shields/zilpzalp_ble/Kconfig.defconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Copyright (c) 2022 The ZMK Contributors
# SPDX-License-Identifier: MIT

if SHIELD_ZILPZALP_BLE

config ZMK_KEYBOARD_NAME
default "zilpzalp_ble"

endif
5 changes: 5 additions & 0 deletions config/boards/shields/zilpzalp_ble/Kconfig.shield
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Copyright (c) 2022 The ZMK Contributors
# SPDX-License-Identifier: MIT

config SHIELD_ZILPZALP_BLE
def_bool $(shields_list_contains,zilpzalp_ble)
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,8 @@ CONFIG_ZMK_COMBO_MAX_COMBOS_PER_KEY=32
#CONFIG_ZMK_KSCAN_DEBOUNCE_PRESS_MS=5
#CONFIG_ZMK_KSCAN_DEBOUNCE_RELEASE_MS=5

###
# DEBUG: turn on polling
#CONFIG_ZMK_KSCAN_MATRIX_POLLING=y
# DEBUG: wait time in ticks
#CONFIG_ZMK_KSCAN_MATRIX_WAIT_BEFORE_INPUTS=0
#CONFIG_ZMK_KSCAN_MATRIX_WAIT_BETWEEN_OUTPUTS=0
###

# turn on deep sleep
#CONFIG_ZMK_SLEEP=y
CONFIG_ZMK_SLEEP=y

# increase BLE transmission power
#CONFIG_BT_CTLR_TX_PWR_PLUS_8=y
245 changes: 245 additions & 0 deletions config/boards/shields/zilpzalp_ble/zilpzalp_ble.keymap
Original file line number Diff line number Diff line change
@@ -0,0 +1,245 @@
#include <behaviors.dtsi>
#include <dt-bindings/zmk/keys.h>
#include <dt-bindings/zmk/outputs.h>

#define APT 0
#define NUM 1
#define NAV 2
#define SYM 3
#define FUN 4

&lt {
quick_tap_ms = <200>;
};

&caps_word {
continue-list = <UNDERSCORE MINUS BSPC LSHFT RSHFT>;
};


/ {
combos {
compatible = "zmk,combos";
/* usually on base layer */
combo_q {
timeout-ms = <40>;
key-positions = <2 3>;
bindings = <&kp Q>;
};
combo_z {
timeout-ms = <40>;
key-positions = <20 21>;
bindings = <&kp Z>;
};
combo_v {
timeout-ms = <40>;
key-positions = <1 2>;
bindings = <&kp V>;
};
combo_slash {
timeout-ms = <40>;
key-positions = <24 25>;
bindings = <&kp SLASH>;
};
combo_minus {
timeout-ms = <40>;
key-positions = <23 24>;
bindings = <&kp MINUS>;
};
combo_esc {
timeout-ms = <40>;
key-positions = <21 22>;
bindings = <&kp ESC>;
};
/* parentheticals */
combo_lbrc {
timeout-ms = <40>;
key-positions = <1 11>;
bindings = <&kp LBRC>;
};
combo_lbkt {
timeout-ms = <40>;
key-positions = <2 12>;
bindings = <&kp LBKT>;
};
combo_lpar {
timeout-ms = <40>;
key-positions = <3 13>;
bindings = <&kp LPAR>;
};
combo_lt {
timeout-ms = <40>;
key-positions = <4 14>;
bindings = <&kp LT>;
};
combo_rbrc {
timeout-ms = <40>;
key-positions = <8 18>;
bindings = <&kp RBRC>;
};
combo_rbkt {
timeout-ms = <40>;
key-positions = <7 17>;
bindings = <&kp RBKT>;
};
combo_rpar {
timeout-ms = <40>;
key-positions = <6 16>;
bindings = <&kp RPAR>;
};
combo_gt {
timeout-ms = <40>;
key-positions = <5 15>;
bindings = <&kp GT>;
};
/* caps */
combo_caps-word {
timeout-ms = <40>;
key-positions = <13 16>;
bindings = <&caps_word>;
};
combo_capslock {
timeout-ms = <40>;
key-positions = <1 8>;
bindings = <&kp CAPSLOCK>;
};
/* deletion */
combo_bspc {
timeout-ms = <40>;
key-positions = <16 17>;
bindings = <&kp BSPC>;
};
combo_del {
timeout-ms = <40>;
key-positions = <17 18>;
bindings = <&kp DEL>;
};
combo_delword {
timeout-ms = <40>;
key-positions = <16 18>;
bindings = <&kp LC(BSPC)>;
};
};
};


/ {

behaviors {
hl: homerow_mods_left {
compatible = "zmk,behavior-hold-tap";
label = "homerow mods left";
#binding-cells = <2>;
flavor = "tap-preferred";
tapping-term-ms = <200>;
quick-tap-ms = <100>;
// global-quick-tap;
bindings = <&kp>, <&kp>;
// opposite side hand keys
hold-trigger-key-positions = <4 5 6 7 13 14 15 16 17 21 22 23 26 27>;
};

hr: homerow_mods_right {
compatible = "zmk,behavior-hold-tap";
label = "homerow mods right";
#binding-cells = <2>;
flavor = "tap-preferred";
tapping-term-ms = <200>;
quick-tap-ms = <100>;
// global-quick-tap;
bindings = <&kp>, <&kp>;
// opposite side hand keys
hold-trigger-key-positions = <0 1 2 3 8 9 10 11 12 18 19 20 24 25>;
};

dotcol: dot_colon {
compatible = "zmk,behavior-mod-morph";
label = "DOT_COL";
#binding-cells = <0>;
bindings = <&kp DOT>, <&kp COLON>;
mods = <(MOD_LSFT|MOD_RSFT)>;
};
comsem: comma_semicolon {
compatible = "zmk,behavior-mod-morph";
label = "COM_SEM";
#binding-cells = <0>;
bindings = <&kp COMMA>, <&kp SEMI>;
mods = <(MOD_LSFT|MOD_RSFT)>;
};
};
};


// zilpzalp key numbers
// __________________________ __________________________
// / 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 /
// -------------- --------------

/ {

keymap {
compatible = "zmk,keymap";

aptmak {
label = "APT";

bindings = <
&kp W &kp F &kp P &kp B &kp J &kp L &kp U &kp Y
&hl LCTRL R &hl LALT S &hl LGUI T &hl LSHFT H &hl RALT K &hr RALT X &hr RSHFT N &hr RGUI A &hr LALT I &hr RCTRL O
&kp C &kp G &kp D &kp M &comsem &dotcol
&lt NUM SQT &lt NAV SPACE &lt SYM E &lt FUN ENTER
>;
};
numbers {
label = "NUM";

bindings = <
&kp N9 &kp N8 &kp N7 &none &kp PLUS &kp N7 &kp N8 &kp N9
&kp LCTRL &hl LALT N3 &hl LGUI N2 &hl LSHFT N1 &hl RALT N0 &kp MINUS &kp N4 &kp N5 &kp N6 &kp SLASH
&kp N6 &kp N5 &kp N4 &kp N1 &kp N2 &kp N3
&trans &trans &kp E &kp N0
>;
};
navigation {
label = "NAV";

bindings = <
&kp INSERT &kp UP &kp BSPC &kp C_VOL_DN &kp C_VOL_UP &kp BSPC &kp DEL &kp INSERT
&kp LCTRL &hl LALT LEFT &hl LGUI DOWN &hl LSHFT RIGHT &kp C_MUTE &kp LEFT &kp DOWN &kp UP &kp RIGHT &kp TAB
&kp HOME &kp PG_DN &kp END &kp HOME &kp PG_UP &kp END
&trans &trans &trans &trans
>;
};
symbols {
label = "SYM";

bindings = <
&kp GRAVE &kp DQT &kp RA(LS(SEMI)) &kp LBRC &kp RBRC &kp BACKSLASH &kp PIPE &kp LT
&kp EXCL &kp AT &kp HASH &kp DOLLAR &kp LPAR &kp RPAR &kp AMPERSAND &kp ASTERISK &kp PERCENT &kp CARET
&kp TILDE &kp SQT &kp UNDERSCORE &kp MINUS &kp PLUS &kp EQUAL
&kp LBKT &kp RBKT &trans &trans
>;
};
function {
label = "FUN";

bindings = <
&trans &trans &trans &trans &kp F12 &kp F7 &kp F8 &kp F9
&bootloader &trans &trans &trans &trans &kp F11 &kp F4 &kp F5 &kp F6 &kp F10
&trans &trans &trans &kp F1 &kp F2 &kp F3
&trans &trans &trans &trans
>;
};

};
};

// __________________________ __________________________
// / 1 | 2 | 3 | 4 \/ 5 | 6 | 7 | 8 \
// | 10 | 11 | 12 | 13 | 14 || 15 | 16 | 17 | 18 | 19 |
// \ 20 | 21 | 22 | || | 23 | 24 | 25 /
// \ 26 | 27 /\ 28 | 29 /
// -------------- --------------
47 changes: 47 additions & 0 deletions config/boards/shields/zilpzalp_ble/zilpzalp_ble.overlay
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
#include <dt-bindings/zmk/matrix_transform.h>

/ {
chosen {
zmk,kscan = &kscan0;
zmk,matrix_transform = &default_transform;
};

default_transform: keymap_transform_0 {
compatible = "zmk,matrix-transform";
columns = <4>;
rows = <7>;
// | SW01 | SW02 | SW03 | SW04 SW25 | SW26 | SW27 | SW28 |
// | SW09 | SW05 | SW06 | SW07 | SW08 SW21 | SW22 | SW23 | SW24 | SW20
// | SW10 | SW11 | SW12 SW17 | SW18 | SW19 |
// | SW13 | SW14 SW15 | SW16 |
map = <
RC(0,0) RC(0,1) RC(0,2) RC(0,3) RC(6,3) RC(6,2) RC(6,1) RC(6,0)
RC(2,0) RC(1,0) RC(1,1) RC(1,2) RC(1,3) RC(5,3) RC(5,2) RC(5,1) RC(5,0) RC(4,0)
RC(2,1) RC(2,2) RC(2,3) RC(4,3) RC(4,2) RC(4,1)
RC(3,1) RC(3,3) RC(3,2) RC(3,0)
>;
};

kscan0: kscan_0 {
compatible = "zmk,kscan-gpio-matrix";
label = "KSCAN";
diode-direction = "col2row";

col-gpios
= <&xiao_d 0 GPIO_ACTIVE_HIGH>
, <&xiao_d 1 GPIO_ACTIVE_HIGH>
, <&xiao_d 2 GPIO_ACTIVE_HIGH>
, <&xiao_d 3 GPIO_ACTIVE_HIGH>
;

row-gpios
= <&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)>
, <&xiao_d 7 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
, <&xiao_d 8 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
, <&xiao_d 9 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
, <&xiao_d 10 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
;
};
};
9 changes: 9 additions & 0 deletions config/boards/shields/zilpzalp_ble/zilpzalp_ble.zmk.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
file_format: "1"
id: zilpzalp_ble
name: zilpzalp_ble
type: shield
url: https://github.com/kilipan/zilpzalp
requires:
- seeeduino_xiao_ble
features:
- keys
Loading

0 comments on commit e3b7e9e

Please sign in to comment.