Replies: 1 comment
-
|
I feel like we should do both; I can see use-cases where that might make sense in different scenarios. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
I've been working on supporting
VROverlayInputMethod::Mouseby forwarding the events through toInput.parse_input_event, and it's working. In the process I've discovered that the builtin mouse mode is largely useless. It captures input globally, meaning your other hand stops working within the scene application, and also can no longer interact with any other overlay applications. It also overrides all controller bindings and sends left/middle/right button presses as if it were a real mouse, using bindings that are shipped by Valve with the VRCompositor. All configured actionsets stop receiving events.Given these limitations, I have ended up reimplementing my own mouse system using raycasting with the provided
ComputeOverlayIntersectionAPI. Based on the behavior I've seen in utilities I have installed, this seems to be what nearly every other overlay application on Steam does as well. The downsides of this approach are a) the pose used is not standardized and thus different overlays feel different, and b) the laser itself is not visible in-headset.This leads me to the following question. Do we:
VROverlayInputMethodentirelyCurrently I've implemented my custom mouse system by just emitting the same events that openvr does, which means the same handling code intercepts them and converts them to godot events. The change is therefore more or less drop-in.
I don't feel strongly in any particular direction, and would be happy to open source my custom mouse implementation under the Liminetics namespace if we don't want to take a stance on it in this project. There is definitely a strong argument for keeping these bindings behaving as close to OpenVR proper as possible.
Beta Was this translation helpful? Give feedback.
All reactions