Web application to enable the design & editing of keyboard layouts http://www.keyboard-layout-editor.com/
Find a file
2015-08-03 19:54:39 -04:00
bg Optimized file size of background images 2015-08-03 15:26:07 -04:00
font-src Added 'NN' to the SP ABS palette. 2014-01-07 23:11:25 -05:00
fonts Now managing third-party components with Bower 2015-07-20 23:31:09 -04:00
js Now managing third-party components with Bower 2015-07-20 23:31:09 -04:00
samples Moved radii field inline with other background fields 2015-08-03 18:28:31 -04:00
spec Fix CSS parser to handle at-rules with nested blocks 2015-07-31 19:30:34 -04:00
tests Updated unit-tests with new screenshots of smaller keyboard area 2015-08-03 18:35:36 -04:00
.gitignore Cleaned up makefile & deploy scripts 2015-07-26 23:56:40 -04:00
backgrounds.json Rejiggered the background-image dropdown & data 2015-08-03 17:45:53 -04:00
bower.json Basic GitHub login via OAuth 2015-08-01 22:32:26 -04:00
CHANGELOG.md Bumped version to v0.14; updated CHANGELOG 2015-08-01 01:32:50 -04:00
colors.json Added YBX color to "Signature Plastics / PBT" palette 2015-07-02 16:30:48 -04:00
CONTRIB.md Cleaned up CONTRIB & README 2015-08-03 12:32:50 -04:00
cssparser.y Fix CSS parser to handle at-rules with nested blocks 2015-07-31 19:30:34 -04:00
deploy.bat Updated deployment script for 'bg' folder 2015-08-03 19:54:39 -04:00
extensions.js Merge remote-tracking branch 'origin/master' into fully-generic-legends 2015-07-23 00:35:40 -04:00
favicon.ico Added Favicon 2015-07-02 14:46:53 -04:00
jsonl.grammar.js Made JSON-L parser even more lenient 2015-07-17 22:12:14 -04:00
kb.css Rejiggered the background-image dropdown & data 2015-08-03 17:45:53 -04:00
kb.html Fix some IE rendering issues 2015-08-03 19:12:55 -04:00
kb.js Rejiggered the background-image dropdown & data 2015-08-03 17:45:53 -04:00
kb.sublime-project Wrote my own CSS parser + unit-tests 2015-07-30 21:28:17 -04:00
keys.json Added a center-stepped key to the "add key" menu. 2013-11-10 15:22:01 -05:00
layouts.json Merge branch 'backgrounds' of git://github.com/iandoug/keyboard-layout-editor into iandoug-backgrounds 2015-08-03 11:30:26 -04:00
LICENSE.md Split readme into several files; added LICENSE.md 2015-07-02 21:33:27 -04:00
Makefile Basic GitHub login via OAuth 2015-08-01 22:32:26 -04:00
nub.png Major refactoring of the keycap rendering to HTML 2015-07-12 19:16:57 -04:00
oauth.html Added second GitHub client ID for local development 2015-08-02 23:00:46 -04:00
pickers.json Removed redundant 'desc' field from character-picker data. 2015-07-31 23:57:47 -04:00
README.md Cleaned up CONTRIB & README 2015-08-03 12:32:50 -04:00
render.js Parse user-defined glyphs in CSS 2015-08-01 00:39:02 -04:00
serial.js Tweaked serialization to omit background completely when removed 2015-08-03 18:41:30 -04:00
sign-policy.py Can now SAVE layouts to the server. 2013-10-14 02:08:29 -04:00
upload-policy.txt Increased max file-size for saved layouts to 16kb 2015-08-01 15:45:44 -04:00

keyboard-layout-editor

Keyboard-layout-editor.com 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).

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

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/