Skip to content

jens501/keyboard-layout-editor

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

Links

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/

About

Web application to enable the design & editing of keyboard layouts

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 48.3%
  • HTML 32.6%
  • CSS 11.1%
  • Yacc 5.8%
  • Makefile 2.0%
  • Batchfile 0.2%