openAVproductions / openAV-Ctlra

A plain C library to program with hardware controllers.
BSD 3-Clause "New" or "Revised" License
78 stars 16 forks source link

Ctlra Mapping: Dynamic User Input Map #82

Open harryhaaren opened 6 years ago

harryhaaren commented 6 years ago

This task involves implementing the dynamic parsing of the ctlra hardware metadata, the software "targets" metadata, and being able to present a simple text-file / UI to allow a user to dynamically remap a control.

TODO

Be-ing commented 6 years ago

I think if you make this part of Ctlra's scope, then there should be a way for the application/user to change the layering logic without recompiling Ctlra. By "layering logic", I mean the translation between a hardware component and a virtualized component of a layer. If that is hardcoded into the device's Ctlra implementation, it would be like baking it into the device's firmware, which I think is a bad idea.

harryhaaren commented 6 years ago

Hey @Be-ing - totally agree, nothing hard-baked in here. The idea is to provide the user the flexibility to map the layers, there is no "layering" happening at the device level - the user is in control. Thanks for the input!

Be-ing commented 6 years ago

Good to hear. While it may be helpful to let device implementations specify default layering logic, applications should have the option to disable that and define their own.

harryhaaren commented 6 years ago

Yes agreed again. This "mapping" layer will be optional, and exists above the Ctlra generic event layer. I'm hoping to do up some diagrams, and I think that'll put your concerns to rest :)