445 lines
10 KiB
YAML
445 lines
10 KiB
YAML
meta:
|
|
engine: 4.0.2
|
|
name: corney-island
|
|
version: 0.1
|
|
ref: &kb_ref "Corney Island v0.1"
|
|
author: ceoloide
|
|
url: https://github.com/ceoloide/corney-island
|
|
footprint: &switch_footprint "mx"
|
|
switch:
|
|
$extends: presets.mx
|
|
|
|
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
|
|
mx:
|
|
# Key and keycap measures
|
|
kx: u # spacing between key centers (X-axis)
|
|
ky: u # spacing between key centers (Y-axis)
|
|
ks: 19 # horizontal space between columns (default: 19)
|
|
kp: 19 # vertical padding between keys (deafult: 19)
|
|
kcow: 14 # key cutout hole width (cherry: 14, choc: 13.8)
|
|
kcoh: 14 # key cutout hole height (cherry: 14, choc: 13.8)
|
|
keycw: 18 # keycap width (cherry: 18, choc: 17.5)
|
|
keych: 18 # keycap height (cherry: 18, choc: 16.5)
|
|
led_pos_x: 0 # Led X position relative to the switch center
|
|
led_pos_y: -4.75 # Led Y position relative to the switch center
|
|
led_cut_w: 3.6 # Led cutout width
|
|
led_cut_h: 3.1 # Led cutout height
|
|
switch_rotation: 0 # Hotswap north, led south
|
|
choc:
|
|
# Key and keycap measures
|
|
kx: cx # spacing between key centers (X-axis)
|
|
ky: cy # spacing between key centers (Y-axis)
|
|
ks: 18.5 # horizontal space between columns (default: 19)
|
|
kp: 17.5 # vertical padding between keys (deafult: 19)
|
|
kcow: 13.8 # key cutout hole width (cherry: 14, choc: 13.8)
|
|
kcoh: 13.8 # key cutout hole height (cherry: 14, choc: 13.8)
|
|
keycw: 17.5 # keycap width (cherry: 18, choc: 17.5)
|
|
keych: 16.5 # keycap height (cherry: 18, choc: 16.5)
|
|
led_pos_x: 0 # Led X position relative to the switch center
|
|
led_pos_y: 5.5 # Led Y position relative to the switch center
|
|
led_cut_w: 3.5 # Led cutout width
|
|
led_cut_h: 4.5 # Led cutout height
|
|
switch_rotation: 180 # Hotswap south, led north
|
|
choc_mx_spacing:
|
|
# Key and keycap measures
|
|
$extends: presets.choc
|
|
kx: u # spacing between key centers (X-axis)
|
|
ky: u # spacing between key centers (Y-axis)
|
|
ks: 19 # horizontal space between columns (default: 19)
|
|
kp: 19 # vertical padding between keys (deafult: 19)
|
|
|
|
units:
|
|
# The following statements will make the content of the preset
|
|
# available in the units context
|
|
$extends: meta.switch
|
|
|
|
hand_rotation: 0
|
|
|
|
# Physical measures
|
|
screw_radius: 1.1 # M2 screws
|
|
spacer_radius: 2.05 # M2 standoffs
|
|
fillet_radius: 0.5
|
|
|
|
# Thumb splay
|
|
splay_thumb_middle: -15
|
|
splay_thumb_far: -15
|
|
|
|
points:
|
|
zones:
|
|
# Main key matrix
|
|
matrix:
|
|
key:
|
|
padding: kp
|
|
spread: ks
|
|
tags:
|
|
- key
|
|
- matrix_key
|
|
anchor:
|
|
rotate: hand_rotation
|
|
shift: [100, -100] # Fix KiCad placement
|
|
columns:
|
|
outer:
|
|
key:
|
|
column_net: C0
|
|
pinky:
|
|
key:
|
|
column_net: C1
|
|
ring:
|
|
key:
|
|
stagger: 0.25 kp
|
|
column_net: C2
|
|
middle:
|
|
key:
|
|
stagger: 0.125 kp
|
|
column_net: C3
|
|
index:
|
|
key:
|
|
stagger: -0.125 kp
|
|
column_net: C4
|
|
inner:
|
|
key:
|
|
stagger: -0.125 kp
|
|
column_net: C5
|
|
rows:
|
|
bottom:
|
|
row_net: R0
|
|
home:
|
|
row_net: R1
|
|
top:
|
|
row_net: R2
|
|
|
|
# Thumb cluster
|
|
thumbfan:
|
|
key:
|
|
padding: 0
|
|
spread: 0
|
|
stagger: 0
|
|
tags:
|
|
- key
|
|
- thumb_key
|
|
anchor:
|
|
ref: matrix_middle_bottom
|
|
shift: [0.5 ks, -kp -3]
|
|
columns:
|
|
near:
|
|
key:
|
|
column_net: C3
|
|
middle:
|
|
key:
|
|
splay: splay_thumb_middle
|
|
column_net: C4
|
|
stagger: -2.750
|
|
spread: ks + 2
|
|
far:
|
|
key:
|
|
splay: splay_thumb_far
|
|
rotate: 90
|
|
column_net: C5
|
|
stagger: 2.122
|
|
spread: ks + 3.463
|
|
rows:
|
|
home:
|
|
row_net: R3
|
|
|
|
outlines:
|
|
_switch_cutouts:
|
|
- what: rectangle
|
|
where: true
|
|
size: [kcow, kcoh]
|
|
|
|
_key_led_cutouts:
|
|
- what: rectangle
|
|
where: true
|
|
size: [led_cut_w, led_cut_h]
|
|
adjust:
|
|
shift: [led_pos_x, led_pos_y]
|
|
|
|
_backplate_additional_outline:
|
|
- what: rectangle
|
|
where:
|
|
- matrix_inner_top
|
|
size: [20, 3.5 kp]
|
|
adjust:
|
|
shift: [ks + (20 - ks) / 2, -1.25 kp -0.125 kp]
|
|
operation: stack
|
|
- what: rectangle
|
|
adjust:
|
|
ref: thumbfan_far_home
|
|
size: [1.5 ks, 1.75 kp]
|
|
operation: subtract
|
|
|
|
_matrix_outline:
|
|
- what: rectangle
|
|
where: [matrix_key]
|
|
size: [ks, kp]
|
|
|
|
_plate_outline:
|
|
- what: outline
|
|
name: _matrix_outline
|
|
- what: rectangle
|
|
adjust:
|
|
ref: thumbfan_far_home
|
|
shift: [0, 0.275 kp]
|
|
size: [1.5 ks, 1.5 kp]
|
|
- what: rectangle
|
|
adjust:
|
|
ref: matrix_ring_bottom
|
|
shift: [0, -0.5 kp]
|
|
size: [3 ks, 0.5 kp]
|
|
- what: polygon
|
|
points:
|
|
- ref: matrix_pinky_bottom
|
|
shift: [1.5 ks, -0.5 kp]
|
|
- ref: thumbfan_near_home
|
|
shift: [-0.5 ks, -0.5 kp]
|
|
- ref: thumbfan_far_home
|
|
shift: [-0.75 ks, 0.5 kp]
|
|
- ref: thumbfan_far_home
|
|
shift: [0.75 ks, 0.5 kp]
|
|
- ref: thumbfan_near_home
|
|
shift: [-0.5 ks, 0.75 kp]
|
|
|
|
_screws:
|
|
- &circle
|
|
what: circle
|
|
radius: screw_radius
|
|
adjust:
|
|
ref: matrix_pinky_top
|
|
shift: [-0.5 ks, -0.5 kp]
|
|
- <<: *circle
|
|
adjust:
|
|
ref: matrix_pinky_home
|
|
shift: [-0.5 ks, -0.5 kp]
|
|
- <<: *circle
|
|
adjust:
|
|
ref: matrix_inner_top
|
|
shift: [-0.5 ks -0.032, -0.5 kp + 1.139]
|
|
- <<: *circle
|
|
adjust:
|
|
ref: thumbfan_near_home
|
|
shift: [-0.5 ks -4.343, 7.135]
|
|
- <<: *circle
|
|
adjust:
|
|
ref: thumbfan_far_home
|
|
shift: [0, 0.5 kp + 2]
|
|
|
|
_spacers:
|
|
- &bigCircle
|
|
what: circle
|
|
radius: spacer_radius
|
|
adjust:
|
|
ref: matrix_pinky_top
|
|
shift: [-0.5 ks, -0.5 kp]
|
|
- <<: *bigCircle
|
|
adjust:
|
|
ref: matrix_pinky_home
|
|
shift: [-0.5 ks, -0.5 kp]
|
|
- <<: *bigCircle
|
|
adjust:
|
|
ref: matrix_inner_top
|
|
shift: [-0.5 ks -0.032, -0.5 kp + 1.139]
|
|
- <<: *bigCircle
|
|
adjust:
|
|
ref: thumbfan_near_home
|
|
shift: [-0.5 ks -4.343, 7.135]
|
|
- <<: *bigCircle
|
|
adjust:
|
|
ref: thumbfan_far_home
|
|
shift: [0, 0.5 kp + 2.631]
|
|
|
|
_controller_overlay_screws:
|
|
- <<: *circle
|
|
adjust:
|
|
- ref: matrix_inner_bottom
|
|
shift: [0.67 ks + 0.032, -0.15 kp - 0.001]
|
|
- <<: *circle
|
|
adjust:
|
|
- ref: matrix_inner_bottom
|
|
shift: [1.45 ks - 0.356, -0.6 ks + 0.03]
|
|
|
|
_keycap_outlines:
|
|
- what: rectangle
|
|
fillet: 2
|
|
where: true
|
|
size: [keycw, keych]
|
|
|
|
_backplate_outline:
|
|
- what: outline
|
|
name: _plate_outline
|
|
- what: outline
|
|
name: _backplate_additional_outline
|
|
operation: add
|
|
|
|
backplate:
|
|
- what: outline
|
|
name: _backplate_outline
|
|
fillet: fillet_radius
|
|
- what: outline
|
|
name: _screws
|
|
operation: subtract
|
|
|
|
pcb:
|
|
- what: outline
|
|
name: backplate
|
|
- what: outline
|
|
name: _spacers
|
|
operation: subtract
|
|
- what: outline
|
|
name: _controller_overlay_screws
|
|
operation: subtract
|
|
- what: outline
|
|
name: _key_led_cutouts
|
|
operation: subtract
|
|
|
|
frontplate:
|
|
- what: outline
|
|
name: _plate_outline
|
|
fillet: fillet_radius
|
|
- what: outline
|
|
name: _switch_cutouts
|
|
operation: subtract
|
|
- what: outline
|
|
name: _screws
|
|
operation: subtract
|
|
|
|
controller_overlay:
|
|
- what: outline
|
|
name: _backplate_additional_outline
|
|
fillet: fillet_radius
|
|
- what: outline
|
|
name: _controller_overlay_screws
|
|
operation: subtract
|
|
|
|
_debug:
|
|
- what: outline
|
|
name: frontplate
|
|
operation: stack
|
|
- what: outline
|
|
name: controller_overlay
|
|
operation: stack
|
|
|
|
preview:
|
|
- what: outline
|
|
name: backplate
|
|
- what: outline
|
|
name: pcb
|
|
operation: stack
|
|
- what: outline
|
|
name: frontplate
|
|
operation: stack
|
|
- what: outline
|
|
name: controller_overlay
|
|
operation: stack
|
|
- what: outline
|
|
name: _keycap_outlines
|
|
operation: stack
|
|
|
|
pcbs:
|
|
backplate:
|
|
outlines:
|
|
main:
|
|
outline: backplate
|
|
|
|
frontplate:
|
|
outlines:
|
|
main:
|
|
outline: frontplate
|
|
|
|
controller_overlay:
|
|
outlines:
|
|
main:
|
|
outline: controller_overlay
|
|
|
|
corney_island:
|
|
outlines:
|
|
main:
|
|
outline: pcb
|
|
|
|
footprints:
|
|
key_switches:
|
|
what: *switch_footprint
|
|
where: [key]
|
|
params:
|
|
reverse: true
|
|
hotswap: true
|
|
keycaps: false
|
|
from: "{{column_net}}"
|
|
to: "{{colrow}}"
|
|
adjust:
|
|
rotate: switch_rotation
|
|
|
|
column_vias:
|
|
what: via
|
|
where: [key]
|
|
params:
|
|
net: "{{column_net}}"
|
|
adjust:
|
|
shift: [-7, 0]
|
|
|
|
diodes:
|
|
what: combo_diode
|
|
where: [key]
|
|
params:
|
|
from: "{{colrow}}"
|
|
to: "{{row_net}}"
|
|
include_tht: false
|
|
adjust:
|
|
shift: [0.5 kcow + 0.8, -3.5]
|
|
rotate: 90
|
|
|
|
mcu:
|
|
what: promicro_pretty
|
|
where: matrix_inner_top
|
|
params:
|
|
P0: data
|
|
P21: C0
|
|
P20: C1
|
|
P19: C2
|
|
P18: C3
|
|
P15: C4
|
|
P14: C5
|
|
P2: SDA
|
|
P3: SCL
|
|
P4: R0
|
|
P5: R1
|
|
P6: R2
|
|
P7: R3
|
|
adjust:
|
|
shift: [19.704, 0.5 kp -0.125 kp -19.3 -0.340]
|
|
rotate: -90
|
|
|
|
oled:
|
|
what: oled
|
|
where: matrix_inner_top
|
|
params:
|
|
SDA: SDA
|
|
SCL: SCL
|
|
adjust:
|
|
shift: [0.5 ks + 4.161, 0.5 kp -0.125 kp - 19.3 - 22.65 - 0.398]
|
|
rotate: 90
|
|
|
|
reset_switch:
|
|
what: reset_switch
|
|
where: matrix_inner_top
|
|
params:
|
|
from: GND
|
|
to: RST
|
|
adjust:
|
|
shift: [0.5 ks + 18 - 0.183, 0.5 kp -0.125 kp - 19.3 - 20.65 - 0.301]
|
|
rotate: -90
|
|
|
|
trrs:
|
|
what: trrs
|
|
where: matrix_inner_top
|
|
params:
|
|
A: J1-PadA
|
|
B: data
|
|
C: GND
|
|
D: VCC
|
|
adjust:
|
|
shift: [0.5 ks + 19.2 + 0.41, 0.5 kp -0.125 kp - 19.3 - 30.75 -0.26]
|
|
rotate: -90
|