Sunday, 22 March 2020

Re: [Rpcemu] RPCEmu macOS mouse behaviour

On 23 Mar 2020, at 14:23, Peter Howkins wrote:

> Can you confirm this, or if not please provide info on which Linux
> distro you're running under?

A colleague had Linux issues and confirmed follow-host in full screen
mode worked OK with the patch; I'll get back to you with distro info
when I have that available.

>> It is definitely advantageous to be able 
>> to access the menu bar and get out of full screen mode in Mac OS,
>> and 
>> advantageous to be able to thereafter scale the RPCEmu window and
>> have 
>> the mouse coordinates still correctly mapped.
>
> I'm also a bit confused about this one, at least on Windows and Linux,
> full screen means you can pretend there's no Host OS there, it's great
> for games and the like you're on a real machine. There isn't the menu
> bar available (because either the menu bar is over the top of the RISC
> OS content, or the RISC OS content has been squished under it?).

Under macOS since the introduction of a system-wide OS API standardised
full screen mode (IIRC in OS X Lion, 10.7.0) the way it works is:

* Your window goes into its own desktop "space"
* The application menu bar (shown at the top of the screen in macOS) and
the window title bar with window controls is hidden
* If the OS mouse pointer is moved towards the top of the screen, the
menu bar and window title bar become visible

There are three ways once in full screen mode that one might exit it:

* Using some usually application-specific key combination
* By using an application menu entry
* By using the "green" button (of the OS X red, orange green) in the
window title bar

The last two are only possible when the menu bar and title bar are
visible, which in turn is only possible when the mouse pointer is able
to move to the top of the screen. In the "non-mousehack" mode that
RPCEmu currently enforces when in full screen, the mouse pointer is
continuously reset to the window centre, making it impossible to reach
the application main menu or the window title bar. This also means you
can't do things like change application preferences or e.g. load a
floppy disc image.

Mac laptops don't have an End key, so Ctrl+End is not accessible there
and this means users tend to get 'trapped' in full screen mode in the
current implementation. Even if they turned on mousehack, it's
temporarily disabled in full screen mode. With the patch in my previous
message, this behaviour is changed. *If* the user has chosen "follow
host" (mousehack) mode, then this maintained in full screen mode and the
host mouse and guest (RISC OS) mouse positions are properly mapped. The
host mouse pointer moves normally and the window titlebar & main menu
all become accessible in full screen mode. If the user has turned
"follow host" off, then the unaltered prior behaviour of
host-mouse-pulled-to-centre is maintained and the user has to find their
own way out of full screen mode, but they have the advantage of a far
more accurate emulation environment and I suspect that this is likely to
be especially useful for games.

If I were using RISC OS under emulation in full screen on a Mac for the
desktop, then, I'd prefer it with the patch applied & mousehack on. For
games, I'd turn mousehack off.

--
Andrew Hodgkinson
RISC OS Open Limited
http://www.riscosopen.org/

_______________________________________________
RPCEmu mailing list
RPCEmu@riscos.info
http://www.riscos.info/cgi-bin/mailman/listinfo/rpcemu

No comments:

Post a Comment