This commit is contained in:
Jonas Zeunert
2024-04-24 19:05:48 +02:00
parent 9b55fd02be
commit 09e414cfe0
5 changed files with 306 additions and 0 deletions

21
Makefile Executable file
View File

@@ -0,0 +1,21 @@
.PHONY: clean reload killall clean_locks open
reload: killall clean_locks all open
open:
pcbnew output/pcbs/first.kicad_pcb &
clean:
rm -rf output
clean_locks:
rm -rf output/pcbs/*.lck
killall:
-killall pcbnew
output/pcbs/first.kicad_pcb: config.yaml
ergogen config.yaml
all: output/pcbs/first.kicad_pcb

180
config.yaml Normal file
View File

@@ -0,0 +1,180 @@
$default_autobind: 1000
meta:
engine: 4.0.2
version: 0.1
author: "rhetenor"
units:
stagger_ring: 10
stagger_middle: 3
stagger_index: -6
thumb_splay: -15
sx: u
sy: u
px: sx + 2
py: sy + 2
points:
zones:
matrix:
columns:
pinky:
key:
column_net: Pinky
ring:
key:
stagger: stagger_ring
column_net: Ring
middle:
key:
stagger: stagger_middle
column_net: Middle
index:
key:
stagger: stagger_index
colum_net: Index
inner:
key:
colum_net: Inner
rows:
bottom:
row_net: Bottom
home:
row_net: Home
top:
row_net: Top
thumb:
key:
spread: sx
padding: 1sx
anchor:
ref: matrix_inner_home
shift: [-1sx, -2.5sy]
columns:
super:
key:
splay: -15
column_net: Pinky
space:
key:
width: 1.15sx
splay: thumb_splay
shift: [6, -2]
column_net: Ring
alt:
key:
splay: thumb_splay
shift: [12, -2]
column_net: Middle
layer:
key:
splay: thumb_splay + 10
shift: [14, -2]
#stagger: -2
column_net: Index
rows:
cluster:
row_net: Cluster
mirror: &mirror
ref: matrix_inner_home
distance: 6sx
outlines:
board:
- what: polygon
operation: stack
fillet: 5
points:
- ref: matrix_pinky_top
shift: [-sx,sy]
- ref: matrix_ring_top
shift: [-sx,sy]
- ref: matrix_middle_top
shift: [-sx,sy]
- ref: matrix_inner_top
shift: [-sx,sy]
- ref: mirror_matrix_inner_top
shift: [-sx,sy]
- ref: mirror_matrix_middle_top
shift: [-sx,sy]
- ref: mirror_matrix_ring_top
shift: [-sx,sy]
- ref: mirror_matrix_pinky_top
shift: [-sx,sy]
- ref: mirror_matrix_pinky_bottom
shift: [-sx,-sy]
- ref: mirror_thumb_super_cluster
shift: [-sx,-sy]
- ref: mirror_thumb_layer_cluster
shift: [sx,-sy]
- ref: thumb_layer_cluster
shift: [sx,-sy]
- ref: thumb_super_cluster
shift: [-sx,-sy]
- ref: matrix_pinky_bottom
shift: [-sy,-sy]
keys:
- what: rectangle
where: true
bound: false
size: [sx-0.5,sy-0.5]
combine:
- name: board
- operation: subtract
name: keys
pcbs:
first:
outlines:
combine:
outline: combine
references: true
footprints:
mx_hotswap:
what: mx
where: true
params:
keycaps: true
reverse: false
hotswap: true
from: "{{column_net}}"
to: "{{colrow}}"
diode:
what: diode
where: true
params:
from: "{{colrow}}"
to: "{{row_net}}"
adjust:
shift: [0, -5]
promicro:
what: promicro
params:
orientation: "down"
where:
ref.aggregate.parts: [matrix_inner_top, mirror_matrix_inner_top]
shift: [0,0]
rotate: 90
oled:
what: oled
params:
side: "F"
SDA: P2
SCL: P3
where:
ref.aggregate.parts: [matrix_inner_home, mirror_matrix_inner_home]
shift: [0,0]
rotate: -90
reset:
what: button
params:
from: GND
to: RST
where:
ref.aggregate.parts: [thumb_super_cluster, mirror_thumb_super_cluster]
shift: [0, -1]
rotate: -90
leds:
what: rgb
params:
din: P19
dout: P20
where: true

1
zmk Submodule

Submodule zmk added at 16e92cf665

103
zmk_config/cradio.keymap Normal file
View File

@@ -0,0 +1,103 @@
// Copyright (c) 2022 The ZMK Contributors
// SPDX-License-Identifier: MIT
#include <behaviors.dtsi>
#include <dt-bindings/zmk/keys.h>
#include <dt-bindings/zmk/bt.h>
// Home row mods macro
#define HRML(k1,k2,k3,k4) &ht LSHFT k1 &ht LALT k2 &ht LCTRL k3 &ht LGUI k4
#define HRMR(k1,k2,k3,k4) &ht RGUI k1 &ht RCTRL k2 &ht RALT k3 &ht RSHFT k4
/ {
behaviors {
ht: hold_tap {
compatible = "zmk,behavior-hold-tap";
#binding-cells = <2>;
flavor = "tap-preferred";
tapping-term-ms = <220>;
quick-tap-ms = <150>;
require-prior-idle-ms = <100>;
bindings = <&kp>, <&kp>;
};
};
conditional_layers {
compatible = "zmk,conditional-layers";
tri_layer {
if-layers = <1 2>;
then-layer = <3>;
};
};
keymap {
compatible = "zmk,keymap";
default_layer {
bindings = <
//╭──────────┬──────────┬──────────┬──────────┬──────────╮ ╭──────────┬──────────┬──────────┬──────────┬──────────╮
//│ Q │ W │ E │ R │ T │ │ Y │ U │ I │ O │ P │
&kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P
//├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤
//│ A │ S │ D │ F │ G │ │ H │ J │ K │ L │ ' " │
HRML(A, S, D, F) &kp G &kp H HRMR(J, K, L, SQT)
//├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤
//│ Z │ X │ C │ V │ B │ │ N │ M │ , < │ . > │ / ? │
&kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp COMMA &kp DOT &kp FSLH
//╰──────────┴──────────┴──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┴──────────┴──────────╯
&kp ESC &lt 2 TAB &kp ENTER &kp SPACE &kp ENTER &lt 1 BSPC
// ╰──────────┴──────────┴──────────┴──────────╯ ╰──────────┴──────────┴──────────┴──────────╯
>;
};
right_layer {
bindings = <
//╭──────────┬──────────┬──────────┬──────────┬──────────╮ ╭──────────┬──────────┬──────────┬──────────┬──────────╮
//│ INSERT │ 1 │ 2 │ 3 │ │ │ HOME │ PAGE DN │ PAGE UP │ END │ : │
&kp INS &kp N1 &kp N2 &kp N3 &trans &kp HOME &kp PG_DN &kp PG_UP &kp END &kp COLON
//├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤
//│ DELETE │ 4 │ 5 │ 6 │ │ │ LEFT │ DOWN │ UP │ RIGHT │ ; │
&kp DEL &kp N4 &kp N5 &kp N6 &trans &kp LARW &kp DARW &kp UARW &kp RARW &kp SEMI
//├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤
//│ CAPS │ 7 │ 8 │ 9 │ 0 │ │ │ │ │ │ │
&caps_word &kp N7 &kp N8 &kp N9 &kp N0 &trans &trans &trans &trans &trans
//╰──────────┴──────────┴──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┴──────────┴──────────╯
&trans &kp ESC &trans &trans
// ╰──────────┴──────────┴──────────┴──────────╯ ╰──────────┴──────────┴──────────┴──────────╯
>;
};
left_layer {
bindings = <
//╭──────────┬──────────┬──────────┬──────────┬──────────╮ ╭──────────┬──────────┬──────────┬──────────┬──────────╮
//│ │ [ │ { │ } │ │ │ ^ │ ( │ ) │ ] │ ~ │
&trans &kp LBKT &kp LBRC &kp RBRC &trans &kp CARET &kp LPAR &kp RPAR &kp RBKT &kp TILDE
//├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤
//│ ! │ @ │ # │ $ │ % │ │ * │ - │ = │ \ │ ` │
&kp EXCL &kp AT &kp HASH &kp DLLR &kp PRCNT &kp ASTRK &kp MINUS &kp EQUAL &kp BSLH &kp GRAVE
//├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤
//│ │ │ │ │ │ │ & │ _ │ + │ │ │ │
&trans &trans &trans &trans &trans &kp AMPS &kp UNDER &kp PLUS &kp PIPE &trans
//╰──────────┴──────────┴──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┴──────────┴──────────╯
&trans &trans &trans &trans
// ╰──────────┴──────────┴──────────┴──────────╯ ╰──────────┴──────────┴──────────┴──────────╯
>;
};
tri_layer {
bindings = <
//╭──────────┬──────────┬──────────┬──────────┬──────────╮ ╭──────────┬──────────┬──────────┬──────────┬──────────╮
//│ RESET │ │ │ │PROFILE 0 │ │ │ │ │ │ RESET │
&sys_reset &trans &trans &trans &bt BT_SEL 0 &trans &trans &trans &trans &sys_reset
//├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤
//│BOOTLOADER│ │ │ │PROFILE 1 │ │ │ │ │ │BOOTLOADER│
&bootloader &trans &trans &trans &bt BT_SEL 1 &trans &trans &trans &trans &bootloader
//├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤
//│ │ │ │ CLEAR BT │PROFILE 2 │ │ │ │ │ │ │
&trans &trans &trans &bt BT_CLR &bt BT_SEL 2 &trans &trans &trans &trans &trans
//╰──────────┴──────────┴──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┴──────────┴──────────╯
&trans &trans &trans &trans
// ╰──────────┴──────────┴──────────┴──────────╯ ╰──────────┴──────────┴──────────┴──────────╯
>;
};
};
};

1
zmk_config/zmk-config Submodule

Submodule zmk_config/zmk-config added at 20dea4a9d7