ergogen/test/fixtures/absolem.yaml
2020-07-18 22:58:44 +02:00

636 lines
14 KiB
YAML

points:
zones:
matrix:
anchor:
rotate: 5
columns:
pinky:
rotate: -5
origin: [7, -7]
rows:
bottom:
home:
bind: [,15,-1]
top:
bind: [,15,-1]
key:
column_net: P1
ring:
stagger: 12
rows:
bottom:
bind: [,,,10]
home:
bind: [,10]
top:
bind: [,10]
key:
column_net: P0
middle:
stagger: 5
rows:
bottom:
bind: [,10,,10]
home:
bind: [,10,,10]
top:
key:
column_net: P2
index:
stagger: -6
rows:
bottom:
bind: [,10]
home:
bind: [,,,10]
top:
bind: [,,,10]
key:
column_net: P3
inner:
stagger: -2
rows:
bottom:
bind: [,,10,]
home:
bind: [,,,10]
top:
bind: [,,,10]
key:
column_net: P4
rows:
bottom:
bind: [10]
row_net: P16
mirror:
row_net: P7
home:
bind: [10]
row_net: P14
mirror:
row_net: P6
top:
row_net: P15
mirror:
row_net: P5
s19:
extends: matrix
columns:
pinky:
rows:
bottom:
footprints:
diode:
anchor:
shift: [,12]
home:
footprints:
diode:
anchor:
shift: [,6]
top:
footprints:
row_ext:
anchor:
shift: [, -10]
extra_column:
type: pad
anchor:
shift: [-4, 4]
nets:
net: 'P19'
params:
width: 2
height: 2
front: false
key:
footprints:
row_ext:
type: pad
anchor:
shift: [-4, -4]
nets:
net: '!row_net'
params:
width: 2
height: 2
front: false
ring:
rows:
bottom:
footprints:
diode:
anchor:
shift: [,5]
home:
footprints:
diode:
anchor:
shift: [,2.5]
middle:
rows:
top:
footprints:
diode:
anchor:
shift: [,-6]
home:
footprints:
diode:
anchor:
shift: [,-3]
index:
rows:
bottom:
footprints:
diode:
anchor:
shift: [-8.25,6]
home:
footprints:
diode:
anchor:
shift: [-8.25,3]
top:
footprints:
diode:
anchor:
shift: [-8.25,]
rows:
top:
footprints:
mx:
anchor:
rotate: 180
alps:
anchor:
rotate: 180
choc:
anchor:
rotate: 180
col_ext:
type: pad
anchor:
shift: [4, 4]
nets:
net: '!column_net'
params:
width: 2
height: 2
front: false
bottom:
footprints:
diode:
anchor:
rotate: 270
col_ext:
type: pad
anchor:
shift: [4, -4]
nets:
net: '!column_net'
params:
width: 2
height: 2
front: false
key:
tags:
s19: true
footprints: &quad
mx:
type: mx
nets:
from: '!colrow'
to: '!column_net'
alps:
type: alps
nets:
from: '!colrow'
to: '!column_net'
<<: &choc
choc:
type: choc
nets:
from: '!colrow'
to: '!column_net'
diode:
type: diode
anchor:
rotate: 90
shift: [8.25, 0]
nets:
from: '!colrow'
to: '!row_net'
mirror:
footprints: &quad_mirror
mx:
nets:
from: '!column_net'
to: '!colrow'
alps:
nets:
from: '!column_net'
to: '!colrow'
<<: &choc_mirror
choc:
nets:
from: '!column_net'
to: '!colrow'
s18:
extends: matrix
columns:
pinky:
stagger: 1
origin: [7, -8]
rows:
top:
footprints:
choc:
anchor:
rotate: 180
key:
padding: 18
tags:
s18: true
footprints: *choc
mirror:
footprints: *choc_mirror
thumbfan:
anchor:
ref: matrix_inner_bottom
shift: [-7, -19]
columns:
near:
spread: 21.25
rotate: -28
origin: [9.5, -9]
rows:
thumb:
bind: [10,5,,]
column_net: P2
tags:
classic: true
footprints:
choc:
anchor:
rotate: 180
diode:
anchor:
shift: [8,]
row_ext:
type: pad
anchor:
shift: [-3, 9]
nets:
net: '!row_net'
params:
width: 2
height: 2
front: false
home:
spread: 21.25
rotate: -28
origin: [11.75, -9]
rows:
thumb:
bind: [,10,,15]
key:
column_net: P3
tags:
classic: true
uniform: true
far:
rows:
thumb:
bind: [-1,,,5]
column_net: P4
tags:
classic: true
footprints:
choc:
anchor:
rotate: 180
diode:
anchor:
shift: [-4,]
rows:
thumb:
row_net: P10
footprints:
diode:
anchor:
shift: [0, 9]
rotate: 180
mirror:
row_net: P8
footprints:
diode:
anchor:
rotate: 0
key:
footprints: *quad
mirror: *quad_mirror
unifar:
anchor:
ref: thumbfan_home_thumb
columns:
home_again:
rotate: -28
origin: [9.5, -9]
key:
skip: true
far:
rows:
thumb:
bind: [-1,,,5]
key:
column_net: P4
footprints:
choc:
anchor:
rotate: 180
diode: '!!unset'
mirror:
footprints:
diode: '!!unset'
tags:
uniform: true
rows:
thumb:
row_net: P10
mirror:
row_net: P8
key:
footprints: *quad
mirror: *quad_mirror
uninear:
anchor:
ref: thumbfan_home_thumb
columns:
home_again:
spread: -19
rotate: 28
origin: [-9.5, -9]
key:
skip: true
near:
rows:
thumb:
bind: [10,5,,]
key:
column_net: P2
footprints:
choc:
anchor:
rotate: 180
diode: '!!unset'
mirror:
footprints:
diode: '!!unset'
tags:
uniform: true
rows:
thumb:
row_net: P10
mirror:
row_net: P8
key:
footprints: *quad
mirror: *quad_mirror
key:
bind: [0,0,0,0]
rotate: -20
mirror:
ref: matrix_pinky_home
distance: 223.7529778
outlines:
glue:
classic_s19:
top:
left:
ref: matrix_inner_top
shift: [, 0.5]
right:
ref: mirror_matrix_inner_top
shift: [, 0.5]
bottom:
left:
ref: thumbfan_far_thumb
shift: [0.5, 0]
rotate: 90
right:
ref: mirror_thumbfan_far_thumb
shift: [0.5, 0]
rotate: 90
waypoints:
- percent: 50
width: 50
- percent: 90
width: 25
uniform_s19:
extends: classic_s19
bottom:
left:
ref: unifar_far_thumb
right:
ref: mirror_unifar_far_thumb
classic_s18:
extends: classic_s19
top:
left:
ref: s18_inner_top
right:
ref: mirror_s18_inner_top
uniform_s18:
extends:
- uniform_s19
- classic_s18
exports:
classic_s19_outline:
main:
type: keys
side: both
tags:
- s19
- classic
glue: classic_s19
size: 13.5
corner: .5
uniform_s19_outline:
extends: classic_s19_outline
main:
tags:
- s19
- uniform
glue: uniform_s19
uniform_s18_outline:
extends: uniform_s19_outline
main:
tags:
- s18
- uniform
glue: uniform_s18
mounting_holes:
ring_top:
type: circle
ref: matrix_ring_home
shift: [-10, 5]
radius: 2.25
mirror: true
ring_bottom:
type: circle
ref: matrix_ring_home
shift: [-9, -9]
radius: 2.25
mirror: true
operation: stack
index_top:
type: circle
ref: matrix_index_home
shift: [9.5, 9.5]
radius: 2.25
mirror: true
operation: stack
index_bottom:
type: circle
ref: matrix_index_home
shift: [9.5, -9.5]
radius: 2.25
mirror: true
operation: stack
thumb_near:
type: circle
ref: thumbfan_home_thumb
shift: [-12, 2]
radius: 2.25
mirror: true
operation: stack
thumb_far:
type: circle
ref: thumbfan_home_thumb
shift: [12, 2]
radius: 2.25
mirror: true
operation: stack
middle:
type: circle
ref: thumbfan_home_thumb
shift: [-8, 19]
radius: 2.25
mirror: true
operation: stack
intersected_outline:
one:
type: outline
name: classic_s19_outline
two:
type: outline
name: uniform_s18_outline
operation: intersect
controller_cutout:
type: rectangle
ref:
- s18_inner_top
- mirror_s18_inner_top
shift: [-10, -5]
size: [20, 10]
operation: subtract
mounting_holes:
type: outline
name: mounting_holes
operation: subtract
classic_s19_switches:
main:
type: keys
side: both
tags:
- classic
glue: classic_s19
size: 14
bound: false
uniform_s19_switches:
main:
type: keys
side: both
tags:
- uniform
glue: uniform_s19
size: 14
bound: false
classic_s19_middle:
raw:
type: keys
side: middle
tags:
- s19
- classic
glue: classic_s19
size: 24
helper1:
type: rectangle
size: [25, 5]
ref: thumbfan_home_thumb
shift: [0, 12]
helper2:
type: rectangle
size: [25, 5]
ref: thumbfan_far_thumb
shift: [-25, 12]
helper3:
type: rectangle
size: [25, 5]
ref: mirror_thumbfan_home_thumb
shift: [25, 12]
helper4:
type: rectangle
size: [25, 5]
ref: mirror_thumbfan_far_thumb
shift: [0, 12]
outer_bounds:
type: outline
name: classic_s19_outline
operation: intersect
mounting_holes:
type: outline
name: mounting_holes
operation: stack
pcbs:
main:
edge: intersected_outline
footprints:
mcu:
type: promicro
anchor:
ref:
- s18_inner_top
- mirror_s18_inner_top
shift: [0, -23]
rotate: 270
extra_row_left:
type: pad
anchor:
ref:
- s18_inner_top
- mirror_s18_inner_top
shift: [-15, -10]
nets:
net: 'P20'
params:
width: 3
height: 3
front: false
extra_row_right:
type: pad
anchor:
ref:
- s18_inner_top
- mirror_s18_inner_top
shift: [15, -10]
nets:
net: 'P21'
params:
width: 3
height: 3
front: false