Files
corax-keyboard/ergogen/config.yaml
2023-07-02 12:47:43 +02:00

263 lines
5.8 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: 1
scrollwheel_width: 17
scrollwheel_height: 14
points:
rotate: 5
zones:
matrix:
# fix placement on kicad
anchor.shift: [125, -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:
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: [scrollwheel]
shift: [kx+mcu_padding-0.75, 0.1py]
column_net: col5
width: scrollwheel_width
height: scrollwheel_height
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-0.3]
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.9, 0.5py]
shift: [0.5px+mcu_padding+mcu_width, 0.5py]
- ref: matrix_inner_bottom
#shift: [0.5px+mcu_padding+mcu_width-0.9, -0.5py]
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_middle_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: false
hotswap: true
from: "{{column_net}}"
to: "{{colrow}}"
diode:
what: diode
where: [switch]
params:
from: "{{colrow}}"
to: "{{row_net}}"
adjust.shift: [0, -5]
scrollwheel:
what: scrollwheel
where: [scrollwheel]
params:
from: col5
to: row4
A: ENCB
B: GND
C: ENCA
D: undefined
scroll_diode:
what: diode
where: [scrollwheel]
params:
from: "{{colrow}}"
to: "{{row_net}}"
adjust:
shift: [-5, 9]
rotate: 180
rotary:
what: rotary
where: [scrollwheel]
params:
from: col5
to: row4
A: ENCA
B: ENCB
C: GND
adjust.rotate: 90
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
niceview:
what: niceview
where: mcu
adjust:
shift: [20.5, 0]
rotate: 180
params:
outline: true
side: 'F'
SDA: SDA
SCL: SCL
CS: CS