You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Go to file
Ian Prest d2945e5b0a added link to kle-serial to README 5 years ago
bg Optimized file size of background images 9 years ago
font-src updated more copyright dates 6 years ago
fonts Now managing third-party components with Bower 9 years ago
js Now managing third-party components with Bower 9 years ago
samples Fixed navigation/numpad spacing issues in complex samples. 9 years ago
spec Fix a font-size serialization bug found by iandoug 9 years ago
tests Updated test screenshots to reflect numpad-spacing change to samples. 9 years ago
.gitignore Deleting AWS stuff we don't need anymore 9 years ago
CHANGELOG.md Bumped version to v0.15; updated CHANGELOG 9 years ago
CONTRIB.md Added 'Apple Wireless' keyboard sample 9 years ago
LICENSE.md updated more copyright dates 6 years ago
Makefile Renamed kbd-custom --> kbd-webfont, to match output filename 9 years ago
README.md added link to kle-serial to README 5 years ago
backgrounds.json Rejiggered the background-image dropdown & data 9 years ago
bower.json Fixed a problem parsing Font Awesome's CSS file; also updated FA to 4.4.0. 9 years ago
colors.json Sampled GMK / Uniqey colors from sample keycaps 8 years ago
cssparser.y Fixed a problem parsing CSS comments 9 years ago
deploy.bat Tweaked deploy script to allow me to deploy a single file easily 9 years ago
extensions.js Misc changes, mostly for per-key switch type 9 years ago
favicon.ico Added Favicon 9 years ago
jsonl.y Converted JSONL parser to EBNF form to be more hackable 9 years ago
kb.css added FLAT profile 6 years ago
kb.html added FLAT profile 6 years ago
kb.js base filename off title when downloading PNG, etc. 6 years ago
kb.sublime-project Wrote my own CSS parser + unit-tests 9 years ago
kbd-webfont.css Minor tweaks to kbd-webfont 9 years ago
keys.json Added 'Status LEDs' to the 'Add Key' dropdown. 9 years ago
layouts.json Added simple Planck preset; fixes #135 9 years ago
nub.png Major refactoring of the keycap rendering to HTML 9 years ago
oauth.html updated more copyright dates 6 years ago
pickers.json Minor tweaks to kbd-webfont 9 years ago
render.js added FLAT profile 6 years ago
serial.js Misc changes, mostly for per-key switch type 9 years ago
switches.json Reworked UI for the "tools" 9 years ago

README.md

keyboard-layout-editor

Keyboard-layout-editor.com (KLE) is a web application that enables the editing of keyboard-layouts, i.e., the position and appearance of each physical key.

The motivation for creating this application was a custom keyboard I was designing. I wanted to be able to experiment quickly with different possible layouts and visualize them easily. The existing graphics tools were capable enough, but cumbersome to use for this specific task.

As I sank further into the keyboard-enthusiast scene, I became aware of custom keycap sets that were being created by and for other enthusiasts. The ability to specify various details of the visual-appearance of the keycaps is an attempt to render these custom keycap sets as accurately as possible (within the constraints of HTML/CSS).

Want to interop with with KLE? Check out sister-project kle-serial, which includes code to deserialize saved layouts.

Getting Started for Developers

Want to play around with the source? Install the tools, clone the repository, then build / test.

Required Tools:

Installing prerequisite components (once):

  • make install

Build:

  • make
  • make fonts

Test:

  • webdriver-manager update
  • webdriver-manager start
  • make test

Notes:

  • You can use any HTTP server for local development; I'm using an ancient version of Mongoose, but whatever you've got handy should work.
  • However, if you want to be able to log in to GitHub via OAuth (without hacking up the code and registering your own OAuth application), you will need to put the server at: http://localhost:8080/