ergogen/config/regular.yaml
2020-06-07 13:42:55 +02:00

109 lines
No EOL
2.4 KiB
YAML

zones:
matrix:
anchor:
angle: 5
columns:
- name: pinky
rotate: -5
origin: [7, -7]
rows:
- bind_x:
- bind_x: right
- bind_x: right
- name: ring
stagger: 12
rows:
- bind_x: left
- bind_x: right
- bind_x: right
- name: middle
stagger: 5
rows:
- bind_x: both
- bind_x: both
- bind_x:
- name: index
stagger: -6
rows:
- bind_x: right
- bind_x: left
- bind_x: left
- name: inner
stagger: -2
rows:
- bind_x:
- bind_x: left
- bind_x: left
rows:
- name: bottom
bind_y: up
- name: home
bind_y: up
- name: top
thumbfan:
anchor:
ref: inner_bottom
shift: [-7, -19]
columns:
- name: near
column_wire: ring
padding: 21.25
rotate: -28
origin: [9.5, -9]
rows:
- bind_x: right
- name: home
column_wire: middle
padding: 21.25
rotate: -28
origin: [11.75, -9]
rows:
- bind_x: both
- name: far
column_wire: index
rows:
- bind_x: left
rows:
- name: thumb
bind_y: up
angle: -20
mirror:
ref: pinky_home
# The mk1's origin was the bottom left corner of the bottom pinky key.
# But it later got rotated by the bottom *right* corner as the pinky angle
# and then rotated again for the inter-half angle so [0, 0] was nowhere on
# the actual result.
#
# Since the new origin is the center of the pinky home, we have to convert
# the old, round 250 width to this new coordinate system if we want backward
# compatibility. The following snippet was used to arrive at this distance.
#
# old_origin = new Point(7, 7 + 19)
# old_origin.rotate(5, [14, 0])
# old_origin.rotate(-20, [0, 0])
# new_width = 250 - (2 * old_origin.x)
distance: 223.7529778
outline:
footprint: 18
bind: 10
corner: 0.5
glue:
top:
left:
key: inner_top
line: top
right:
key: mirror_inner_top
line: top
bottom:
left:
key: far_thumb
line: right
right:
key: mirror_far_thumb
line: left
waypoints:
- percent: 50
width: 100
- percent: 90
width: 50