Hello, everyone,
all applications, x64sc, x128, xvic, xscpu have a problem with the mouse grab.
The algorithm that does the conversions seems to have problems when the display resizing field on the windows screen is set to 200%, most probably from 200% on.
This happens with screens that are physically very small but have a large resolution, e.g. my Surface 7, which has a 12.3-inch screen but a native resolution of 2736x1824 pixels, in these conditions such a magnification is reasonable.
With resize at 150% or 175% the mouse grab does its job well, but at 200% it no longer works.
The above test + was done on Windows 11, running both versions of winvice, the official GTK3VICE-3.8-win64 and the latest nightbuild GTK3VICE-3.8-win64-r45359.
Thanks
D.
Sorry, I don't know how to edit the post, so I am writing a small addition:
I would like to point out that these tests are for the Windows environment, I had the same problem with both Windows 11 and windows 10, I have no idea if the same bug is there on Mac, Linux or other environments.
Also there's a curious thing, if you resize the screen <200% and launch x64sc, as mentioned the mouse grab works.
At this point if you go back to the original screen size leaving X64sc running, the mouse grab still works fine, so it must be something that needs to happen at application startup.
The very same happens if you change directly the screen resolution.
Thanks
D.
i wanted to check this, but windows 11 here on my laptop offers me only up to 175% :)
and i'm using 100% on my cheap acer notebook (14" full HD).
maybe someone reading this has a 2K or even UHD monitor and can confirm my observations?
I didn't understand which developer is in charge of this module, is it you by any chance?
nah sorry, i'm a only another regular user.
the thing is, none of the devs here actually is using windows, at least not as their main system.
Oh well, someone must have taken care of the porting to Windows, so is it better to contact the developers via the mailing list?
If not, I can look in the sources, looking for the module and try to find out who wrote it...
Thanks
it's not that the devs here do not fix windows bugs, i think they us windows in a VM or so...
but it isn't their main priority, plus lately the development really was slow anyway.
Most importantly the things in question were created LONG ago. Who knows if the people who wrote it are even still alive :)
Ultimatively you'll have to find someone who has the described setup, and can build and test on windows - That isn't true for any of the active devs AFAIK
OK Gpz, I get your point, but then tell me , who (or what) creates the releases for windows that we see in the tree?
Not only the official ones but also the nightbuilds.
Is there a script that does everything automatically?
Give me that indication and then maybe I will try to study the code, hoping to be able to understand what has already been written.
Thank you
D.
Forgot that replies to the mailing list emails are disabled.
I'm probably the last person who worked on the mouse code. It would be good to get a description of how it behaves for you. Does it work if you don't make fast/big mouse movements?
Hi dqh, nice to meet you.
No, it doesn't change whether I make small, big, slow or sudden movements with the physical mouse.
When the display resize field on WIndows is set to 200% the mouse pointer moves diagonally, even fast.
If you keep moving the mouse to find the pointer again all you see is a diagonal, downward movement...as if just the scale calculations are wrong.
Maybe, if I can I, I'll make a video and send it to you to better show you the issue.
If in the meantime you instruct me on how to compile winvice (vice under windows on GTK) or explain to me what creates the binary releases we see on the site), I might give you a hand in investigating.
I can also rebuild a linux distro (I usually use Mint, but you tell me the best to use...) and do a cross compile for windows, that probably would be easier and more efficient.
Just give me an idea of the modules where I can find the code we are talking about so I don't have to study the whole thing from scratch...where is the code that does the mouse grab?
Thanks
D.
Last edit: Daniele Pellegrini 2024-10-27
How to build on Windows: https://sourceforge.net/p/vice-emu/code/HEAD/tree/trunk/vice/doc/building/Windows-MinGW-GTK3-Howto.txt
As for debugging this problem, it would be interesting to know how the SDL version behaves on the same setup.
It would also be interesting to know if the problem also occurs with a similar setup using a different OS.
As for the GTK code, i'd start looking at https://sourceforge.net/p/vice-emu/code/HEAD/tree/trunk/vice/src/arch/gtk3/uimachinewindow.c
I just tried this morning and I found that x64sc won't even start on Windows for me. The other emulators do. So there is a bigger issue to investigate first
I did the test running SDL2VICE-3.8-win64: it works perfectly, despite the Display Field set to 200%.
By the way, regarding your x64sc not running, last time it happened to me I just had to delete completely my preferences, they are saved in "C:\Users\your user\AppData\Roaming\vice"
and I had it back running. Also deleting vice.ini should be enough.
Let me know.
D.
Last edit: Daniele Pellegrini 2024-10-28
I am still not sure how to reproduce the problem shrug