units: kx: cx # cx=18 ky: cy # cy=17 mbkx: 17.5 mbky: 16.5 padding: 2 px: kx+padding py: ky+padding mcu_height: 34 mcu_width: 18 mcu_padding: 2 points: zones: matrix: # fix placement on kicad anchor.shift: [150, -200] key: tags: [switch] padding: 1ky spread: 1kx columns: outer2: rows: mod.skip: true bottom.skip: true home: bind: [0, 5, 0, 0] top.skip: true num.skip: true outer: rows: num.skip: true mod.skip: true pinky: rows: mod.skip: true key: splay: -5 origin: [0, 8] ring: rows: mod.skip: true key: origin: [0, 8] stagger: 0.33ky splay: -5 middle: key: stagger: 0.2ky index: key: stagger: -0.33ky inner: rows: mod.skip: true key: stagger: -2.5 rows: mod: bottom: home: top: num: thumbs: anchor: ref: matrix_middle_home shift: [38, -45] key: tags: [switch] padding: 1ky spread: 1kx columns: layer: key.splay: -15 space: key: width: 1.5kx splay: 75 shift: [13-kx, -3] rows: cluster: mcu: anchor: ref: matrix_inner_num columns: mcu: key: tags: [mcu] width: mcu_height # footprint width/height unintuitive height: mcu_width rotate: -90 shift: [kx+mcu_padding, -mcu_width/2+1] rotate: 10 outlines: keys: - what: rectangle where: true fillet: 2 size: [mbkx, mbky] raw: - what: rectangle where: true bound: true size: [px+5, py+5] fillet: - what: outline name: raw fillet: 2 board: - what: polygon operation: stack # fillet: 2 points: - ref: matrix_outer2_home shift: [-0.5px, -0.5py] - ref: matrix_outer2_home shift: [-0.5px, 0.5py] - ref: matrix_outer_top shift: [-0.5px, 0.5py] - ref: matrix_pinky_num shift: [-0.5px, 0.5py] - ref: matrix_ring_num shift: [-0.5px, 0.5py] - ref: matrix_middle_num shift: [-0.5px, 0.5py] - ref: matrix_middle_num shift: [0.5px, 0.5py] - ref: matrix_inner_num shift: [0.5px, 0.5py] - ref: matrix_inner_num shift: [0.5px+mcu_padding+mcu_width, 0.5py] - ref: matrix_inner_bottom shift: [0.5px+mcu_padding+mcu_width, -0.5py] - ref: thumbs_space_cluster shift: [0.5px, -0.5py] - ref: thumbs_space_cluster shift: [-0.5px, -0.5py] - ref: matrix_index_mod shift: [-0.5px, -0.5py] - ref: matrix_index_mod shift: [-0.5px, -0.5py] - ref: matrix_outer_bottom shift: [-0.5px, -0.5py] pcbs: left: outlines.main.outline: board footprints: choc_hotswap: what: choc where: switch params: keycaps: true reverse: true hotswap: true from: =column_net to: =colrow diode: # TODO diode without throughhole? what: diode where: switch params: from: =colrow to: =column_net adjust.shift: [0, -5] promicro: what: promicro where: mcu params: # TODO decide if soldered on opposite side? orientation: up