Code Monkey home page Code Monkey logo

kll-spec's People

Contributors

haata avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

kll-spec's Issues

Using End Frame Trigger to Launch Another Animation (Spec 0.5c)

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!

Sequences don't allow repeated characters

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.

Consumer Control Code Syntax

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"

Modifier Keys issue

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 .

  1. If I pressed one modifier key, let's say RShift, then trigger a macro with a LShift in it's result.
  2. Do not release the RShift key.
  3. at the end of macro it will send a 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.

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.