units: kx: cx ky: cy px: 2 py: 2 step: .5 points: key: footprints: mx_hotswap: type: choc params: hotswap: true reverse: false keycaps: true nets: from: =colrow to: =column_net diode: type: diode nets: from: =colrow to: =row_net anchor: shift: [0, -5] rotate: 180 zones: matrix: columns: pinky: key: column_net: P21 mirror: { column_net: P2 } ring: spread: kx + step stagger: 4 key: column_net: P20 mirror: { column_net: P3 } middle: spread: kx + step stagger: 5 key: column_net: P19 mirror: { column_net: P4 } index: spread: kx + step stagger: -5 key: column_net: P18 mirror: { column_net: P5 } inner: spread: kx + step stagger: -6 key: column_net: P15 mirror: { column_net: P6 } thumb: spread: kx + step stagger: 10 row_overrides: bottom: key: column_net: P14 mirror: { column_net: P7} rows: bottom: row_net: P16 home: spread: ky + step row_net: P10 top: spread: ky + step row_net: P9 num: spread: ky + step row_net: P8 rotate: -23 mirror: ref: matrix_thumb_bottom distance: 42 outlines: exports: # outer border outer: - type: polygon points: - ref: matrix_inner_num shift: [10, 10] - ref: matrix_middle_num shift: [10, 10] - ref: matrix_middle_num shift: [-10, 10] - ref: matrix_pinky_num shift: [-10, 10] - ref: matrix_pinky_bottom shift: [-10, -10] - ref: matrix_pinky_bottom shift: [10, -10] - ref: matrix_inner_bottom shift: [-10, -10] - ref: matrix_inner_bottom shift: [10, -10] - ref: mirror_matrix_inner_bottom shift: [10, -10] - ref: mirror_matrix_inner_bottom shift: [-10, -10] - ref: mirror_matrix_pinky_bottom shift: [10, -10] - ref: mirror_matrix_pinky_bottom shift: [-10, -10] - ref: mirror_matrix_pinky_num shift: [-10, 10] - ref: mirror_matrix_middle_num shift: [-10, 10] - ref: mirror_matrix_middle_num shift: [10, 10] - ref: mirror_matrix_inner_num shift: [10, 10] farinner: - type: polygon points: - ref: matrix_inner_num shift: [10, 10.3] - ref: matrix_middle_num shift: [10.3, 10.3] - ref: matrix_middle_num shift: [-10.3, 10.3] - ref: matrix_pinky_num shift: [-10.3, 10.3] - ref: matrix_pinky_bottom shift: [-10.3, -10.3] - ref: matrix_pinky_bottom shift: [10.3, -10.3] - ref: matrix_inner_bottom shift: [-10.3, -10.3] - ref: matrix_inner_bottom shift: [10.3, -10.3] - ref: mirror_matrix_inner_bottom shift: [10.3, -10.3] - ref: mirror_matrix_inner_bottom shift: [-10.3, -10.3] - ref: mirror_matrix_pinky_bottom shift: [10.3, -10.3] - ref: mirror_matrix_pinky_bottom shift: [-10.3, -10.3] - ref: mirror_matrix_pinky_num shift: [-10.3, 10.3] - ref: mirror_matrix_middle_num shift: [-10.3, 10.3] - ref: mirror_matrix_middle_num shift: [10.3, 10.3] - ref: mirror_matrix_inner_num shift: [10, 10.3] farouter: - type: polygon points: - ref: matrix_inner_num shift: [10, 12] - ref: matrix_middle_num shift: [12, 12] - ref: matrix_middle_num shift: [-12, 12] - ref: matrix_pinky_num shift: [-12, 12] - ref: matrix_pinky_bottom shift: [-12, -12] - ref: matrix_pinky_bottom shift: [12, -12] - ref: matrix_inner_bottom shift: [-12, -12] - ref: matrix_inner_bottom shift: [12, -12] - ref: mirror_matrix_inner_bottom shift: [12, -12] - ref: mirror_matrix_inner_bottom shift: [-12, -12] - ref: mirror_matrix_pinky_bottom shift: [12, -12] - ref: mirror_matrix_pinky_bottom shift: [-12, -12] - ref: mirror_matrix_pinky_num shift: [-12, 12] - ref: mirror_matrix_middle_num shift: [-12, 12] - ref: mirror_matrix_middle_num shift: [12, 12] - ref: mirror_matrix_inner_num shift: [10, 12] #- type: keys # side: both # size: 20 # corner: 1 #- type: polygon # points: # - ref: matrix_inner_num # shift: [0, -5] # - ref: matrix_thumb_bottom # shift: [-10, -10] # - ref: mirror_matrix_thumb_bottom # shift: [-10, -10] # - ref: mirror_matrix_inner_num # shift: [0, -5] chip: # cutout for the chip itself - type: rectangle size: [18, 50] anchor: ref: [matrix_inner_top, mirror_matrix_inner_top] shift: [-9, -24.5] # 14mm holes for cherry switches keyholes: - type: keys side: both size: 13.5 bound: false # switchplate switchplate: - outer - -keyholes - -chip cases: switchp: - type: outline name: switchplate extrude: 1.3 outercase: - type: outline name: farouter extrude: 6.3 - type: outline name: farinner extrude: 5 shift: [0, 0, 1.3] operation: subtract - type: outline name: keyholes extrude: 1.3 operation: subtract - type: outline name: chip extrude: 6.3 operation: subtract pcbs: main: outlines: outer: outline: outer footprints: reset: type: button nets: from: RST to: GND anchor: ref: [matrix_inner_bottom, mirror_matrix_inner_bottom] rotate: 90 mcu: type: promicro anchor: rotate: 270 ref: [matrix_inner_top, mirror_matrix_inner_top] shift: [0, -4]