libretro / RetroArch

Cross-platform, sophisticated frontend for the libretro API. Licensed GPLv3.
http://www.libretro.com
GNU General Public License v3.0
9.96k stars 1.79k forks source link

Combining Game Focus with Menu #16550

Open chinagreenelvis opened 3 months ago

chinagreenelvis commented 3 months ago

Description

In version 1.15, I set up the menu and game-focus hotkeys to be scroll_lock so that I'm able to bring up the menu when auto game-focus mode is on (necessary for Dosbox Pure). Pressing the button once disables game-focus and brings up the menu; pressing it again exits the menu and brings back game-focus.

In all versions after 1.15, the game-focus is not restored when exiting the menu this way.

Expected behavior

When both menu and game-focus are bound to a single key, pressing that key twice (to exit the menu) should restore game-focus.

Actual behavior

Game focus is not restored.

Steps to reproduce the bug

  1. Bind menu and game-focus to scroll_lock
  2. Start a text-based game in Dosbox
  3. Press scroll_lock twice
  4. attempt to type

Bisect Results

After updating from 1.15 to 1.18; the behavior was changed in 1.16

Version/Commit

Environment information

hizzlekizzle commented 3 months ago

This is less of a bug and more a case of making clever use of undefined/unintentional behavior. Unfortunately, that sort of thing is always at risk of being wiped out by changes to the underlying feature.

It was probably @sonninnos who changed/fixed the behavior, in which case it'd likely be up to him whether to try and restore this unintended (but, again, quite clever) behavior or not.

chinagreenelvis commented 3 months ago

Either that or an option to exempt the menu hotkey from game-focus would be helpful, just so much more convenient to hit one button rather than two each time I want to enter the menu for save states.

chinagreenelvis commented 2 months ago

Is there any chance of working out a solution for this? I've tried setting up a workaround in AHK but apparently AutoHotKey does not work with Retroarch... ?

Edit: Apparently RA is just really quirky about getting AHK to work. I have a workaround, but it's not nearly as good of a solution as what I had been able to do in 1.15 (or having a set of defined keys that can be exempted from Game Focus).

In fact, this is only useful if you never want to disable Game Focus without bringing up the menu, in which case all hotkeys are useless anyway... hrmm.

#IFWINACTIVE, ahk_exe retroarch.exe

$ScrollLock::

    Send {ScrollLock Down}
    Sleep 100
    Send {ScrollLock Up}
    Sleep 100
    Send {F1 Down}
    Sleep 100
    Send {F1 Up}
    Soundbeep, 500, 250

Return

#IF