mgth / LittleBigMouse

DPI Aware mouse move across screens
GNU General Public License v3.0
3.65k stars 178 forks source link

Not working with PowerToys Mouse Jump. #346

Open chinook77 opened 4 months ago

chinook77 commented 4 months ago

Hi, is not working with PowerToys Mouse Jump. The cursor stucks in the corner between monitors every time that activate the "jump".

mgth commented 4 months ago

You're right, its "by design" you'll have better luck with "corner crossing" algo but i's not perfect. I may introduce a "far distance" moving exception to prevent that.

chinook77 commented 4 months ago

Thanks.

mikeclayton commented 1 month ago

I think what maybe happens is Mouse Jump moves the cursor but Little Big Mouse doesn't detect the move, and LBM bases its next move of the cursor on the last-known LBM location, not the actual current mouse location?

The PowerToys Mouse Crosshairs utility had a similar issue when Mouse Jump was first released - when Mouse Jump moved the cursor the Mouse Crosshairs utility didn't move its crosshairs to match - see https://github.com/microsoft/PowerToys/issues/24523 for details.

That was fixed by making PowerToys Mouse Jump call the Win API SendInput function to send a synthetic "mouse move" event which other applications (including Mouse Crosshairs) can detect and - in the case of Mouse Crosshairs it uses the event as a trigger to move the crosshair location.

See these links for the relevant bits of Mouse Jump that move the cursor and send the synthetic mouse move event:

You might be able to listen for that event in LBM and detect Mouse Jump (or any other external mouse automation software) moving the mouse from that and update its internal "last-known mouse location", which might help when any other external utilities move the mouse as well...