kiibohd / kll-spec Goto Github PK
View Code? Open in Web Editor NEWKLL (Keyboard Layout Language) Spec
Home Page: https://input.club
KLL (Keyboard Layout Language) Spec
Home Page: https://input.club
Hey there!
Maybe it's just my poor implementation of KLL, but given by the current draft (0.5c) that an end frame can be used to trigger a result, and an animation can be dynamically controlled using triggers, I would imagine that the following syntax would work as expected to begin playing a different animation:
A[animation1]: A[animation2];
and the end frame of animation1 would trigger animation2.
I'm attempting to create a KLL file to hold my startup animation, and as far as I can tell both animations are properly defined, however here is how I have chosen to define them:
A[waxon] <= start, pfunc:interp, loops:3, replace:basic;
A[fadein] <= pfunc:interp;
I've attempted to set up the trigger : result pair as follows:
A[waxon]: A[fadein];
While the first animation (A[waxon]
) plays properly upon the keyboard powering on, it does not trigger the playing of A[fadein]
, following the syntax proposed in the the latest KLL draft. Am I just daft?
Thanks for the help!
Just what it says - visiting the url (https://www.overleaf.com/read/zzqbdwqjfwwf), the latex source is visible on the left pane, but the right pane reports a compile error.
There is no preview for the latest version of this project. The authors of the project have to fix any compile errors before the preview will be available here.
Same for the 0.4 link. However, 0.5c seems to compile fine.
I'm trying to create a sequence that quickly renders Unicode characters. Since the KLL/USB spec doesn't allow Unicode, I've set up sequences for the ones I use most often.
For instance I've assigned Layer 3 > Key C to the sequence 0169. When I hold fn3+Alt and hit C it gives me ©.
#Configurator code:
U"C" : U"P0" , U"P1" , U"P6" , U"P9"; # Copyright.
However, certain alt codes require repeated characters, which do not seem to register. The horizontal ellipsis, for instance:
#Configurator code:
U"X" : U"P0" , U"P1" , U"P3" , U"P3"; # Horizontal Ellipsis
U"X" : U"P0" , U"P1" , U"P3" , U[91]; # Tried faking it by using a different format key code.
When this sequence runs, it should output 0133. Instead, it outputs 013.
These alt codes specifically require numpad keys, so a normal number string doesn't work.
#Configurator code:
U"X" : '0133';
I tested it with sequences that contained non-sequentially-repeated characters and it ran just fine.
U"A" : U"A", U"B", U"A";
output "aba" as expected.
Spec describes syntax for specifying Consumer Control Code results having "CON" prefix. This is the case for 0.3d and 0.5c versions.
Examples in KLL repo use "CONS". KLL compiler errors out on "CON" with message like this:
should have reached <EOF>: 28,12-28,32: String '"VolumeUp"
I don't know if this is the right place for this issue.
Anyway.
It seems that Macro in current KLL spec treat the modifier key as the plain keys .
RShift
, then trigger a macro with a LShift
in it's result.RShift
key.LShift
release event to host, which cause the "shift" flag changed on host. But the 'RShift' is still pressed.The ideal way should be before macro execute, check the current modifier key status, if it's result contains a modifier key and that key has already active, than ignore the modifier key in result. let's user to release that modifier key manually.
I think this way is better.
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.