keyboardio / chrysalis-api Goto Github PK
View Code? Open in Web Editor NEWChrysalis low-level, backend API
Home Page: https://keyboardio.github.io/chrysalis-api/
License: GNU General Public License v3.0
Chrysalis low-level, backend API
Home Page: https://keyboardio.github.io/chrysalis-api/
License: GNU General Public License v3.0
The label should be Track-
, not Track
.
The @chrysalis-api/keymap
and @chrysalis-api/colormap
"plugins" should automatically register themselves with @chrysalis-api/focus
, now that it is a singleton.
The keymap widgets provided by the hardware plugins should support both labels and/or colors, depending on whether the keymap or colormap properties are set.
Unlike in QMK, we do not have a separate keycode for SpaceCadet keys, we override the normal shifts. The SpaceCadet keys in Ranges
is for enable/disable, we should list them as such.
Currently the Atreus, the ErgoDox and the Planck all use slightly different versions of the same Key
component. It should be lifted out into its own library, so it can be shared between all boards with standard key sizes.
The markdown documentation does not link back to the git repo. It would be much more convenient if it did.
This would also allow us to set the homepage
to the docs hosted on GitHub pages.
While I did some work on them, their author is @TheBaronHimself, and should be properly credited for his beautiful work.
Since both keymap
and colormap
have a .setLayerSize()
method, and both take the same arguments, it would be neat if one could call focus.setLayerSize()
, and have that dispatch to keymap & colormap (and whatever else is registered).
Similar to the Generic Teensy & Model01 Bootloader libs
At this point, there's no practical use for the transformer mechanism. Merge it into @chrysalis-api/keymap
, and remove the transformer mechanism. It can always be reintroduced later on (though, probably in a different way).
Chrysalis currently uses ${vendor} ${product}
to refer to hardware, but in some cases, we want something simpler, or different. Hardware libraries should therefore provide such an information. Something like .info.preferredName
or .info.displayName
, or something along those lines.
Right now, they're just numbers floating in the coat, which feel hard to read and maintain
On wider keys, use the verbose labels, they'll fit (at least most of the time...).
The repository should be moved to the @keyboardio organisation, so that I can use the Projects set up there, and because most of the work is sponsored by Keyboard.io anyway.
Flashing largely depends on the application used, not on the board. Reimplementing the same flashing procedure for every board that uses the same flashing method would be a terrible idea.
For this reason, lets create @chrysalis-api/hardware-flash
, and collect all the flashing there. Hardware libraries can then import the one they need, and call it from their flash
methods.
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.