-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathstudyofhands.yaml
159 lines (149 loc) · 3.25 KB
/
studyofhands.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
# ergogen --clean studyofhands.yaml
meta:
engine: 4.1.0
name: studyofhands
version: 0.1
author: willpuckett
url: https://github.com/willpuckett/studyofhands
presets:
# These presets provide different layout options
# Select a preset in the `units` section below
# Note: The appropriate switch footprint will still need to be set in the `pcb` section
choc_spaced:
capx: 17 # Key cap size horizontal
capy: 16 # Key cap size vertical
kx: 18.5 # Key spacing horizontal
ky: 17.5 # Key spacing vertical
pinky_splay: 8 # Degrees of splay between pinky and ring columns
pinky_adj: -46 # Adjustment to compensate for splay spacing
ring_splay: 1
ring_adj: -12
middle_splay: 0
middle_adj: 0
index_stagger: 0.8ky
index_splay: -6
index_adj: -26
thumb_offsetx: 0.25kx
choc_min_spaced:
capx: 14.5
capy: 14.5
kx: 15.5
ky: 15.5
pinky_splay: 5
pinky_adj: -3
ring_splay: 3
ring_adj: -8
middle_splay: 3
middle_adj: -5
thumb_offsetx: 1/3kx
mx_spaced:
capx: 18
capy: 18
kx: 19
ky: 19
pinky_splay: 5
pinky_adj: -4
ring_splay: 3
ring_adj: -10
middle_splay: 0
middle_adj: 0
thumb_offsetx: 0.25kx
mx_min_spaced:
capx: 15.5
capy: 15.5
kx: 16 + 0.5
ky: 16 + 0.5
pinky_splay: 5
pinky_adj: -3
ring_splay: 3
ring_adj: -8
middle_splay: 3
middle_adj: -5
thumb_offsetx: 1/3kx
units:
$extends: presets.choc_spaced
angle: 22 # Angle between halves
# Defaults/Constants
# ====================
$default_height: 0 # Points invisible by default unless height/width explicitly set
$default_width: 0
xiao_x: 17.8
xiao_y: 21
sf: 16
points:
zones.matrix:
anchor.shift: [100, -100] # Fix placement on KiCAD sheet
# rotate: -angle + pinky_splay + ring_splay
key:
width: capx
height: capy
spread: kx
padding: ky
autobind: 0
rows:
bottom:
home:
top:
columns.pinky:
rows:
bottom:
bind: [0.5ky, 0, 0, 0]
home:
bind: [0.5ky, 0, 0, 0]
top:
bind: [0, 0, 0, 0]
zones.thumb:
anchor:
ref: matrix_pinky_bottom
shift: [0, -28]
key.$extends: points.zones.matrix.key
columns:
tucky:
outlines:
_key_outline:
- what: rectangle
bound: true
size: sf
where:
- /matrix_.*/
- /thumb_.*/
_panel:
# fillet: 0 # The index rounding where the glue meets the top center keys
- _key_outline
panel:
- name: _panel
fillet: 2
_switches:
- what: rectangle
size: 14
where:
- /matrix_.*/
- /thumb_.*/
_keycaps:
- what: rectangle
size: [capx, capy]
where:
- /matrix_.*/
- /thumb_.*/
_mcu:
- what: rectangle
where: mcu
size: [xiao_x, xiao_y]
demo_keycaps:
- panel
- ^_keycaps
- ^_mcu
pcbs:
studyofhands:
outlines:
main:
outline: panel
footprints:
switches:
what: choc
where:
- /matrix_.*/
- /thumb_.*/
params:
from: GND
to: "{{name}}"