Question: OpenMSX - Autofire

Por Jeroen Kwakkel

Supporter (1)

imagem de Jeroen Kwakkel

16-02-2017, 21:02

Is it posible to bind a joystick button with 'repeating' a button press?
I have used joy2key for auto repeating keys strokes, but openmsx won't handle that well.

please help!

Entrar ou registrar-se para comentar

Por luppie

Paladin (869)

imagem de luppie

16-02-2017, 21:31

Check the OpenMSX Manual :

Look for the -repeat command

Por diederick76

Expert (114)

imagem de diederick76

16-02-2018, 16:35

I realize this thread is already a year old, but it is the first hit at DuckDuckGo.

Anyway. The openMSX manual isn't clear on how to use -repeat to autofire a joystick button. I understand I have to use bind with an event and a command. So, something like

bind "joy1 button1 down" type "hello"

will output hello to my screen. But what would be the command to fire button 1 on joystick 1? I tried typing a space, but that results in "warning: Error executing hot key command: Syntax error" Question

Por Manuel

Ascended (19214)

imagem de Manuel

16-02-2018, 23:54

Do you want to control the joystick fire button or do you want to let it press the space bar?
For the latter, use the keymatrixdown/up command.

For the former, I'm not sure. Is this possible, Wouter?

Por baarreth

Supporter (4)

imagem de baarreth

16-01-2022, 03:51

Sorry for posting on this old thread, but as pointed out, the internet search engines show this one when you look for "openmsx autofire".

I tried to create an auto-fire bind using -repeat, keymatrixdown/up, and after, but my best configurations worked for a few seconds and stopped working (tbh, it behave differently in different games, but my reference was CAPCOM's 1942).

So far so good, "not working" makes sense here, since we need to set a frequency for the keystrokes in an auto-fire, and for example, we don't know when a sequence of keymatrixdown/up in a bind with -repeat will be executed.

Through this, my poor man's choice was to create a burst-fire with type_via_keyboard.

Suppose you want to create an burst-fire for button A (which is mapped as the keyboard's SPACE), and you want to configure it on your joystick's button 1. Suppose you want 15 keystrokes per second, and you want the burst to last for just a second. You can achieve that through the following bind:

bind "joy1 button1 down" "type_via_keyboard -release -freq 15 \"               \""

Which in setting.xml will be stored as:

<bind key="joy1 button1 down">type_via_keyboard -release -freq 15 "               "</bind>

Por Manuel

Ascended (19214)

imagem de Manuel

16-01-2022, 12:07

Note that some MSX machines have a built-in autofire ("Ren-Sha Turbo"). This is emulated.