XRTK / com.xrtk.core

The Official Mixed Reality Framework for Unity
https://xrtk.io
MIT License
309 stars 34 forks source link

Enable XRTK to provide by default, support for Long press and double click #258

Closed SimonDarksideJ closed 4 years ago

SimonDarksideJ commented 5 years ago

XRTK - Mixed Reality Toolkit Feature Request

Is your feature request related to a problem? Please describe

After reviewing the NReal specification, they make full use of the limited controls on their 3Dof controller, for example, having the following on their trackpad:

They also have Press and Long Press as additional actions.

Granted, today developers can implement this themselves, however as this is likely to become a more common scenario, the XRTK should try and provide some facility for this either as SDK components or preferably as new input action rules.

How would you classify your suggestion

Describe the solution you'd like

Either:

Describe alternatives you've considered

Leaving it to the developer :S

Additional context

http://developer.nreal.ai/design/controlling

StephenHodgson commented 5 years ago

Likely this will be a UI/UX Implementation, but I believe it should be possible as is.

SimonDarksideJ commented 5 years ago

My first thought is that it should be a UX component. But the tinkerer in me also feels a Rules implementation would be far more useful :P

StephenHodgson commented 5 years ago

Rules were intended to transform one action into another and carry along any relevant data. While I can see some benefit to this, it's not supposed to change the timing of those actions.

StephenHodgson commented 5 years ago

I'm going to address this with #111

SimonDarksideJ commented 5 years ago

Long Press and Double press are ADDITIONAL actions on top of the existing. You would get the normal press event, but you should be able to configure another event once the criteria is met, e.g. 2 events within a certain window (double click), repeated event over a certain span of time (Hold).

Granted the developer could implement these themselves, but it makes more sense the framework provides a simpler generic implementation for any control.

I agree this should potentially be implemented in #111 , so long as it accounts it as an additional event from a control

StephenHodgson commented 5 years ago

Awesome feedback. Those things will definitely be employed in the feature.