Giter Site home page Giter Site logo

kbedit's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

kbedit's Issues

Pan using middle mouse

Since panning is already implemented, it should be possible to pan with middle mouse. (Think Inkscape.)

Intelligent key positioning for staggered rows

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.

Repeat last insertion with R key

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.

Multiple-select should use ctrl

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)

Keyboard case object

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.