cubiq / kbedit Goto Github PK
View Code? Open in Web Editor NEWKeyboard Designer
License: GNU General Public License v3.0
Keyboard Designer
License: GNU General Public License v3.0
Currently, all new keys are snapped to the major (1u) grid. Support for stagger is poor, as you can't ever insert keys in their correction locations on most rows.
Worse, the program allows for a key to be inserted directly on top of another key, so that the first key vanishes.
One way to work around this is to detect overlap and insert the new key directly to its right. That way, all you need to do for a whole row of keys that are offset by stagger, is draw the large key (e.g. ctrl/caps lock), point at it, and press 1 repeatedly: all the remaining keys will be added to the next available space to the right of the key under the mouse cursor.
Selecting multiple keys requires shift. Multiple-select should be ctrl or cmd; shift typically indicates range selection, and ctrl/cmd/adjust indicates discrete selection. Shift-click would for example be used to select a whole row of keys, although in kbedit it's going to be tricky to define a 100% predictable behaviour for range selection.
Also, ctrl+click should toggle selection (currently shift-click can only select, not deselect)
Use ctrl to pan while dragging a key -- weird! Not sure this should be a permitted action :)
For preview and PNG/SVG export purposes, there should be support for multiple keyboard case objects, on a layer behind the keys. Multiple objects permit for split keyboards (ergonomic, external numeric keypad etc). Support for an LED cluster on the case would work well too.
Since panning is already implemented, it should be possible to pan with middle mouse. (Think Inkscape.)
Press 'R' to insert a new key with the same specification as the last inserted key (size and colour but not legend).
Not sure if this should be immediately to its right (for adding bottom row mods) or at the mouse cursor location.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.