Press & Hold Key Stroke Combination

I use Midi Designer Pro (iPad) and Bome MIDI Translator Pro (Windows 10 PC) to execute keystrokes in Digital Combat Simulator (game). In Bome, I set Outgoing to Key Stroke > Physical Keys, and this usually works fine. But with some keys it doesn't work, regardless of how simple/complex the keybinding.

What I've discovered is that some of the buttons and dials in-game require a slightly longer keystroke to register. In testing, I confirmed that the game is registering the keystrokes by observing the keybinding configuration selection menu switching between keybindings when I press the buttons on my iPad. Then I tested simulated keystrokes with VoiceAttack, which allows me to set a "hold down" time for each keybinding press; the game registers the simulated key press input from VoiceAttack with a "hold down" as small as .001 seconds. If I just use the "key press" option in VoiceAttack—without "hold down"—then the game does not register the key press.

Is it possible to set a "hold down" time for a multi-key press in Bome MIDI Translator Pro? I know I can achieve something similar by using "Down" and "Up" for single key strokes, but I have many complex keybindings that require multiple keys being pressed simultaneously.

Many thanks for any help with this!

If I understand correctly, you want to define the length of down and up keypress when using physical key output, is this correct.

The only way I know you can control the length of down keystroke as you discovered is use the key-down action instead of physical key (down and up). You would then use a timer with a key-up action to release the keystroke. The same incoming action for key down, would start a one shot timer that would then generate the key-up at the specified timer of the timer.

Steve Caldwell
Bome Q and A Moderator and
Independent Bome Consultant/Specialist
bome@sniz.biz

 

Is it possible to do this with a multi-key press (e.g. CTRL+SHIFT+D)?

Yes, you can use timers to do this. (Windows Only, Not reliable for Mac)

On the same initial incoming action you set a series of timers to fire, each with a different delay

Control Down
Wait 10 ms
Shift Down
Wait 10 ms
D Down
Wait 10 ms
D Up
Wait 10 ms
Shift Up
Wait 10 ms
Control Up

The attached is an example of how you can trigger a sequence of keystrokes at a given interval

I set at timer to execute 6 times.

There are 6 keystrokes 3 down and 3 up.

Each translator looks at the counter and only executes its keystroke the designated iteration The counter is decremented after each iteration

 


Attachments:
1562614289480_Key-Sequence-Example-2019-07-08.bmtp

This gets the job done, but also seems a bit like a Rube Goldberg solution. Is there any chance of adding an option for a hold-down time for a multi-key press? This is a known issue with how some software inputs are handled (according to the Voice Attack developers). Also, expanding the “Down” and “Up” keypress options beyond a single key press would be useful.

Hi, I’ll ensure your request gets consideration for future releases.

Steve Caldwell
Bome Q and A Moderator and
Independent Bome Consultant/Specialist
bome@sniz.biz

1 Like