XR: Rework interaction mechanism to avoid duplication of logic and .json file
- Create a mechanism to generate .json file as needed, either at runtime or compile time
- Create a generic .json file for any unknow headset to fallback on
Was:
Create a generic binding .json to fallback for all other controllers
Implement a generic way of handling actions (action paths, action updates/processing, etc.)
**Description**: When using VTK or ParaView with OpenVR or OpenXR, a given controller brand does not always have the same button mappings for the same action. This is also the case between different controllers, which makes it confusing to interact in XR.
**Objective**: Unify controller bindings in the JSON files for **(i)** all controllers, for **(ii)** VTK and ParaView, as well as for **(iii)** OpenVR and OpenXR.
Ideally, try to use:
- Joysticks for movement (left for movement, right for elevation)
- Triggers for trigger actions
- Grip buttons for grip actions (else use buttons)
- Right controller button for opening the menu