Create config file system to replace xrt_binding_input_pair
Every xrt_device that wants to enable binding mapping to another device needs to edit the xrt_device code and add an xrt_binding_input_pair struct.
Proposal: Each mapping from the inputs of one interaction profile to another interaction profile should be a separate json snippet that can be loaded from a directory and applied without changing monado's code (those snippets can then be created and shared/contributed by users). Make sure a directory of json snippets can also be compiled as resources into the binary to make it easily packageable on android.
- Easy: replace the code on the service side and load it into the service side xrt_device just like the xrt_binding_input_pair struct.
- Advanced: Remove the code from the service and make the client side binding code make use of it. Considerations:
- third party xrt_devices still need to be able to add their own mappings. Replace the the current system entirely or add to it?
- Prepare for dynamic/live rebinding
Edited by Christoph Haag