{"id":13572033,"url":"https://github.com/ijprest/keyboard-layout-editor","last_synced_at":"2025-05-15T15:04:56.539Z","repository":{"id":10830921,"uuid":"13108838","full_name":"ijprest/keyboard-layout-editor","owner":"ijprest","description":"Web application to enable the design \u0026 editing of keyboard layouts","archived":false,"fork":false,"pushed_at":"2024-09-17T01:15:06.000Z","size":71326,"stargazers_count":1368,"open_issues_count":175,"forks_count":246,"subscribers_count":41,"default_branch":"master","last_synced_at":"2025-04-11T22:38:10.950Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://www.keyboard-layout-editor.com/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ijprest.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-09-26T00:12:15.000Z","updated_at":"2025-04-11T14:15:26.000Z","dependencies_parsed_at":"2024-09-17T23:04:47.767Z","dependency_job_id":null,"html_url":"https://github.com/ijprest/keyboard-layout-editor","commit_stats":{"total_commits":442,"total_committers":18,"mean_commits":"24.555555555555557","dds":"0.18778280542986425","last_synced_commit":"d2945e5b0a9cdfc7cc9bb225839192298d82a66d"},"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijprest%2Fkeyboard-layout-editor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijprest%2Fkeyboard-layout-editor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijprest%2Fkeyboard-layout-editor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijprest%2Fkeyboard-layout-editor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ijprest","download_url":"https://codeload.github.com/ijprest/keyboard-layout-editor/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254364270,"owners_count":22058878,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T14:01:11.680Z","updated_at":"2025-05-15T15:04:56.515Z","avatar_url":"https://github.com/ijprest.png","language":"JavaScript","funding_links":[],"categories":["JavaScript","Software"],"sub_categories":["Utilities"],"readme":"keyboard-layout-editor\n----------------------\n[Keyboard-layout-editor.com](https://www.keyboard-layout-editor.com) (KLE) is a\nweb application that enables the editing of keyboard-layouts, i.e., the position\nand appearance of each physical key.\n\nThe motivation for creating this application was a custom keyboard I was\ndesigning.  I wanted to be able to experiment quickly with different possible\nlayouts and visualize them easily.  The existing graphics tools were capable\nenough, but cumbersome to use for this specific task.\n\nAs I sank further into the keyboard-enthusiast scene, I became aware of\ncustom keycap sets that were being created by and for other enthusiasts. The\nability to specify various details of the visual-appearance of the keycaps\nis an attempt to render these custom keycap sets as accurately as possible\n(within the constraints of HTML/CSS).\n\nWant to interop with with KLE?  Check out sister-project\n[kle-serial](https://github.com/ijprest/kle-serial), which includes code to\ndeserialize saved layouts.\n\nLinks\n-----\n* [Changelog](CHANGELOG.md)\n* [Contributors](CONTRIB.md)\n* [License](LICENSE.md)\n\nGetting Started for Developers\n------------------------------\nWant to play around with the source?  Install the tools, clone the repository,\nthen build / test.\n\nRequired Tools:\n\n* NodeJS/NPM: https://nodejs.org/\n* GNU Make: http://www.gnu.org/software/make/\n* FontForge: http://fontforge.github.io/en-US/\n* Bower: ```npm install -g bower```\n* Grunt: ```npm install -g grunt-cli```\n* Protractor: ```npm install -g protractor```\n* Jasmine: ```npm install -g jasmine```\n* Uglifyjs: ```npm install -g uglifyjs```\n* Stylus: ```npm install -g stylus```\n* Jison: ```npm install -g jison```\n* Git-utils: ```npm install git-utils -g ```\n\nInstalling prerequisite components (once):\n\n* ```make install```\n\nBuild:\n\n* ```make```\n* ```make fonts```\n\nTest:\n\n* ```webdriver-manager update```\n* ```webdriver-manager start```\n* ```make test```\n\nNotes:\n\n* You can use any HTTP server for local development; I'm using an ancient\n  version of [Mongoose](https://cesanta.com/mongoose.shtml), but whatever\n  you've got handy should work.\n* However, if you want to be able to log in to GitHub via OAuth (without\n  hacking up the code and registering your own OAuth application), you will\n  need to put the server at: http://localhost:8080/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fijprest%2Fkeyboard-layout-editor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fijprest%2Fkeyboard-layout-editor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fijprest%2Fkeyboard-layout-editor/lists"}