units: # Proxy Spacing Variables kx: cx ky: cy # Padding Variables px: kx + 4 py: ky + 4 # Double Padding Variables dpx: kx + 8 dpy: ky + 8 points: zones: # The primary 6x4 key matrix, plus 3 modifiers. matrix: # Position in center of KiCAD workspace. anchor: shift: [100, -100] # Choc spacing key: padding: 1ky spread: 1kx columns: # Hide the first two mods and the last mod. # Provide a Sofle-like column stagger. outer: rows.mod.skip: true key.column_net: P14 pinky: rows.mod.skip: true key.column_net: P16 ring: key: stagger: 5 column_net: P10 rows.mod.column_net: P16 middle: key: stagger: 2.5 column_net: P7 rows.mod.column_net: P10 index: key: stagger: -2.5 column_net: P8 rows.mod.column_net: P7 inner: rows.mod.skip: true key: stagger: -2.5 column_net: P9 rows: # Four main rows, one partial row. mod: row_net: P15 mirror.row_net: P6 bottom: row_net: P18 mirror.row_net: P5 home: row_net: P19 mirror.row_net: P4 top: row_net: P20 mirror.row_net: P0 num: row_net: P21 mirror.row_net: P1 # Thumb cluster for Layer and Space keys. thumbs: # Choc spacing key: padding: 1ky spread: 1kx # Place thumbs where the inner mod would go. anchor: ref: matrix_inner_mod shift: [2, -2] columns: # Fan thumbs out by -15 degrees. layer: key: splay: -15 column_net: P8 # Spacebar uses a 1.5 wide key. space: key: width: 1.5kx splay: 75 shift: [2.5, -3.25] column_net: P9 rows: # Thumbs only have one row. cluster: row_net: P15 mirror.row_net: P6 outlines: # Pure key outline. raw: - what: rectangle where: true size: [px, py] corner: 2 - what: rectangle size: [50, 85] adjust: ref: matrix_inner_num shift: [12.8, -29.8] corner: 3 cutout: - what: outline name: raw fillet: 1 keys: - what: rectangle where: true size: [kx-0.5, ky-0.5] pcbs: tutorial: outlines: main: outline: cutout footprints: # Hotswap Choc keys. choc_hotswap: what: choc where: true params: keycaps: true reverse: false hotswap: true from: "{{column_net}}" to: "{{colrow}}" # Through Hole or SMD Diodes diode: what: diode where: true params: from: "{{colrow}}" to: "{{row_net}}" adjust: shift: [0, -5] promicro: what: promicro_pretty adjust: ref: matrix_inner_num shift: [23.5, -10] rotate: -90 # Four Pin Reset Button reset: what: button params: from: GND to: RST adjust: ref: matrix_inner_num shift: [23.5, -30]