Skip to content

Commit dd9c15b

Browse files
committed
fix retroachcore always showing mouse on mixed support systems
Signed-off-by: Joseph Mattiello <git@joemattiello.com>
1 parent 60eb1d3 commit dd9c15b

File tree

1 file changed

+11
-12
lines changed

1 file changed

+11
-12
lines changed

CoresRetro/RetroArch/PVRetroArchCore/Swift/PVRetroArchCoreCore.swift

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -659,20 +659,19 @@ extension PVRetroArchCoreCore: PVDOSSystemResponderClient, KeyboardResponder, Mo
659659
}
660660
public var gameSupportsMouse: Bool {
661661
guard virtualInputSupport.supportsMouse else { return false }
662-
// Always delegate to MouseGameRegistry when a valid system identifier is available.
663-
// The registry handles both always-mouse systems (DOS, Macintosh, etc.) and
662+
// Always delegate to MouseGameRegistry for per-game detection.
663+
// The registry handles always-mouse systems (DOS, Macintosh, etc.) and
664664
// conditional systems (Dreamcast, SNES, etc.) with per-game MD5/title checks.
665-
// This prevents false positives where e.g. all Dreamcast games show a cursor.
666-
if let sysID = SystemIdentifier(rawValue: systemIdentifier ?? "") {
667-
return MouseGameRegistry.shared.gameSupportsMouse(
668-
systemIdentifier: sysID,
669-
md5: romMD5,
670-
title: romName
671-
)
665+
// Without this, generic RetroArch sessions (systemIdentifier = "com.provenance.retroarch")
666+
// would incorrectly show the cursor for all games on mouse-capable cores like Flycast.
667+
guard let sysID = SystemIdentifier(rawValue: systemIdentifier ?? "") else {
668+
return false
672669
}
673-
// Unknown system identifier — fall back to the static support table.
674-
// This only triggers for unresolved/generic RetroArch sessions.
675-
return true
670+
return MouseGameRegistry.shared.gameSupportsMouse(
671+
systemIdentifier: sysID,
672+
md5: romMD5,
673+
title: romName
674+
)
676675
}
677676
public var requiresMouse: Bool {
678677
virtualInputSupport.requiresMouse

0 commit comments

Comments
 (0)