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 09ea60c3e6 Bumped version to v0.14; updated CHANGELOG 9 years ago
font-src Added 'NN' to the SP ABS palette. 11 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 Updated VIC-20 sample, post fully-generic-legends 9 years ago
spec Fix CSS parser to handle at-rules with nested blocks 9 years ago
tests Made renderer work with new CSS parser 9 years ago
.gitignore Cleaned up makefile & deploy scripts 9 years ago
CHANGELOG.md Bumped version to v0.14; updated CHANGELOG 9 years ago
CONTRIB.md Bumped version to v0.14; updated CHANGELOG 9 years ago
LICENSE.md Split readme into several files; added LICENSE.md 9 years ago
Makefile Made renderer work with new CSS parser 9 years ago
README.md Updated README with new Jasmine tool dependency 9 years ago
bower.json Wrote my own CSS parser + unit-tests 9 years ago
colors.json Added YBX color to "Signature Plastics / PBT" palette 9 years ago
cssparser.y Fix CSS parser to handle at-rules with nested blocks 9 years ago
deploy.bat Cleaned up makefile & deploy scripts 9 years ago
extensions.js Merge remote-tracking branch 'origin/master' into fully-generic-legends 9 years ago
favicon.ico Added Favicon 9 years ago
jsonl.grammar.js Made JSON-L parser even more lenient 9 years ago
kb.css Added glyph-set for combining diacritical marks. 9 years ago
kb.html Parse user-defined glyphs in CSS 9 years ago
kb.js Bumped version to v0.14; updated CHANGELOG 9 years ago
kb.sublime-project Wrote my own CSS parser + unit-tests 9 years ago
keys.json Added a center-stepped key to the "add key" menu. 11 years ago
layouts.json Add JD40 standard(ish) layout 9 years ago
nub.png Major refactoring of the keycap rendering to HTML 9 years ago
pickers.json Removed redundant 'desc' field from character-picker data. 9 years ago
render.js Parse user-defined glyphs in CSS 9 years ago
serial.js Fixed a small deserialization error with vertical centering (align&2) 9 years ago
sign-policy.py Can now SAVE layouts to the server. 11 years ago
upload-policy.txt Can now SAVE layouts to the server. 11 years ago

README.md

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:

  • NodeJS/NPM: https://nodejs.org/
  • GNU Make: http://www.gnu.org/software/make/
  • Bower: npm install -g bower
  • Grunt: npm install -g grunt-cli
  • Protractor: npm install -g protractor
  • Jasmine: npm install -g jasmine
  • Uglifyjs: npm install -g uglifyjs
  • Stylus: npm install -g stylus
  • Jison: npm install -g jison
  • Git-utils: npm install git-utils -g

Installing prerequisite components (once):

  • make install

Build:

  • make

Test:

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