-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MRTK input event handling: FallbackHandler behaviour proposal #3278
Comments
@PJBowron please take a look at #277 @maxouellet do you have any comments about this proposal? |
I'm pretty sure this a duplicate proposal someplace too, but can't find it after a quick search. Will update when I do. Here it is #2494 |
@StephenHodgson I think initially, the fallback handler wasn't a stack, but just a single handler, with the idea being than an app should only have one fallback handler. I think we added the stack later so to handle scenarios such as "a modal popup UI appears, and we want it to be dismissed when the user selects while gazing outside of the popup". @PJBowron , can you elaborate on why you say that fallback handlers tend not be be instantiated / removed symmetrically? I have no major concerns over this and am not currently doing HoloLens development, so I'm happy for this to go in if people think it's the right thing to do :) |
Hi @maxouellet - thanks for a very nice InputManager! 😄 @StephenHodgson thanks for flagging #2494, I forgot I'd posted briefly on this subject before. However this isn't a straight dupe of the earlier proposal for two reasons:
|
Keeping this until we make the call on XR interaction. |
This is written talking about input events, but the logic needs to be consistent regardless of event type |
Marking as stale as XRI takes a fundamentally different approach here. We may still want to implement a stack-like modality at some point to support input suppression while interacting with modal content, but that'll require a custom XRInteractionManager. |
I've been looking at the revised input system, specifically event handling, as it currently stands in mrtk_development, and have been pleased to find it remains fundamentally the same as it was in HTK.
With that in mind however, I'd like to propose a small change:
FallbackHandlers are currently managed as a stack, with only the latest pushed handler receiving events.
I'd like to change this so that they are managed as a list, and that all Handlers receive the event, unless it gets consumed.
There are two main reasons behind the proposal:
Allowing multiple handlers to exist, while also allowing any of them to consume the event could lead to unpredictable behaviour. Therefore I would suggest either:
I’m happy to carry out the changes, but would like to open this up to consultation first.
The text was updated successfully, but these errors were encountered: