Skip to content

A multi-axis, concave typing experience on your good ol' planar keyboard!

License

Notifications You must be signed in to change notification settings

sammy-hughes/key-sweep

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

key-sweep

A multi-axis, concave typing experience on your good ol' planar keyboard!

This library is an OpenSCAD keycap generator that is designed around minimal-input, multi-axis typing surfaces. The library is intended to make concave "keywell" keyboard experiences more accessible. This is accomplished by implementing the various elements of a keycap as discrete primitives which can be composed as individual "novelty" keys, universal-profile (flat) keysets, single-axis contoured keysets, or multi-axis countoured keysets.

progress and intended scope:

  • Few-parameter keycap surface control
  • Mechanically robust stem mounts with no hard-corner weakspots
  • [~] Vertical offsets for stems to enable keycap shrouding and low-profile keycaps
  • [~] Sacrificial build-surface interfaces to negate any detriment to tolerances from auto-generated supports
  • Provide flexible, parametric sweep models
    • Single-lobe spherical sweep for split or left/right half ortholinear layouts
    • Single-lobe, bi-modal sweep for keywell emulation on split/ortho layouts
    • Dual-lobe spherical sweep for traditional keyboards, allowing for left/right hand keywells.
    • Multi-modal sweeps with keymasks to implement offset thumb clusters or v-splits on monolithic keyboards
  • Stem compatibility
    • Cherry MX
    • Kailh Choc v1
    • Steelseries Apex
    • Alps
  • Profiles
    • Spherical
    • ...does anyone like hard corners?
    • redo the current profile so it doesn't take an hour to compile?
  • Symbol-sets
    • ? haven't thought this part through ?

This project is still in active development, and does not yet implement embedded symbols. To achieve lettering, a text node can be linear_extrud()'ed as a child of a keycap, and it will be subtracted from the top surface. No off-the-shelf elements are yet provided, though, and it is not yet clear what the target API would look like.

About

A multi-axis, concave typing experience on your good ol' planar keyboard!

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published