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.
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?