Question / Help OBS - Zoom Problem with Windows 10

KBJDad

New Member
We're having problems in OBS 19.0.3 (64-bit) while using any Windows 10 magnifier (Magnifier, ZoomIt, OneLoupe, etc.) type programs. Whenever we activate screen zoom or magnification, a smaller (ghost) mouse pointer is added to the screen that trails the normal mouse pointer. The mouse pointer appears normal when we're not using OBS. The mouse pointer also appears normal when screen is not being magnified. Below is a YouTube link that shows the problem. We've tried all the settings we can think of to correct this but without success. Hopefully someone can help us. We run a nightly LiveStream and our followers are not happy trying to figure out which mouse pointer is the real one.

Thanks in advance!

Mike & Johnny (Home Studio Trainer)


https://youtu.be/d8G_-tE4s68?t=2344
 

SumDim

Member
Try to run OBS Studio first, then your magnifier software after. Then test.
If that doesn't work, reverse the execution order. Then test.
 

KBJDad

New Member
SumDim- Thanks for the suggestion! I tried both ways but still having the same problem when zooming on the "Display Capture" source in OBS. I've tried several other screen magnifier programs for Windows 10 with the same result. Any other thoughts on zoom type (for Windows 10) programs, settings, etc. I can try?

Thanks!
 

Fenrir

Forum Admin
I'm not entirely sure there is a good solution to this. You can turn off the Capture Cursor option in the Display Capture properties and see if that helps, but then the cursor won't be visible if you are not zooming in. There's no real good solution to this issue, unfortunately.
 

SumDim

Member
I use ZoomIt v4.5 with no problems with OBS Studio 19.0.3 display capture as a source.

When you use ZoomIt, do you see a cursor appear when zoomed in?
When I use it, no cursor appears nor dual cursors.
 
Last edited:

KBJDad

New Member
Fenri & SumDim - Thanks for the response. Yes, we've tried turning off the "Capture Cursor" but like Fenrir said, then people can't see a cursor when the screen isn't magnified. Too bad there's not an option for this mode as well.

We are using ZoomIt 4.5. It works great for other Windows 10 applications. Still not understanding why it doesn't work in OBS? Is it screen resolution settings (Video, Output, etc) related??? Do Mac users have this problem as well with OBS?

Thoughts?

Mike
 

SumDim

Member
ZoomIt works perfectly fine for me. Its behavior is to not show any cursor when the hot key is pressed to zoom in. When I press ESC, it zooms back out and the cursor reappears in the original position. This behavior is the same whether I use OBS Studio 19.0.3 with a Display Capture Source or in normal use outside of OBS. No cursor appearing is acceptable. To draw attention to the region, left click and draw a circle/underline gesture to make the viewer aware.

We can't rule that it may be application dependent. Run PreSonus Studio One and ZoomIt only.
Don't run OBS Studio. Now zoom in with hotkey. Do dual cursors exist? Or no cursor?
 

KBJDad

New Member
SumDim- It sounds like you're using Zoom and not LiveZoom in ZoomIt? We need to use LiveZoom mode during our live broadcasts so we can make (and show) adjustments to the mixer in Studio One. The Zoom mode (static screen) doesn't allow for this in real time. Any idea why the extra (smaller) cursor shows when using ZoomIt in OBS? It doesn't show when we're not using OBS.

Thanks for your responses!

Mike
 

SumDim

Member
Yes, I'm using Zoom. When I use LiveZoom I see the dual cursor problem.

I believe what's going on is that OBS Studio is rendering the cursor based on its coordinates and resolution and ZoomIt in it's own coordinate and resolution. The two coordinate systems aren't the same (one non-zoomed, one zoomed). You are seeing dual cursors in these two different worlds.

OBS Studio doesn't know that the screen has been zoomed. So there would have to be some special detection to render the cursor correctly. Ideally, when OBS Studio knows that a Zoom type program is running, it would hide its own cursor when the hotkey for the Zoom program is pressed.

OBS Studio could support, say, just ZoomIt (its Microsoft program) and then do the following:
1) In Settings, let you specify the path to the executable so OBS Studio can verify that it is the correct ZoomIt (just in case) and at run time walk the process list to determine if it is currently running at the time of hotkey trigger
2) You specify the hotkey sequence used to trigger the zoom so that OBS Studio knows to let it pass through the hotkey handler. The two hotkey sequences must correlate. When the hotkey is triggered, OBS Studio then hides the cursor. There may be an issue here is if this is the system cursor and it may not be possible.

Put this in as a feature request.
 
Last edited:

KBJDad

New Member
SumDim, Thanks for confirming that you're using Zoom mode and also that you have the same problem (dual cursors) when using LiveZoom mode. Your description of how OBS is responding to ZoomIt makes sense. I really like the ease and features (and price - free) of ZoomIt. The only real problem for us (and LiveStream attendees) is the dual cursors.

