Go to file
2015-09-05 22:42:21 +02:00
bg Optimized file size of background images 2015-08-03 15:26:07 -04:00
font-src Renamed kbd-custom --> kbd-webfont, to match output filename 2015-08-30 19:32:51 -04:00
fonts Now managing third-party components with Bower 2015-07-20 23:31:09 -04:00
img The images for the move/swap buttons 2015-09-04 02:48:10 +02:00
js Now managing third-party components with Bower 2015-07-20 23:31:09 -04:00
samples A few tweaks to the switch summary display 2015-08-25 00:13:12 -04:00
spec Fix a font-size serialization bug found by iandoug 2015-08-05 22:48:01 -04:00
tests updated unit-test screenshots 2015-08-05 00:10:03 -04:00
.gitignore Deleting AWS stuff we don't need anymore 2015-08-03 20:21:36 -04:00
backgrounds.json Rejiggered the background-image dropdown & data 2015-08-03 17:45:53 -04:00
bower.json Update html2canvas to latest alpha version 2015-08-17 22:04:12 -04:00
CHANGELOG.md Bumped version to v0.15; updated CHANGELOG 2015-08-05 00:38:07 -04:00
colors.json Update colors.json 2015-08-16 18:56:29 +08:00
CONTRIB.md Get html2canvas via bower 2015-08-09 12:34:45 -04:00
cssparser.y Fixed a problem parsing CSS comments 2015-08-05 20:53:19 -04:00
deploy.bat Updated deployment script for 'bg' folder 2015-08-03 19:54:39 -04:00
extensions.js Misc changes, mostly for per-key switch type 2015-08-10 21:40:53 -04:00
favicon.ico Added Favicon 2015-07-02 14:46:53 -04:00
jsonl.y Converted JSONL parser to EBNF form to be more hackable 2015-08-11 00:18:48 -04:00
kb.css Added some table defs for the Tools dialogue 2015-09-04 02:44:33 +02:00
kb.html Fixed tooltip written in early hours of morning. 2015-09-04 21:42:37 +02:00
kb.js Move the textSize and textColor too, not just the legend. 2015-09-05 22:42:21 +02:00
kb.sublime-project Wrote my own CSS parser + unit-tests 2015-07-30 21:28:17 -04:00
kbd-webfont.css Minor tweaks to kbd-webfont 2015-08-30 19:54:38 -04:00
keys.json Added 'Status LEDs' to the 'Add Key' dropdown. 2015-08-05 23:37:18 -04:00
layouts.json Cleaned up ISO 60% 2015-08-04 21:39:24 +01:00
LICENSE.md Split readme into several files; added LICENSE.md 2015-07-02 21:33:27 -04:00
Makefile Renamed kbd-custom --> kbd-webfont, to match output filename 2015-08-30 19:32:51 -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 Minor tweaks to kbd-webfont 2015-08-30 19:54:38 -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 Misc changes, mostly for per-key switch type 2015-08-10 21:40:53 -04:00
switches.json A few tweaks to the switch summary display 2015-08-25 00:13:12 -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/