[solved by Midi-master-steve] Some Keystroke Shortcuts not working

Hi,
I encounter a really weird behavior, where some Keystroke shortcuts are working fine, but some don’t do anything.

My setup:
I m using Ableton 11.2.7 on Win11 and a Touch Interface (osc pilot, which sends out midi cc via a virtual midi port “Loopmidi”), while also having bome midi translator open (running as admin!), which listens to the Loopmidi incoming messages.

When pressing a button in the touch interface, the corresponding midi CC triggers BMT to send out a keystroke shortcut.
As Ableton and TouchInterface are on the same machine, i had to activate BMTs ‘injection’, so the shortcut is injected into Ableton, even when the touch interface screen is touched :slight_smile:
When it comes to ‘Tab’ or ‘Shift+Tab’, this is working fine. Yay!
But Now the strange thing: many other shortcuts, like Ctrl+Alt+B (browser open/close in Ableton) or Ctrl Alt E (detail view of clip) do not work at all in ableton, even though BMTs "Monitor " is showing Midi IN and Keystroke OUT. what could be the reason, woran hats jelegen? :slight_smile:

Hi, the most likely issue is that the keystrokes that are not working are also programmed on your computer as global keystrokes for some other function. The other possibility is that some areas of the screen within Ableton Live do not support injected keystrokes. Injected keystrokes require a programming object within the application and not all of the object create in an application are selectable. Usually you can tell the selectable object as they show a green outline when you choose them as a selectable area. If the green outline does not show, or it shows on a broader area, then it is possible that the selection won’t work hence you cannot inject the keystroke. In cases where you cannot use injected keystrokes, you have to focus the application. With all of this said, this will not fix any globally defined shortcuts. For these cases, it is best if you can use MIDI to control the application (if the application supports it. You might want to check if any other applications use Ctrl-Alt-B for anything.

Now, I’m not sure why you are using loopMIDI as you can use Bome MIDI Translator ports which handle MIDI more efficiently as it only requires one system call to send a MIDI message where loopMIDI requires two. Of course if you need to talk to devices without MT Pro, then yes, you will still need to use loopMIDI or similar.

Steve Caldwell
Bome Customer Care


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

Hello, i checked online, whether Ctrl Alt B , Ctrl Alt L, Ctrl Alt E, Alt+1, Alt+2, Ctrl+e do anything globally in windows, but i cant find any binding for those.

I checked if i encounter the same behavior without injection, by putting my touch control softare on the other PC, and sending MIDI over via midi cable into my RME Babyface, which then triggers BMTs keystrokes.
So even when Ableton stays in focus and the keystrokes seem to happen via BMT, nothing happens in Ableton.
‘Escape’, ‘Ctrl i, ctrl shift i, Alt+ +, B, A’ , there are many which work. Which makes this so weird, haha.

Also, i tried out my Launchpad Mini mk3, because it has the option to send Keystrokes/shortcuts via its pads. Those do work. Ctrl+alt+b, etc. etc. all work, (when ableton is in focus, ofc).

Thinking about a workaround, i m thinking about whether it’s possible to use BMT assigned Keys just like a real keyboard, or if ‘holding’ a button is not possible. To be more precise: i m trying to make 3 assignments in BMT, each having its own midi cc. Assignment 1 would be the key ‘Ctrl’, assignment 2 the Key ‘alt’ , and 3 would be ‘B’. But it appears BMT only sends the key very fast, and i cant find the option for ‘holding’ the key, in order to do the shortcut-combination

Ah yes, perhaps the problem is that the keystrokes are being sent too fast for Ableton Live to emulate longer keystroke sequences. As of MT Pro version 1.9.0, MT Pro has the ability to slow down the outgoing keystrokes. This helps particularly with keystroke sequences more than 2. In the outgoing action in addition to injecting the event, check the ‘Emulate keystrokes slowly’ box. Usually 20ms is enough but you can adjust it if you would like.

slower-keystrokes

If this doesn’t work, please post your project file and I will test and try to duplicate the issue.

Steve Caldwell
Bome Customer Care


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

I tried slowing the keystrokes, even to 2000 milliseconds, no luck
also no luck with trying to put the shortcut into slices = three buttons, Ctrl + Alt + B.

Here’s my file
Midi translator Shortcuts for Ableton.bmtp (26.5 KB)

Also strange behavior i encountered, when i tried the ‘shift+tab’ shortcut: then only ‘tab’ is coming to ableton.
(shift tab is supposed to switch device/clip-detail. But Tab on its own is changing between Session and Arrangement) Live Keyboard Shortcuts — Ableton Reference Manual Version 11 | Ableton

So the prime example of shortcut not working is Ctrl+Alt+B, Ctrl+Alt+E, because i need those all the time :slight_smile: (Ableton browser, and Ableton clip-detail-editor-view)
Also not working are Ctrl Alt L (show/hide detailview), Ctrl+Z, Ctrl+y (undo redo), and many more.

Shortcuts which are working are for example ‘up, down, left, right’ arrows. Escape, Enter, Delete, Ctrl+i, Ctrl shift i, Alt+ +, B, A.

Thanks alot :slight_smile:

Hi,
Starting to look at it now. It appears you have in addition to shortcuts, some MIDI thru paths send. Are you using MIDI for input from either device using Ableton Live or are you only looking at shortcuts? The way you have it set up, all MIDI coming from Babyface MIDI port one will go to BMT 1 (twice) and all incoming MIDI from loopMIDI port will also go to BMT 1 (twice). You have the routs set up so they go both the the BMT 1 Alias (Bome Virtual Port Out) and he physical port Bome MIDI Translator 1 Virtual Out. So essentially any MIDI coming in from these MIDI ports will also send MIDI out twice to BMT 1 (which I assume you have Ableton Live connected. If you do not intend to pass through MIDI, then you should delete the routes. If you only want it to pass through once, you should either use the alias only or the physical port so that you don’t send it twice.

image

port-alias

Bome Virtual Port 1 is an automatically created aliases by Bome MIDI Translator Pro.

You can learn more about aliases from this tutorial.

I suspect that if you remove your MIDI through paths that your shortcuts should work. Give it a try while I look into it further.

Steve Caldwell
Bome Customer Care


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

Well it turns out that Ableton Live does not support injected events for the keystrokes you mentioned. In order to work-around this, you need to have a translator that switches application focus to Ableton Live and then with a slight delay have the other translators send the keystrokes.

In the attached project file, translator 0.60 focuses on Ableton Live and then 0.61-0.64 send the keystroke 20ms later. I changed the incoming triggers for notes for my testing.

I suspect the reason it was working with your Launchpad is that Ableton Live had focus because even with a standard keyboard, these shortcuts did not work unless Ableton Live was in focus.

Midi translator Shortcuts for Ableton.bmtp (27.4 KB)

Steve Caldwell
Bome Customer Care


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

you found the solution, really nice! Thanks alot!

Could this also be done with Midi cc instead of notes? I m asking because the note-message is also coming through, and then this might cause some note-triggering in midi channels

I see you have zero connections now in the MIDI Router of BMT, should i maintain it like that?

I managed to make this work with Midi cc too, instead of notes, so really awesome, thanks alot!

PS: finally, i d love to understand what the ‘pp’ is meaning , in the app-focus-setting you made :slight_smile: ?
Sadly i never understood this ‘language’

It is a local variable. By local, this means local to that translator. There are 10 of them:

oo,pp,qq,rr,ss,tt,uu,vv,ww, and xx

We are capturing the cc value to that variable, then in rules determining if it is a target variable we want to use for focus. I’m not at my computer now but I think I meant to capture a note number and not a cc value.

Click help or press F1 within MT Pro to open the user manual and it will tell you all about variables.

Steve Caldwell
Bome Customer Care


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

Thank you
Just as an important note for this topic:
After further testing, i found out that those two ‘translators’ done, a) Application focus on Ableton, and then b) with 20ms delay, the shortcut activation, is in most cases much better than the injection, because it keeps the focus on ableton

EDIT: woops, actually, it does not keep the focus on Ableton, only for the short time where the shortcut is transmitted. I fooled myself by testing the Touch-interface just by mouseclick. As soon as i use it by actual touch, the focus keeps switching back to the touch-interface immediately after the shortcut-transmission. But nevermind, this is still good enough, and the shortcuts all appear to be working :slight_smile:

Yes, I find using focus first is more reliable and less suscepticale of the programming style of the target injected application.

Steve Caldwell
Bome Customer Care


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