Have you found any similar products for Windows 10 that do not have this problem? Also, do you think that zooming functionality could be integrated within OBS?

I will forward your detailed response for ZoomIt support as a feature request to OBS Support.

Thanks again for your help with this!

Mike
 

KBJDad

New Member
SumDim- Do you know if Mark Russinovich (Microsoft) still supports ZoomIt? A fix for the dual cursor problem might be disabling the cursor (as it does in Zoom mode) when LiveZoom is active.

Thoughts?

Mike
 

SumDim

Member
Technically, this is not a bug that needs a fix but rather a special use case OBS Studio wasn't designed for.

I imagine all that OBS Studio does is capture whatever is on a display screen. Then, draws a cursor on the device if one exists or not. If a cursor exists and the Cursor Capture flag is enabled, it draws its own cursor.

So in ZoomIt Zoom mode, it is ZoomIt that turns the cursor off. When it comes time for OBS Studio to capture, it sees that the cursor is hidden and doesn't draw its own cursor. Thats why you don't see any cursors in Zoom Mode.

In ZoomIt Live mode, ZoomIt magnifies the display and the cursor to generate a bitmap that gets rendered to the screen. OBS Studio captures that screen which has the cursor image embedded in it. It is not really a cursor. its just an image of it zoomed. OBS Studio knows that the real cursor is not hidden and exists on that display capture device. So it goes and draws its own cursor to represent it on its own coordinate system.

Thats why you see two cursors and they are offset from one another. When you move the mouse the two cursors start to grow farther away from each other is because of the scaling factor. 1 pixel can be 4 pixels. 4 pixel distance turns to 16. 16 turns to 64. So as you increase the distance away, it gets more and more separated. As you move closer together, they get tighter together.

I don't see the point in having a feature inside ZoomIt to hide the cursor in LiveZoom mode. Because if you did, OBS Studio's cursor wouldn't show and your viewers aren't going to see anything. Its just acting the same way as Zoom mode.

If OBS Studio can have a zoom hotkey ***feature*** that lets the user enable or disable the cursor based on the hotkey getting triggered, you can solve this use case.
 

KBJDad

New Member
SumDim-

Guess what... We tried running our broadcast using OBS on a MacBook using the native Zoom capabilities in OSX. We were surprised to see that the cursor appeared normal (no ghost cursor) . Any thoughts on why this works on a MacBook (OSX) and not a PC (Windows 10) running ZoomIt, Magnifier or any other zooming software?

Thanks!

Mike
 

SumDim

Member
OBS Studio could detect that native zoom capabilities exists on Mac OSX and turn its own cursor off. Not saying that it does, but that is a possibility that is a "feature" for Mac OSX users.
 

MattPilz

New Member
Hi - I have just published a tutorial and video that describes the approach I use to get around this "double cursor" issue. Essentially you can create two scenes (with and without cursor), set up a shared shortcut between ZoomIt and OBS Transition (hotkey), then enter studio mode and enable scene swapping. This way each time you toggle the magnification OBS will automatically switch to the scene without cursor, then back once you unzoom. Once setup it works fine every time and I have used this method for screencasting.

https://www.youtube.com/watch?v=lbsq5ti0fmU
 

KBJDad

New Member
Thanks Matt Pilz!

This solution (Double Cursor Bug) works great for those that use OBS in "Studio Mode" and ZoomIt with the OBS Transition (hotkey).

For those that don't use OBS in Studio Mode...

Here's a solution using similar steps that Matt documented but a different approach for setting up the hotkeys.

Instead of using the Transition (hotkey) option I'm using "Ctrl + 1" to trigger LiveZoom mode in ZoomIt and also the "Scene (Without Cursor)" scene in OBS. I'm using "Ctrl + Up" for higher magnification and "Ctrl + Down" for lower magnification. Then I use "CTRL + 1" to exit LiveZoom mode followed by "Ctrl + `" (Backtick key) to trigger the "Scene (With Cursor)" scene.

Please note that you may need to close down ZoomIt prior to adding the scenes and setting up the hotkeys in OBS. Once that's completed you can then launch ZoomIt.

OBS Scenes
OBS Scenes.png


ZoomIt Hotkey Settings:
ZoomIt.png


OBS Hotkey Settings:

OBS Hotkeys.png
 
Last edited:
I have been puzzling over this for a while. I know I will forget the extra keystroke required. And not knowing if I am in the no cursor scene etc.
So I found that adding a Hotkey that is the same for on and off turns into a toggle. So I added a no cursor version of my screen into a certain scene.
Then just add the same Hotkey with the scene to toggle between individual states.
Of course make sure that the default state of the scene shows the with cursor version of the screen.
 

Attachments

  • 2021-06-27_10-29-37.jpg
    2021-06-27_10-29-37.jpg
    212.8 KB · Views: 23
Top