Files
corax-keyboard/ergogen/ergogen.yml
2023-06-12 23:46:52 +02:00

222 lines
4.9 KiB
YAML

units:
kx: cx # cx=18
ky: cy # cy=17
mbkx: 17.5
mbky: 16.5
padding: 2
px: kx+padding
py: ky+padding
mcu_height: 34
mcu_width: 18
mcu_padding: 2
points:
zones:
matrix:
# fix placement on kicad
anchor.shift: [150, -200]
key:
tags: [switch]
padding: 1ky
spread: 1kx
columns:
outer2:
rows:
mod.skip: true
bottom.skip: true
home:
bind: [0, 5, 0, 0]
row_net: row0
top.skip: true
num.skip: true
key.column_net: col0
outer:
rows:
num.skip: true
mod.skip: true
key.column_net: col0
pinky:
rows:
mod.skip: true
key:
splay: -5
origin: [0, 8]
column_net: col1
ring:
rows:
mod.skip: true
key:
origin: [0, 8]
stagger: 0.33ky
splay: -5
column_net: col2
middle:
key:
stagger: 0.2ky
column_net: col3
rows:
mod:
column_net: col1
index:
key:
stagger: -0.33ky
column_net: col4
rows:
mod:
column_net: col2
inner:
rows:
mod.skip: true
key:
stagger: -2.5
column_net: col5
rows:
mod:
row_net: row4
bottom:
row_net: row3
home:
row_net: row2
top:
row_net: row1
num:
row_net: row0
thumbs:
anchor:
ref: matrix_middle_home
shift: [38, -45]
key:
tags: [switch]
padding: 1ky
spread: 1kx
columns:
layer:
key:
splay: -15
column_net: col3
space:
key:
width: 1.5kx
splay: 75
shift: [13-kx, -3]
column_net: col4
rows:
cluster:
row_net: row4
scrollwheel:
anchor:
ref: matrix_inner_bottom
columns:
scrollwheel:
key:
tags: [switch,scrollwheel]
rotate: -15
shift: [px+padding, -3]
column_net: col5
rows:
scrollwheel:
row_net: row4
mcu:
anchor:
ref: matrix_inner_num
columns:
mcu:
key:
tags: [mcu]
width: mcu_height # footprint width/height unintuitive
height: mcu_width
rotate: -90
shift: [kx+mcu_padding, -mcu_width/2+1]
rotate: 10
outlines:
keys:
- what: rectangle
where: true
fillet: 2
size: [mbkx, mbky]
raw:
- what: rectangle
where: true
bound: true
size: [px+5, py+5]
fillet:
- what: outline
name: raw
fillet: 2
board:
- what: polygon
operation: stack
# fillet: 2
points:
- ref: matrix_outer2_home
shift: [-0.5px, -0.5py]
- ref: matrix_outer2_home
shift: [-0.5px, 0.5py]
- ref: matrix_outer_top
shift: [-0.5px, 0.5py]
- ref: matrix_pinky_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_inner_num
shift: [0.5px, 0.5py]
- ref: matrix_inner_num
shift: [0.5px+mcu_padding+mcu_width, 0.5py]
- ref: matrix_inner_bottom
shift: [0.5px+mcu_padding+mcu_width, -0.5py]
- ref: thumbs_space_cluster
shift: [0.5px, -0.5py]
- ref: thumbs_space_cluster
shift: [-0.5px, -0.5py]
- ref: matrix_index_mod
shift: [-0.5px, -0.5py]
- ref: matrix_index_mod
shift: [-0.5px, -0.5py]
- ref: matrix_outer_bottom
shift: [-0.5px, -0.5py]
pcbs:
left:
outlines.main.outline: board
footprints:
choc_hotswap:
what: choc
where: switch
params:
keycaps: true
reverse: true
hotswap: true
from: "{{column_net}}"
to: "{{colrow}}"
diode:
# TODO diode without throughhole?
what: diode
where: switch
params:
from: "{{colrow}}"
to: "{{row_net}}"
adjust.shift: [0, -5]
promicro:
what: promicro
where: mcu
params:
orientation: down
P1: CS
P2: SDA
P3: SCL
P5: row0
P6: row1
P7: row2
P8: row3
P9: row4
P21: ENCA
P20: ENCB
P19: col0
P18: col1
P15: col2
P14: col3
P16: col4
P10: col5