example zmk config at https://github.com/ezxzeng/sweepsq-zmk
Please do not rely on the autogenerated files and double check them manually before sending them off to a PCB fab. The author and other random strangers on the internet have been able to produce working keyboard prototypes from this repo; this does not mean that everything will work every time.
The author(s) waive(s) responsibility for any damage or regulatory violations caused by using this software (see license). Please consult your local regulations around radio frequencies and what's allowed for DIY projects in your country.
| left | right | outline |
|---|---|---|
A 5x3 split keyboard with 3 thumb keys.
- bgkeeb
- keyboard pcbs under 100mm x 100mm are cheap
- cheapis
- sweeps can be rotated for more room and length between the thumb cluster and rest of the keys and still fit within 100mm x 100mm
- samoklava and ergogen to get keyboard layouts programatically
- sweep and swweeep for form factor and diode-less design
- Lily58
- key sockets can be hot swappable, reversible, and compatible with both mx and low profile switches
- totem
- sandwich case looks really slick and clean, and can also hide the controller parts that will be located under the palm
- 100mm x 100mm pcb for really cheap fabrication
- reversible footprint
- programatically generated with ergogen (mostly)
footprints/key_switches.jsenables deciding between combinations of MX, Choc, or gateron low profile sockets- jst battery connector and 7-pin slider switch for battery management
- Same key routing as the swweeep
- Can be both wired and wireless while maintaining a diodless design
- Features a toggle button to change whether p0 directs to TRRS or the inner thumb key
- This does mean that the wired version would only support two thumb keys
- this design does not support LEDs or displays
- samoklava's auto routing does not really work here
python generate_config.pyAlternatively, edit the units of base_units.yaml with files from the unit_diffs folder.
For example, to generate a case compatible with gateron low profile keyboards and a 1u thumb key instead of 1.5u:
python generate_config.py unit_diffs/1u_thumb.yaml unit_diffs/gateron_lp_case.yaml ergogen .for i in output/cases/*.jscad; do npx @jscad/cli@1 "$i" -of stla; doneAlternatively, checkout the onshape file for nicer cases
docker run -v $(pwd):/kikit --entrypoint pcbdraw yaqwsx/kikit:v1.3.0-v7 plot --style style.json routed_pcb/board.kicad_pcb images/board-front.png
docker run -v $(pwd):/kikit --entrypoint pcbdraw yaqwsx/kikit:v1.3.0-v7 plot --style style.json --side back routed_pcb/board.kicad_pcb images/board-back.png