Re: [hatari-devel] Synching host mouse position to Atari mouse position

[ Thread Index | Date Index | More lists.tuxfamily.org/hatari-devel Archives ]


Hi,

(Cross-posting this to emutos-devel as it concerns partly EmuTOS.
Send replies only to either of the lists, depending on whether your
comment is about EmuTOS or not.)

On 11/6/19 10:25 AM, Thomas Huth wrote:
Am Tue, 5 Nov 2019 02:07:46 +0200
schrieb Eero Tamminen <oak@xxxxxxxxxxxxxx>:
....
I already noticed that window enter events moving mouse can be *really*
annoying, when trying to top Hatari window that's mostly covered
by another window.  It results in enter event always moving mouse
away from Hatari window to the overlapping window, when Atari mouse
location within Hatari window happens to be below the overlapping
window...

Instead of warping the host mouse cursor, you could try to warp the
Atari mouse cursor instead

I also came to the conclusion that the way my code is doing this
(and Aranym from where hat method was derived), is ass-backwards.

As you implied, it's not emulation that should control the mouse,
but user.  Mouse should always be where user has positioned it,
without any weird discontinuities.


> by writing to the Line-A variables...
but that's of course even more dangerous - in case the ST program is using
the whole memory, you might then destroy sensible data in the ST space.

This would definitely need command line option to enable it, and
I don't think it should be enabled by default.


Honestly, I've got no clue whether there is a real good solution for
this...

In the EmuTOS case it could be done safely, with a suitable NF API.

Emulator would provide NF API for querying absolute mouse position,
and EmuTOS would use that to get mouse location in all relevant places.

If that call succeeds at startup, EmuTOS could also stop:
- processing IKBD mouse movement packets
- drawing its own mouse cursor

(Maybe that NF API should provide also mouse buttons status info.)


Roger, any comments?


	- Eero



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/