2022-06-30 08:11:23 -07:00
|
|
|
#
|
|
|
|
# NOTES:
|
|
|
|
#
|
|
|
|
# - The thumb key nets are inverted compared to rest
|
|
|
|
# - The right half column nets are in a strange order
|
|
|
|
#
|
|
|
|
|
2022-04-11 21:34:02 -07:00
|
|
|
units:
|
|
|
|
cx: 18 # Keycap is 17.5mm wide
|
|
|
|
cy: 17 # Keycap is 16.5mm tall
|
|
|
|
kx: cx + 0.5 # Key spacing horizontal
|
|
|
|
ky: cy + 0.5 # Key spacing vertical
|
2022-04-13 08:59:58 -07:00
|
|
|
plate_padding: 2
|
2022-04-12 08:30:27 -07:00
|
|
|
pinky_splay: 6
|
|
|
|
ring_splay: 3
|
2022-04-11 21:34:02 -07:00
|
|
|
angle: 22 # Angle between two halves
|
2022-04-19 08:28:27 -07:00
|
|
|
mounting_hole_radius: 1.5
|
|
|
|
mcu_height: 33
|
|
|
|
mcu_width: 18
|
|
|
|
batt_width: 11.5
|
|
|
|
batt_length: 31.8
|
|
|
|
batt_padding: 1.5
|
2022-04-11 21:34:02 -07:00
|
|
|
points:
|
|
|
|
mirror:
|
|
|
|
ref: matrix_inner_top
|
2022-04-12 08:30:27 -07:00
|
|
|
distance: 50
|
2022-04-11 21:34:02 -07:00
|
|
|
zones:
|
|
|
|
matrix:
|
2022-04-16 09:39:40 -07:00
|
|
|
key:
|
|
|
|
footprints:
|
2022-04-17 19:49:28 -07:00
|
|
|
chocmini:
|
2022-04-20 20:06:29 -07:00
|
|
|
type: chocmini_with_diode
|
2022-04-16 09:39:40 -07:00
|
|
|
nets:
|
2022-04-24 09:26:52 -07:00
|
|
|
from: "=row_net"
|
|
|
|
to: "=column_net"
|
2022-04-12 08:30:27 -07:00
|
|
|
rotate: -angle + pinky_splay + ring_splay
|
2022-04-11 21:34:02 -07:00
|
|
|
columns:
|
|
|
|
pinky:
|
2022-04-16 09:39:40 -07:00
|
|
|
key:
|
2022-04-18 08:47:19 -07:00
|
|
|
column_net: P5
|
|
|
|
mirror.column_net: P18
|
2022-04-11 21:34:02 -07:00
|
|
|
rows:
|
|
|
|
bottom:
|
2022-04-12 08:30:27 -07:00
|
|
|
bind: [0.5ky, 1, 0, 0]
|
2022-04-11 21:34:02 -07:00
|
|
|
home:
|
|
|
|
bind: [0.5ky, 0.5kx, 0.5ky, 0]
|
|
|
|
top:
|
|
|
|
bind: [0, 0.5kx, 0.5ky, 0]
|
|
|
|
ring:
|
2022-04-12 08:30:27 -07:00
|
|
|
rotate: -pinky_splay
|
2022-04-11 21:34:02 -07:00
|
|
|
stagger: 7
|
|
|
|
spread: kx + 1
|
2022-04-16 09:39:40 -07:00
|
|
|
key:
|
2022-04-18 08:47:19 -07:00
|
|
|
column_net: P6
|
|
|
|
mirror.column_net: P15
|
2022-04-11 21:34:02 -07:00
|
|
|
rows:
|
|
|
|
bottom:
|
|
|
|
bind: [0.5ky, 0, 0, 5]
|
|
|
|
home:
|
|
|
|
bind: [0.5ky, 0.5kx, 0.5ky, 0.5kx]
|
|
|
|
top:
|
|
|
|
bind: [0, 0.5kx, 0.5ky, 0]
|
|
|
|
middle:
|
2022-04-12 08:30:27 -07:00
|
|
|
rotate: -ring_splay
|
2022-04-11 21:34:02 -07:00
|
|
|
stagger: 3
|
|
|
|
spread: kx + 1
|
2022-04-16 09:39:40 -07:00
|
|
|
key:
|
2022-04-18 08:47:19 -07:00
|
|
|
column_net: P7
|
|
|
|
mirror.column_net: P14
|
2022-04-11 21:34:02 -07:00
|
|
|
rows:
|
|
|
|
bottom:
|
|
|
|
bind: [0.5ky, 5, 0, 5]
|
|
|
|
home:
|
|
|
|
bind: [0.5ky, 0.5kx, 0.5ky, 0.5kx]
|
|
|
|
top:
|
|
|
|
bind: [0, 0, 0.5ky, 0]
|
|
|
|
index:
|
|
|
|
stagger: -6
|
2022-04-16 09:39:40 -07:00
|
|
|
key:
|
2022-04-18 08:47:19 -07:00
|
|
|
column_net: P8
|
2022-04-16 09:39:40 -07:00
|
|
|
mirror.column_net: P16
|
2022-04-11 21:34:02 -07:00
|
|
|
rows:
|
|
|
|
bottom:
|
|
|
|
bind: [0.5ky, 5, 0, 0]
|
|
|
|
home:
|
|
|
|
bind: [0.5ky, 0.5kx, 0.5ky, 0.5kx]
|
|
|
|
top:
|
|
|
|
bind: [0, 0, 0.5ky, 5]
|
|
|
|
inner:
|
|
|
|
stagger: -4
|
2022-04-16 09:39:40 -07:00
|
|
|
key:
|
2022-04-18 08:47:19 -07:00
|
|
|
column_net: P9
|
|
|
|
mirror.column_net: P10
|
2022-04-11 21:34:02 -07:00
|
|
|
rows:
|
|
|
|
bottom:
|
2022-04-12 08:30:27 -07:00
|
|
|
bind: [0.5ky, 2, 0, 0]
|
2022-04-11 21:34:02 -07:00
|
|
|
home:
|
|
|
|
bind: [0.5ky, 0.5kx, 0.5ky, 0.5kx]
|
|
|
|
top:
|
|
|
|
bind: [0, 5, 0.5ky, 5]
|
|
|
|
rows:
|
|
|
|
bottom:
|
2022-04-18 08:47:19 -07:00
|
|
|
row_net: P3
|
|
|
|
mirror.row_net: P3
|
2022-04-11 21:34:02 -07:00
|
|
|
home:
|
2022-04-18 08:47:19 -07:00
|
|
|
row_net: P2
|
|
|
|
mirror.row_net: P2
|
2022-04-11 21:34:02 -07:00
|
|
|
top:
|
2022-04-18 08:47:19 -07:00
|
|
|
row_net: P1
|
|
|
|
mirror.row_net: P1
|
2022-04-11 21:34:02 -07:00
|
|
|
thumbfan:
|
|
|
|
anchor:
|
|
|
|
ref: matrix_inner_bottom
|
|
|
|
shift: [-(kx/2), -(ky + 2)]
|
2022-04-16 09:39:40 -07:00
|
|
|
key:
|
|
|
|
footprints:
|
2022-04-17 19:49:28 -07:00
|
|
|
chocmini:
|
2022-04-20 20:06:29 -07:00
|
|
|
type: chocmini_with_diode
|
2022-04-17 19:49:28 -07:00
|
|
|
nets:
|
2022-04-20 20:06:29 -07:00
|
|
|
from: "=column_net"
|
2022-04-17 19:49:28 -07:00
|
|
|
to: "=row_net"
|
2022-04-11 21:34:02 -07:00
|
|
|
columns:
|
|
|
|
near:
|
|
|
|
rows:
|
|
|
|
thumb:
|
2022-04-12 08:30:27 -07:00
|
|
|
bind: [10, 5, 0, 1]
|
2022-04-18 08:47:19 -07:00
|
|
|
column_net: P7
|
|
|
|
mirror.column_net: P14
|
2022-04-11 21:34:02 -07:00
|
|
|
home:
|
|
|
|
rotate: -15
|
|
|
|
spread: 20
|
|
|
|
origin: [-10, -9]
|
|
|
|
rows:
|
|
|
|
thumb:
|
2022-04-12 08:30:27 -07:00
|
|
|
bind: [5, 5, 0, 5]
|
2022-04-18 08:47:19 -07:00
|
|
|
column_net: P8
|
2022-04-16 09:39:40 -07:00
|
|
|
mirror.column_net: P16
|
2022-04-11 21:34:02 -07:00
|
|
|
far:
|
|
|
|
rotate: -15
|
|
|
|
spread: 20
|
|
|
|
origin: [-10, -9]
|
|
|
|
rows:
|
|
|
|
thumb:
|
2022-04-12 08:30:27 -07:00
|
|
|
bind: [5, 1, 0, 5]
|
2022-04-18 08:47:19 -07:00
|
|
|
column_net: P9
|
|
|
|
mirror.column_net: P10
|
2022-04-11 21:34:02 -07:00
|
|
|
rows:
|
|
|
|
thumb:
|
2022-04-18 08:47:19 -07:00
|
|
|
row_net: P4
|
|
|
|
mirror.row_net: P4
|
2022-04-11 21:34:02 -07:00
|
|
|
outlines:
|
|
|
|
exports:
|
2022-04-18 19:49:31 -07:00
|
|
|
_mcu:
|
|
|
|
- type: rectangle
|
2022-04-19 08:28:27 -07:00
|
|
|
size: [mcu_width, mcu_height]
|
2022-04-18 19:49:31 -07:00
|
|
|
anchor:
|
|
|
|
ref:
|
|
|
|
- matrix_inner_top
|
|
|
|
- mirror_matrix_inner_top
|
|
|
|
shift:
|
2022-04-19 08:28:27 -07:00
|
|
|
- -mcu_width/2
|
|
|
|
- -mcu_height + 1
|
2022-04-18 19:49:31 -07:00
|
|
|
_battery:
|
|
|
|
- type: rectangle
|
2022-04-19 08:28:27 -07:00
|
|
|
size: [batt_length, batt_width]
|
2022-04-18 19:49:31 -07:00
|
|
|
anchor:
|
|
|
|
ref:
|
2022-04-19 08:28:27 -07:00
|
|
|
- matrix_inner_top
|
|
|
|
- mirror_matrix_inner_top
|
2022-04-18 19:49:31 -07:00
|
|
|
shift:
|
2022-04-19 08:28:27 -07:00
|
|
|
- -batt_length/2
|
|
|
|
- -mcu_height - batt_width - 6 # Below the MCU and bat pads
|
2022-04-18 19:49:31 -07:00
|
|
|
_battery_cutout:
|
|
|
|
- type: rectangle
|
2022-04-19 08:28:27 -07:00
|
|
|
size:
|
|
|
|
- batt_length + 2 batt_padding
|
|
|
|
- batt_width + 2 batt_padding
|
2022-04-18 19:49:31 -07:00
|
|
|
anchor:
|
|
|
|
ref:
|
2022-04-19 08:28:27 -07:00
|
|
|
- matrix_inner_top
|
|
|
|
- mirror_matrix_inner_top
|
2022-04-18 19:49:31 -07:00
|
|
|
shift:
|
2022-04-19 08:28:27 -07:00
|
|
|
- -(batt_length + 2 batt_padding)/2 # Half the width
|
|
|
|
- -mcu_height - batt_width - 6 - batt_padding # Below the MCU and bat pads
|
2022-04-11 21:34:02 -07:00
|
|
|
_key_outline:
|
|
|
|
- type: keys
|
|
|
|
side: both
|
|
|
|
size: 16
|
|
|
|
_center:
|
|
|
|
- type: polygon
|
|
|
|
points:
|
|
|
|
- ref: matrix_inner_top
|
2022-04-12 08:30:27 -07:00
|
|
|
shift: [cx/2, cy/2-1]
|
2022-04-11 21:34:02 -07:00
|
|
|
- ref: mirror_matrix_inner_top
|
2022-04-12 08:30:27 -07:00
|
|
|
shift: [cx/2, cy/2-1]
|
|
|
|
- ref: mirror_thumbfan_home_thumb
|
|
|
|
shift: [-cx/3, cy/2]
|
2022-04-11 21:34:02 -07:00
|
|
|
- ref: mirror_thumbfan_far_thumb
|
2022-04-12 08:30:27 -07:00
|
|
|
shift: [cx/2, -cy/2+0.5]
|
2022-04-11 21:34:02 -07:00
|
|
|
- ref: thumbfan_far_thumb
|
2022-04-12 08:30:27 -07:00
|
|
|
shift: [cx/2, -cy/2+0.5]
|
|
|
|
- ref: thumbfan_home_thumb
|
|
|
|
shift: [-cx/3, cy/2]
|
2022-04-13 08:59:58 -07:00
|
|
|
- type: circle # Bottom center arc
|
2022-04-12 22:00:16 -07:00
|
|
|
operation: subtract
|
|
|
|
anchor:
|
|
|
|
ref:
|
|
|
|
- thumbfan_far_thumb
|
|
|
|
- mirror_thumbfan_far_thumb
|
|
|
|
shift: [0, -38]
|
|
|
|
radius: 31
|
2022-04-13 08:59:58 -07:00
|
|
|
- type: circle # Top center arc
|
2022-04-12 22:00:16 -07:00
|
|
|
operation: subtract
|
|
|
|
anchor:
|
|
|
|
ref:
|
|
|
|
- matrix_inner_top
|
|
|
|
- mirror_matrix_inner_top
|
|
|
|
shift: [0, 32]
|
|
|
|
radius: 31
|
2022-04-12 08:30:27 -07:00
|
|
|
_bottom_arc:
|
|
|
|
- type: polygon
|
|
|
|
mirror: true
|
|
|
|
points:
|
|
|
|
- ref: matrix_pinky_bottom
|
|
|
|
shift: [cx/2, -cy/2+0.5]
|
|
|
|
- ref: thumbfan_near_thumb
|
|
|
|
shift: [-cx/2, -cy/2+0.5]
|
|
|
|
- ref: matrix_inner_bottom
|
|
|
|
shift: [cx/2, cy/2]
|
|
|
|
- ref: matrix_pinky_bottom
|
|
|
|
shift: [cx/2, cy/2]
|
|
|
|
- type: circle
|
|
|
|
mirror: true
|
|
|
|
operation: subtract
|
|
|
|
anchor:
|
|
|
|
ref: matrix_pinky_bottom
|
|
|
|
shift: [0, -76.5]
|
|
|
|
radius: 69
|
2022-04-11 21:34:02 -07:00
|
|
|
_keycaps:
|
|
|
|
- type: keys
|
|
|
|
side: both
|
|
|
|
size: [cx, cy]
|
|
|
|
bound: false
|
2022-04-19 08:28:27 -07:00
|
|
|
_top_plate_mounting_holes:
|
|
|
|
- type: circle
|
|
|
|
anchor:
|
|
|
|
ref:
|
|
|
|
- thumbfan_home_thumb
|
|
|
|
- thumbfan_far_thumb
|
|
|
|
shift: [0, 3.8 cy]
|
|
|
|
mirror: true
|
|
|
|
radius: mounting_hole_radius
|
|
|
|
- type: circle
|
|
|
|
anchor:
|
|
|
|
ref:
|
|
|
|
- thumbfan_home_thumb
|
|
|
|
- thumbfan_far_thumb
|
|
|
|
shift: [0, cy]
|
|
|
|
mirror: true
|
|
|
|
radius: mounting_hole_radius
|
|
|
|
_battery_mounting_holes:
|
|
|
|
- type: circle
|
|
|
|
anchor:
|
|
|
|
ref:
|
|
|
|
- matrix_inner_bottom
|
|
|
|
- mirror_matrix_inner_bottom
|
|
|
|
shift: [-22, -11]
|
|
|
|
radius: mounting_hole_radius
|
|
|
|
- type: circle
|
|
|
|
anchor:
|
|
|
|
ref:
|
|
|
|
- matrix_inner_bottom
|
|
|
|
- mirror_matrix_inner_bottom
|
|
|
|
shift: [22, -11]
|
|
|
|
radius: mounting_hole_radius
|
2022-04-11 21:34:02 -07:00
|
|
|
_panel:
|
2022-04-18 19:49:31 -07:00
|
|
|
- _key_outline
|
|
|
|
- +_center
|
|
|
|
- +_bottom_arc
|
|
|
|
- -_battery_cutout
|
2022-04-11 21:34:02 -07:00
|
|
|
panel:
|
|
|
|
- name: _panel
|
2022-04-12 08:30:27 -07:00
|
|
|
fillet: 1.5
|
2022-04-19 08:28:27 -07:00
|
|
|
- -_top_plate_mounting_holes
|
|
|
|
- -_battery_mounting_holes
|
2022-04-13 08:59:58 -07:00
|
|
|
top_plate:
|
|
|
|
- type: polygon
|
|
|
|
points:
|
|
|
|
- ref: matrix_inner_top
|
|
|
|
shift: [cx/2 + plate_padding, cy/2-1]
|
|
|
|
- ref: mirror_matrix_inner_top
|
|
|
|
shift: [cx/2 + plate_padding, cy/2-1]
|
|
|
|
- ref: mirror_matrix_inner_bottom
|
|
|
|
shift: [cx/2 + plate_padding, -cy/2]
|
|
|
|
- ref: mirror_thumbfan_far_thumb
|
|
|
|
shift: [-cx/2, cy/2 + plate_padding]
|
|
|
|
- ref: thumbfan_far_thumb
|
|
|
|
shift: [-cx/2, cy/2 + plate_padding]
|
|
|
|
- ref: matrix_inner_bottom
|
|
|
|
shift: [cx/2 + plate_padding, -cy/2]
|
|
|
|
- type: circle # Match the top center arc
|
|
|
|
operation: subtract
|
|
|
|
anchor:
|
|
|
|
ref:
|
|
|
|
- matrix_inner_top
|
|
|
|
- mirror_matrix_inner_top
|
|
|
|
shift: [0, 32]
|
|
|
|
radius: 31
|
2022-04-11 21:34:02 -07:00
|
|
|
demo_keycaps:
|
|
|
|
- panel
|
|
|
|
- ^_keycaps
|
2022-04-12 08:30:27 -07:00
|
|
|
demo_center:
|
|
|
|
- _center
|
|
|
|
- ^_keycaps
|
2022-04-18 19:49:31 -07:00
|
|
|
demo_battery:
|
|
|
|
- panel
|
|
|
|
- ^_mcu
|
|
|
|
- ^_keycaps
|
|
|
|
- ^top_plate
|
|
|
|
- ^_battery
|
2022-04-16 09:39:40 -07:00
|
|
|
pcbs:
|
|
|
|
chrysemeys:
|
|
|
|
outlines:
|
|
|
|
main:
|
|
|
|
outline: panel
|
2022-04-18 08:47:19 -07:00
|
|
|
footprints:
|
|
|
|
mcu:
|
|
|
|
type: promicro
|
|
|
|
params:
|
|
|
|
orientation: up
|
|
|
|
anchor:
|
|
|
|
ref:
|
|
|
|
- matrix_inner_top
|
|
|
|
- mirror_matrix_inner_top
|
|
|
|
rotate: -90
|
2022-04-18 19:25:53 -07:00
|
|
|
shift: [0, -16]
|
2022-04-20 20:06:29 -07:00
|
|
|
battery_pads:
|
|
|
|
type: battery_pads
|
|
|
|
nets:
|
|
|
|
neg: GND
|
|
|
|
pos: BATT
|
|
|
|
anchor:
|
|
|
|
ref:
|
|
|
|
- matrix_inner_top
|
|
|
|
- mirror_matrix_inner_top
|
|
|
|
shift: [0, -34]
|
2022-04-24 09:26:52 -07:00
|
|
|
reset:
|
|
|
|
type: two_lead_button
|
2022-04-18 19:25:53 -07:00
|
|
|
nets:
|
2022-04-24 09:26:52 -07:00
|
|
|
from: RST
|
|
|
|
to: GND
|
2022-04-18 19:25:53 -07:00
|
|
|
anchor:
|
|
|
|
ref:
|
2022-04-20 20:06:29 -07:00
|
|
|
- thumbfan_far_thumb
|
|
|
|
- mirror_thumbfan_far_thumb
|
2022-04-24 09:26:52 -07:00
|
|
|
shift: [0, 2]
|
2022-04-20 20:06:29 -07:00
|
|
|
power:
|
|
|
|
type: slider
|
|
|
|
nets:
|
|
|
|
from: BATT
|
|
|
|
to: RAW
|
|
|
|
anchor:
|
|
|
|
ref:
|
|
|
|
- thumbfan_far_thumb
|
|
|
|
- mirror_thumbfan_far_thumb
|
|
|
|
shift: [0, -4]
|
|
|
|
rotate: 180
|