Files
Keyboard/config.yaml
T

246 lines
5.9 KiB
YAML
Raw Normal View History

2026-05-06 23:45:52 +02:00
units:
# Proxy Spacing Variables
kx: U
ky: U
# Padding Variables
px: kx + 4
py: ky + 4
screwSize: 1
points:
zones:
matrix:
anchor:
shift: [100, -100]
columns:
outer:
key:
column_net: P020
pinky:
key.stagger: 0
key:
column_net: P022
ring:
key:
stagger: 5
column_net: P024
middle:
key:
stagger: 8
column_net: P100
index:
key:
stagger: -5
column_net: P011
inner:
key:
stagger: -3
column_net: P104
rows:
bottom:
key:
column_net: P010
home:
key:
column_net: P111
top:
key:
column_net: P113
num: # 4th row
key:
column_net: P115
# The 5-key Thumb Arc
thumbs:
# Anchoring the thumbs relative to the 'index' column, 'bottom' row
anchor:
- ref: matrix_index_bottom
shift: [-19, -19] # Move slightly right and down from index
columns:
# First key (tucked under the middle finger area)
tuck:
key.rotate: 0
key.shift: [0, 0]
key.name: thumb_tuck
key.column_net: P024
# Second key (the "Home" thumb key)
reach:
key.rotate: -5
key.shift: [1, -5]
key.name: thumb_reach
key.column_net: P100
# Third key (Middle of arc)
middle:
key.rotate: -10
key.shift: [2, -10]
key.name: thumb_middle
key.column_net: P011
# Fourth key (Moving outward)
stretch:
key.tags:
1.25cap
key.width: 1.25u
key.rotate: -115
key.shift: [6, -14]
key.name: thumb_stretch
key.column_net: P104
rows:
cluster:
row_net: P009
mirror:
ref: matrix_inner_num # The "anchor" point for the mirror
distance: 90
outlines:
raw:
- what: rectangle
where: true
size: [px, py]
fillet: 2
keys:
- what: rectangle
where: true
bound: false
size: [kx-0.5,ky-0.5]
- what: rectangle
where: [1.25cap]
size: [ky*1.25-0.5,ky-0.5]
_boardL:
- what: polygon
operation: stack
points:
- ref: matrix_outer_num
shift: [-0.5px, 0.5py]
- ref: matrix_ring_num
shift: [-0.5px, 0.5py]
- ref: matrix_middle_num
shift: [-0.5px, +0.5py]
- ref: matrix_middle_num
shift: [+0.5px, +0.5py]
- ref: matrix_index_num
shift: [0.5px, 0.5py]
- ref: matrix_inner_num
shift: [0.5px, 0.5py]
- ref: matrix_inner_num
shift: [1.5px, 0.5py] # Extending out for the MCU
- ref: matrix_inner_bottom
shift: [1.5px, -0.5py]
- ref: thumb_stretch
shift: [-0.625px, +0.5py]
- ref: thumb_stretch
shift: [0.625px, +0.5py]
- ref: thumb_tuck
shift: [-0.5px, -0.5py]
- ref: matrix_pinky_bottom
shift: [1py, -0.5py]
- ref: matrix_outer_bottom
shift: [-0.5px, -0.5py]
fillet: 2
_boardR:
- what: polygon
operation: stack
points:
- ref: mirror_matrix_outer_num
shift: [-0.5px, 0.5py]
- ref: mirror_matrix_middle_num
shift: [-0.5px, +0.5py]
- ref: mirror_matrix_middle_num
shift: [+0.5px, +0.5py]
- ref: mirror_matrix_inner_num
shift: [1.5px, 0.5py] # Extending out for the MCU
- ref: mirror_thumb_stretch
shift: [-0.625px, +0.5py]
- ref: mirror_thumb_stretch
shift: [0.625px, +0.5py]
- ref: mirror_thumb_tuck
shift: [-0.5px, -0.5py]
- ref: mirror_matrix_outer_bottom
shift: [-0.5px, -0.5py]
fillet: 2
combo:
- name: _boardL
- operation: stack
name: keys
- name: _boardR
- operation: stack
name: keys
pcbs:
left_side:
outlines:
main:
outline: _boardL
footprints:
# 1. MX Switches
mx_hotswap:
what: mx
where: true
params:
keycaps: true
reverse: false
hotswap: true
from: "{{col_net}}"
to: "{{colrow}}"
# 2. Diodes (Placed slightly above/below the switch)
diodes:
what: diode
where: true
params:
from: "{{colrow}}"
to: "{{row_net}}"
adjust:
shift: [0, -5]
# 3. Exposed nice!nano
nice_nano:
what: nice_nano
where:
ref: matrix_inner_num
shift: [kx/2+18/2+1.6,ky/2-36/2]
rotate: 270
# 4. Power Switch (Hidden on the back or next to MCU)
power:
what: slider
params:
side: B
from: pos
to: RAW
where:
ref: matrix_inner_home
shift: [1.5px-2,0]
rotate: -90
# 5. Reset Button
reset:
what: button
params:
from: "{{colrow}}"
to: "{{row_net}}"
#6. BatteryJack
jstph:
what: jstph
where:
ref: matrix_inner_home
shift: [kx/2,ky/2]
rotate: 90
params:
side: B
pos: pos
neg: GND
#7. Holes
holeTopLeft:
what: mountinghole
where:
ref: [matrix_outer_num]
shift: [kx/2, -ky/2]
holeTopRight:
what: mountinghole
where:
ref: [matrix_middle_num]
shift: [kx/2, -ky/2]
holeBottom:
what: mountinghole
where:
ref: [thumb_tuck]
shift: [0, ky/2]
holeRight:
what: mountinghole
where:
ref: [matrix_index_home]
shift: [kx/2,ky/2]
cases: