Page 1 of 1

On Mac, maximized fullscreen and Escape key interfere

Posted: Mon Nov 20, 2017 9:46 pm
by anarakul
I play ToME on a modern Mac Pro laptop running High Sierra. I have a dual monitor setup, one built-in retina, one external; I use several different external monitors of differing geometries, depending on my location. I like to have ToME on one monitor and use the other one to text, work, read, etc.

When I play in maximized fullscreen mode, hitting the Escape key to exit a menu/modal not only exits the menu/modal but also de-maximizes the game. By "maximized fullscreen mode", I mean the single-monitor fullscreen mode that results from hitting the green decoration in the upper left corner of the window. In this mode, a single-monitor fullscreen ToME window fully occupies a dedicated Space. The Escape key being overloaded in this way makes for a very frustrating play experience, as Escape is one of the most commonly pressed keys.

Here are workarounds that I have tried:
  • Setting the game to its official fullscreen mode (Options -> Video Options -> Resolution -> Fullscreen). This disables the de-maximization behavior of Escape, but blanks my second monitor completely, rendering it useless.
  • Changing the binding of the "Exit menu" action from Escape to ` (Options -> Key bindings -> Exit menu). This works for 80% of the menus/modals, but not all of them — many are still apparently hard-wired to accept only the Escape key as a means of exiting, ignoring whatever binding the player set for the "Exit menu" action. Also, I tend to hit Escape anyway from sheer habit, since most other games that I play use Escape to exit menus/modals.
  • At the OS level, disabling the "Exit Full Screen" action, which was bound on my machine to Cmd+Escape (System Preferences -> Keyboard -> Shortcuts -> App Shortcuts). I thought possibly it was influencing ToME somehow; maybe ToME was treating the Cmd mask as set while processing Escape. Anyway, that had no effect whatsoever, so at least I've ruled out interference at this level.
None of these workarounds work for me personally, so I usually play ToME windowed and manually change the window geometry to match my monitor's. But then the OS menu bar and the window's title bar detract significantly from the immersive experience offered by fullscreen. Additionally, this is frustrating because I have several different external monitors that I play with, and ToME doesn't remember the geometries of the different monitors, meaning that I have to size the window every time I change location. In the grand scheme of things, this is probably a small issue, but it's very frustrating for me and other Mac users with whom I've spoken.

Ideally ToME should completely unbind Escape from window geometry — I can't fathom a compelling reason why Escape should change the maximization/fullscreen state of the game, especially since it is used to back out of every menu/modal. A good fix would be to disable this behavior for Escape, leaving it exclusively for backing out menus/modals.

Maybe I am missing some important configuration variable that would fix this problem?