From 95c0958ab32f3335a7be70f4df0ee0e402184090 Mon Sep 17 00:00:00 2001 From: Daniel Martin Date: Tue, 20 Oct 2026 10:42:42 +1000 Subject: [PATCH] openmsx: release the f2/f3 pad keys and skip them on the svi (fixes #12210) --- .../batocera-launch/batocera_launch/emulators/openmsx.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/python-src/batocera-launch/batocera_launch/emulators/openmsx.py b/python-src/batocera-launch/batocera_launch/emulators/openmsx.py index 8788c365531..aeaa304d9a0 100644 --- a/python-src/batocera-launch/batocera_launch/emulators/openmsx.py +++ b/python-src/batocera-launch/batocera_launch/emulators/openmsx.py @@ -130,10 +130,11 @@ async def configure(self) -> Command: file.write('dict set joystick2_config DOWN {+axis1 D_hat0}\n') for input_ in pad.inputs.values(): - if input_.name == 'y': - file.write(f'bind "joy{nplayer} button{input_.id} down" "keymatrixdown 6 0x40"\n') - if input_.name == 'x': - file.write(f'bind "joy{nplayer} button{input_.id} down" "keymatrixdown 6 0x80"\n') + # row 6 bits 6/7 are F2/F3 on an msx but enter/left on the svi + if input_.name in ('y', 'x') and self.system != 'spectravideo': + mask = '0x40' if input_.name == 'y' else '0x80' + file.write(f'bind "joy{nplayer} button{input_.id} down" "keymatrixdown 6 {mask}"\n') + file.write(f'bind "joy{nplayer} button{input_.id} up" "keymatrixup 6 {mask}"\n') if input_.name == 'pagedown': file.write(f'bind "joy{nplayer} button{input_.id} up" "set fastforward off"\n') file.write(f'bind "joy{nplayer} button{input_.id} down" "set fastforward on"\n')