xebow icon indicating copy to clipboard operation
xebow copied to clipboard

Discuss `interact` and Layout Keys being coupled to LEDs

Open doughsay opened this issue 5 years ago • 3 comments

May overlap with: https://github.com/ElixirSeattle/xebow/issues/43

See comment: https://github.com/ElixirSeattle/xebow/pull/54#discussion_r452498397

There was another comment somewhere about not coupling Keys to LEDs and looking up by coords to feed the event to interact. Can't find the comment.

There's also this comment, which might be more about layouts than about interactions, but I feel this is all tied together: https://github.com/ElixirSeattle/xebow/pull/54#discussion_r451883261

doughsay avatar Jul 11 '20 21:07 doughsay

Dropping the diagram in here from https://github.com/ElixirSeattle/xebow/pull/54#discussion_r451883261 of how an event could bridge the gap between keys and LEDs so that the keyboard server doesn't have to know about LEDs and the animation engine doesn't have to know about keys. This would also allow the application to send events to the engine, allowing for software-based events.

layout

amclain avatar Jul 12 '20 02:07 amclain

Will Event be capable of handling key hold and key up. These other event types might be useful in much more complex animations such as intensified ripples, where a ripple can increase intensity the more the key is held.

abelino avatar Jul 14 '20 02:07 abelino

Will Event be capable of handling key hold and key up.

That's a really interesting idea. If we sent an %Event{}, we could have a :type property that could hold that sort of information. Also to decouple events from the concept of keys, we could support "momentary" and "latching" events, which could have types like (TBD) momentary, on, and off. This could represent key press, key up, key down, as well as a variety of other things with similar behavior.

amclain avatar Jul 14 '20 04:07 amclain