You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I've got an absolute rotary selection knob in my latest prototype and I want to fire a Keyberon Event when the user changes modes (i.e. rotates the knob to a different position). However, to do something like that I need to have said event defined somewhere inside of Layers with a matching coordinate. My absolute rotary encoder has nothing to do with the keyboard's normal layout but I still want to be able to send a keystroke to the PC when it changes (just an example).
Right now I've got some code that defines one set of Layers for each encoder position (all 8 of them!) and swaps them out whenever the user changes its position. I went to add CustomEvents for each mode and realized there's no way to actually fire off a Keyberon Event without having an associated coordinate in a pre-existing Layers/layout. I could just add yet another virtual row/column to the Layers (like I'm doing with the infrared remote stuff) but if I do that it means my Layers will grow from A columns/rows times B defined layers times 8 (number of encoder positions/modes) which is a lot of duplicated code inside of my layers.rs. It's getting out of hand already with everything duplicated 8 times (it's already over 5000 lines!).
It would be so much easier if I could do something like:
// This wouldn't be associated with any given row/column:
layout.new_virtual_event(CustomEvent::Whatever,k(A));
layout.virtual_event(CustomEvent::Whatever::Press());
...or provide a mechanism to attach arbitrary custom events like that to Layers when setting it up.
As a (really rough) alternative I could work around this if there were some way to use multiple Layers variables at once and combine them into a single keyboard report when needed.
The text was updated successfully, but these errors were encountered:
I've got an absolute rotary selection knob in my latest prototype and I want to fire a Keyberon
Event
when the user changes modes (i.e. rotates the knob to a different position). However, to do something like that I need to have said event defined somewhere inside ofLayers
with a matching coordinate. My absolute rotary encoder has nothing to do with the keyboard's normal layout but I still want to be able to send a keystroke to the PC when it changes (just an example).Right now I've got some code that defines one set of
Layers
for each encoder position (all 8 of them!) and swaps them out whenever the user changes its position. I went to addCustomEvent
s for each mode and realized there's no way to actually fire off a KeyberonEvent
without having an associated coordinate in a pre-existingLayers
/layout. I could just add yet another virtual row/column to theLayers
(like I'm doing with the infrared remote stuff) but if I do that it means myLayers
will grow from A columns/rows times B defined layers times 8 (number of encoder positions/modes) which is a lot of duplicated code inside of mylayers.rs
. It's getting out of hand already with everything duplicated 8 times (it's already over 5000 lines!).It would be so much easier if I could do something like:
...or provide a mechanism to attach arbitrary custom events like that to
Layers
when setting it up.As a (really rough) alternative I could work around this if there were some way to use multiple
Layers
variables at once and combine them into a single keyboard report when needed.The text was updated successfully, but these errors were encountered: