Yellow-Dog-Man / Resonite-Issues

Issue repository for Resonite.
https://resonite.com
137 stars 2 forks source link

Laser controls mouse-cursor if aimed at the desktop tab even if user is out of headset (and has VR hotswitching disabled) #670

Open FlameSoulis opened 11 months ago

FlameSoulis commented 11 months ago

Describe the bug?

Sometimes, when switching out of VR mode, the mouse will get locked to a specific place and not move, including when the app is focused. As a result, it's impossible to access any menu, any other application, and ultimately prevents the operation of an entire computer system! The ONLY solution at this point is to ensure Resonite is focused and use Alt+F4 to force a shutdown of the app.

To Reproduce

  1. Launch Resonite while in VR
  2. Take headset off
  3. Randomly notice the mouse is locked, no matter what

UPDATE: It's possibly related to the Desktop viewer. If you are in VR, have the desktop viewer active, then take your headset off, if an input was being enumerated on that tab, it will continue to trigger, despite the VR controllers now being disabled. This was technically possible in Neos, but given that I always had to press F8 to manually switch, this meant I would put all the controllers down when switching, which most likely meant they weren't on the menu, triggering this bug!

Expected behavior

  1. Launch Resonite while in VR
  2. Take headset off
  3. Be able to mouse the mouse normally

Screenshots

No response

Resonite Version Number

2023.11.13.1343

What Platforms does this occur on?

Windows

What headset if any do you use?

Desktop, Index

Log Files

DEMONDOGGO-PC - 2023.11.13.1343 - 2023-11-13 18_24_23.log

Additional Context

The issue was noticed on earlier versions (3 builds ago?).

Additionally, unlike #242, the mouse isn't in the center of the display: rather, it's always been on the lower left, offset slightly from the center. Additionally, that bug unlocks the mouse when unfocused, whereas this doesn't.

I'll do some more testing on the possible cause, but I'm wondering if something is now buggy with the Desktop viewer.

Reporters

U-Flame-Soulis (flamesoulis)

Nytra commented 11 months ago

So I think I've had this happen to me. Whenever it happens if you press Ctrl+Alt+Delete and then click the Task Manager button you will be able to move the mouse again. No need to completely close Resonite.

FlameSoulis commented 11 months ago

So I think I've had this happen to me. Whenever it happens if you press Ctrl+Alt+Delete and then click the Task Manager button you will be able to move the mouse again.

I think this only furthers the point the desktop viewer is bugged: Resonite usually doesn't run as an admin, so it cannot control the mouse if a program with higher privileges is focused.

DanteTucker commented 11 months ago

Either Esc or Alt-Tab should also free the mouse.

TisFoolish commented 11 months ago

I've had it happen just starting out in Desktop mode, so it's not caused by the switch. Also, alt tabbing does not free the mouse, nor does clicking on a window under the mouse if you did alt tab out.

FlameSoulis commented 11 months ago

Either Esc or Alt-Tab should also free the mouse.

Nope. This does not fix the issue at all. Even the Start/Super key doesn't work. You NEED to destroy Resonite's ability to move the mouse.

FlameSoulis commented 11 months ago

Updated the ticket: It's the Desktop Viewer and the auto-swap feature introduced to Resonite causing the issue.

shiftyscales commented 10 months ago

As highlighted in #242 - the mouse cursor is also captured during application startup even when the application is in the background- a regression from previous behaviour. Once the engine is initialized and the dashboard is opened, the cursor is freed/unlocked (unless you change application focus/break the cursor lock in other methods as described above).

LeoCatsune commented 10 months ago

Flagging to follow post-merge, but this is likely caused by whatever logic is in charge of detecting mouse movement in desktop mode, since it would likely be re-centering or otherwise locking the mouse to ensure it doesn't run off screen and stop providing events. Obviously without being able to see the code, my ability to comment on the specifics is limited, however this should easily be addressed with a proper focus check when switching modes.

shiftyscales commented 10 months ago

Having looked into this a bit further, I believe this might be a separate issue- based on what you are describing @FlameSoulis - my best guess is that you have your laser in VR pointed at your desktop while it is in the desktop tab causing the cursor to lock up in the position of your laser/cursor in-app.

Has this issue occurred for you while the desktop tab was not open? E.g. you are on the home screen, @FlameSoulis?

shiftyscales commented 9 months ago

Updating the title of this issue to be more descriptive of the underlying problem.