microsoft / mixed-reality-extension-sdk

The Mixed Reality Extension SDK enables developers to build 3D world extensions for AltspaceVR, using Node.JS.
MIT License
142 stars 61 forks source link

onButton needs which hand information #670

Open djzielin opened 4 years ago

djzielin commented 4 years ago

Right now we can get what user is starting a pressed, holding, release cycle, but this breaks down a bit if the user is interacting with both hands (on the same object). Would need a way to disambiguate which hand is which through the full interaction cycle. Could probably be solved by passing in data on which hand (L vs R?) as part of the ButtonEventData structure.

sorenhan commented 4 years ago

I'm not sure we can add in which hand is interacting - some input schemes don't support multiple hands (Oculus Go, Mouse, Controllers), and we want an input abstraction that works across all major input schemes, so we should be careful with providing information that makes it hard to work across all input device. Was this observed in AltspaceVR or another app? The host app could enforce rules to make sure that there are not 2 pressed events without release events in between them - for the multi-hand interaction it should not send a pressed or released event if another hand is already holding.

djzielin commented 4 years ago

Testing in Altspace. I have tested and you can initiate a button press with the left hand, while holding with the right hand. Ideally would want which hand, but if not perhaps some sort of ID for the lifecycle? ie press, hold, release. So messages can be routed correctly as they come in.