diff --git a/src/BizHawk.Client.EmuHawk/MainForm.Hotkey.cs b/src/BizHawk.Client.EmuHawk/MainForm.Hotkey.cs index f34fbb1887..0de90934a7 100644 --- a/src/BizHawk.Client.EmuHawk/MainForm.Hotkey.cs +++ b/src/BizHawk.Client.EmuHawk/MainForm.Hotkey.cs @@ -593,6 +593,7 @@ namespace BizHawk.Client.EmuHawk case "Rewind": case "Fast Forward": case "Open RA Overlay": + return true; case "RA Up": case "RA Down": case "RA Left": @@ -600,7 +601,8 @@ namespace BizHawk.Client.EmuHawk case "RA Confirm": case "RA Cancel": case "RA Quit": - return true; + // don't consider these keys outside of RAIntegration overlay being active + return RA is RAIntegration { OverlayActive: true }; } } } diff --git a/src/BizHawk.Client.EmuHawk/RetroAchievements/RAIntegration.cs b/src/BizHawk.Client.EmuHawk/RetroAchievements/RAIntegration.cs index 4363954264..ffcc0e6f33 100644 --- a/src/BizHawk.Client.EmuHawk/RetroAchievements/RAIntegration.cs +++ b/src/BizHawk.Client.EmuHawk/RetroAchievements/RAIntegration.cs @@ -235,6 +235,8 @@ namespace BizHawk.Client.EmuHawk _mainForm.EmuClient.BeforeQuickLoad += QuickLoadCallback; } + public bool OverlayActive => RA.IsOverlayFullyVisible(); + public override void Update() { if (RA.HardcoreModeIsActive()) @@ -247,7 +249,7 @@ namespace BizHawk.Client.EmuHawk RA.SetPaused(true); } - if (!RA.IsOverlayFullyVisible()) return; + if (!OverlayActive) return; var ci = new RAInterface.ControllerInput { @@ -263,6 +265,7 @@ namespace BizHawk.Client.EmuHawk RA.NavigateOverlay(ref ci); // todo: suppress user inputs with overlay active? + // cpp: well this happens now if hotkeys override controller inputs } public override void OnFrameAdvance()