Bome Midi Translator - only recognizes keystroke when delay of 20ms

Hey,

I just bought the software because it really is helping with my setup a lot. I was very disappointed in the official Taiko Nintendo Switch drum due to its bad sensitivity. I didn’t want to mod it’s hardware and had the idea to use a midi drum as a replacement.

I use yuzu (Switch Emulator) with the Taiko Rythm Festival Game. This is how my setup looks:


It works fine. Just in harde Modes of the game you can feel the 20ms delay of the keystrokes. I tried to reduce the delay to 15, 10 and 5ms but then the input doesnt get recognized anymore. On 15 ms maybe 75% get recognized, on 10% around 25% and on 5ms and 0ms 0% of the Input gets recognized.

I am extremely new to everything MIDI related. I know you are not yuzu experts, but I would like first to ask you if there might be a better way for me to set this up in Bome MIDI Translator? Yuzu doesnt recognize MIDI input directly, like may clone hero does… (at least I think so)

Happy for any input!

Hi and welcome to the Bome community!

The feature of delaying keystrokes was added to give the application enough time to process them. If the application cannot handle the increased speed, there is not much that we can do.
I would suggest however that you make sure the application is focused at all times, otherwise the keystrokes may be unreliable. There is an outgoing action to focus the application and an incoming trigger that can tell Bome MIDI Translator Pro if a given application is focused or not. So you could set a global variable when the application becomes focused and change it when it is not focus. Then you could create a translator that looks at the global variable and if the application is not focused, request that it become so.

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz
1 Like

Thank you for your suggestions. Since I am very new to this topic I have some trouble understanding it. How do I ensure the application is focused all the time? Do you mean running it on main screen in fullscreen mode? If yes, thats what I am doing usually…

Or do I understand right, that Bome MIDI Translator Pro can set a Program to be focused via variable/action?

Hi,
Please find the following example.

Translator 0.0 sets the value of global variable ga to 1 when notepad.exe is focused.
Rules:

ga=1
Log "Log Notepad is Focused"

Translator 0.1 sets the value of global variable ga to 0 when notepad.exe is not focused.

Rules:

ga=0
Log "Log Notepad not focused"

Translator 0.2 sends keystroke ‘a’ but if notepad.exe is not focused first is sends a ‘Perform’ action to focus he application. If the application is not focused, it sets a delay of 20ms before sending the keystroke. If your application needs a delay the change the default delay of pp from 0 higher until your application can keep up.

Rules:

//No delay by default
pp=0
if ga!=1 then Perform "Focus"
if ga!=1 then pp=20
if pp!=0 then Log "Delaying keystroke %pp%ms to focus application"

Translator 0.3 Focuses notepad.exe when called by the perform rule within the rules of translator 0.2. Outgoing action is to focus the application.

Keystroke-Focus Demo.bmtp (1.5 KB)

Happy New Year!

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz
1 Like

Thank you so much for the effort and the detailed explanation. I will definetely give this a go!

A happy new year to you too :)!