Skip to content

joric/keycaps

Repository files navigation

Keycaps

Keyboard layout editor and renderer

Demo: http://joric.github.io/keycaps

Upd (2020-12-02) check this out also, this is pretty cool (not mine):

Software

OpenSCAD is used for prototyping. Objects are rendered by THREEjs with JSON scene exported from Blender.

OpenSCAD

OpenSCAD models rendered into .stl and slightly edited in Blender, then exported using THREEjs JSON exporter. Mind that key_v2 OpenSCAD set takes a lot of time to render, especially for SA (spherical) geometry - takes about 30 minutes a key, while DCS is rendered in a few seconds (see utils directory). Rendering time can be reduced with smaller subdivision ($fn) settings.

Blender

  • Rendered .stl files are then processed with Blender's "Decimate" and "Edge Split" modifiers.
  • Smoothing groups ("Auto Smooth") do not get exported so I had to use Edge Split geometry modifier.
  • All modifer stacks should be collapsed for proper exporting.
  • Texture UVs are assigned from Blender too, using "Project from View" for the visible geometry.
  • Proper texture offsets and texture scale are also important, study existing keys for examples.
  • Use 1u=1mm (or scale grid to 19.05mm), so standard keycap is about 19x19, 2u keycap is 19x38 and so on.
  • After manual exporting with io_threejs, add data= to the beginning of the json file.

Sadly the scripts and Blender are a little bit obsolete by now (I used Blender 2.67 and threejs r87).

License

Public Domain

All copyrights to resource files belong to their respective owners.

References