Get prettier images of Keyboard Layout Editor designs
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
fonts Fix HTML escaping, revert to old SA font Mar 20, 2018
help Update Flask Sep 8, 2018
images Update python, improve performance, compress images Apr 4, 2018
static UI and usability improvements Jun 11, 2017
templates Update Flask Sep 8, 2018
.env.example Add .env.example Feb 13, 2018
.gitignore Update Flask Sep 8, 2018
LICENSE.md Add License, update README Mar 20, 2018
Pipfile Change to Pipenv Nov 12, 2018
Pipfile.lock Change to Pipenv Nov 12, 2018
Procfile Update python, improve performance, compress images Apr 4, 2018
README.md Change to Pipenv Nov 12, 2018
app.py Fix api POST endpoint Jul 25, 2018
config.py
key.py Synchronize with kbrenders code Sep 22, 2018
keyboard.py Fix base image caching issue, special key transparency May 19, 2018
render_output.png Update python, improve performance, compress images Apr 4, 2018
test.py Remove relative imports Mar 20, 2018

README.md

KLE-Render

Get prettier images of Keyboard Layout Editor designs

This project uses Python, Pillow, and Flask to serve up more realistic visualizations of custom mechanical keyboard layouts. It works by stretching, tinting, and tiling base images of a 1u keycap. Check it out at kle-render.herokuapp.com. You can also see a sample render of Nantucket Selectric below.

Frequently Asked Questions

What layouts are supported?

KLE-Render should support any layout created with keyboard-layout-editor though some may not render exactly as expected. Specifically, certain very uncommon unicode glyphs may not be displayed. Custom legend images take up the full width of the keycap and only one per key can be used. The base images are only of SA and GMK keycaps, but most layouts in DSA, DCS, OEM, or even beamspring profiles should still look pretty close. Sculpted row profiles are not supported; everything is assumed to be uniform row 3.

What do I do if I get an error page when trying to render?

If you get an internal server error when attempting to render a layout, first make sure that your JSON input is downloaded properly or that your gist url actually exists. If the error persists, please contact me with the gist link or JSON that is causing the problem and I may be able to fix it. I am CQ_Cumbers on reddit and geekhack.

Why don't my renders look like the ones on Massdrop?

This tool can generate more realistic renders of arbitrary keyboard layouts, but because it works by stretching and tinting grayscale images, there are many limitations on realism as compared to actual 3D renders. If you're looking for fast and photorealistic visualizations kbrenders.com can be a useful resource. For certain custom work, however, you may still have to do post-processing in photoshop or commission a professional like thesiscamper to work with you.

How do I turn my set design into a group buy?

If you're looking to create a keycap set for a group buy livingspeedbump (creator of SA Jukebox) has a nice guide up on keychatter.

Templates

The following templates have their legend sizes and keycap profiles pre-configured for accurate rendering. Use them as a starting point for your own designs!

  • Mech Mini 2 (40%) - SA/GMK
  • Klippe (60%) - SA/GMK
  • RAMA M65 (65%) - SA/GMK
  • Mech27 (TKL) - SA/GMK
  • Espectro (96%) - SA/GMK
  • Triangle (Full-size) - SA/GMK

Sample Image

Nantucket Selectric (JSON)

Sample Render