eepyBoard/ergogen/eepyboard.yml

143 lines
3.4 KiB
YAML

# Ergogen config for the eepyBoard
#
# Reference information:
# - Keycap size (FK MBK keycaps): 17.5mm x 16.5mm
# Define units and default values used throughout this file
units:
# Redefine choc units (keycap size + 1mm clearance)
cx: 18.5
cy: 17.5
# Size of key rectangle in demo view (keycap size)
$default_width: cx-1
$default_height: cy-1
# Actual spacing of keys
$default_spread: cx
$default_padding: cy
# Define the points (i.e. keys)
points:
zones:
# Primary keyboard zone
primary:
# Key rows (from bottom to top)
rows:
# Modifier row (Ctrl, ..., but excluding the thumb keys)
mod:
# Bottom letter row (Shift, Backspace, ZXCV...)
bottom:
# Middle letter row (Esc, ASDFG...)
home:
# Top letter row (Tab, QWERT...)
top:
# Number row (`, 12345...)
num:
# Key columns (from left to right)
columns:
# Left-most column (`, Tab, Esc, Shift, Ctrl)
outer:
key.stagger: 0.25cy
# First letter column (1, QA, ...)
one:
key.stagger: 0.25cy
# Second letter column (2, WSZ)
two:
rows.mod.skip: true
# Third letter column (3, EDX)
three:
rows.mod.skip: true
# Fourth letter column (4, RFC)
four:
rows.mod.skip: true
key.stagger: -0.25cy
# Fifth letter column (5, TGV)
five:
rows.mod.skip: true
key.stagger: -0.25cy
# Thumb fan
thumb:
# Position thumb keys based on the (non-existant) third key in the modifier row
anchor:
ref: primary_three_mod
shift: [ -0.5cx, -0.25cy ]
# Rotate the thumb keys around the bottom-left corner of the key
key:
origin: [ -0.5cx, -0.5cy ]
splay: -8
# Define thumb keys
columns:
one:
two:
three:
four:
# Mirror the board with a distance of 1 key between the upper corners
mirror:
ref: primary_five_num
shift: [ 0.5cx, 0.5cx ]
distance: 1cx
# Slightly rotate each half of the keyboard
rotate: -8
# Generate outlines that can be used in the PCB and for 3D models
outlines:
# Outline of the key caps (like the demo preview; used for debugging)
_keys:
- what: rectangle
where: true
size: [ cx-1, cy-1 ]
# Outline for the PCB
board:
- what: polygon
points:
- ref: primary_outer_num
shift: [ -0.5cx, 0.75cy ]
- ref: primary_five_num
shift: [ 0.5cx, 1.0cy ]
- ref: mirror_primary_five_num
shift: [ 0.5cx, 1.0cy ]
- ref: mirror_primary_outer_num
shift: [ -0.5cx, 0.75cy ]
- ref: mirror_primary_outer_mod
shift: [ -0.5cx, -0.5cy ]
- ref: mirror_thumb_one
shift: [ -0.5cx, -0.5cy ]
- ref: mirror_thumb_four
shift: [ 0.5cx, -0.5cy ]
- ref: thumb_four
shift: [ 0.5cx, -0.5cy ]
- ref: thumb_one
shift: [ -0.5cx, -0.5cy ]
- ref: primary_outer_mod
shift: [ -0.5cx, -0.5cy ]
expand: 2
# Debug version of board with key caps for visualization
board_debug:
- board
- ^_keys
# Cutouts for the switches
switch_cutouts:
- what: rectangle
where: true
size: 14
# Board outline with switch cutouts
switch_plate:
- board
- -switch_cutouts