"Command down bug" after switching apps using Command+Tab in MacOS

I am using BMTP v1.9.0 on MacBook Pro (Retina, 15-inch, Mid 2015) running Monterey 12.4.

I am experiencing a problem with command key when I switch from one app to another using the shortcut cmd+tab.

Example step by step:
I configure the shortcut F10 in BMTP to send note on 50 to Cubase
I configure the shortcut cmd+F10 in BMTP to send note on 60 to Cubase
the foreground app is Finder
I press command key, holding it
I press tab once
the application switcher appears, and it selects the next opened app, Script Editor
I press tab once again
the application switcher selects the next opened app, Cubase
I release the command key
Cubase 12 is now the foreground app
I hit the key F10, configured in BMTP to send midi note 50, but BMTP sends the midi note 60 (as if I had pressed the shortcut cmd+F10)

So the problem is that when I am switching apps with cmd+tab, and I release cmd key, BMTP doesn’t “hear” that I released cmd key, and BMTP understands that cmd key is still pressed.
If I press cmd key alone again, and I release it, the problem is solved.

I have found a workaround using a Timer that sends an outgoing action of command key down and up when any application changes to foreground. The timer needs a delay of minimum 250 miliseconds in the outgoing action to do the command key down & up.
This solution seems to work, but I would prefer that BMTP always hear my command key.

Maybe it’s not a bug, but I have tried a lot of things and the issue persists.

The last thing I have done is to set a variable for each modifier key in BMTP, and run an applescript to get the values of that variables and log all them. Everytime I change of app using cmd+tab, I run the applescript*, and it always log the variable of command key with a value of 1(pressed) instead of 0(released). *I run the applescript with mouse click, not pressing any modifier key.

Another interesting issue is that I have configured the following shortcut in system preferences/keyboard to move between windows of all opened apps:
ctrl+alt+tab → set the focus to the next window or the next active window

If I hit ctrl+alt+tab and I switch from app to app, there is no problem when I release control and alt keys, BMTP always “hear” that releases.

Hi, could you post your project file? I will take a look.

Steve Caldwell
Bome Customer Care


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

1-CMD KEY ALONE

2-CMD+TAB

Attached the project I have used to make the 2 gifs:

Command Key Test.bmtp (1.2 KB)

The workaround I was using to make key up and key down doesn’t work fine. Sometimes it works, sometimes no.

As you can see in the 2nd gif, sometimes BMTP recognize the command key up or down, but a lot of times nothing is detected.

Waiting for your feedback.
Thanks.
Jordi

OK, I see several possible issues.

  1. By default Bome MIDI Translator will not process keystrokes when it is focused. If you want to change this behavior, uncheck “Ignore incoming keystrokes when focused”. The reason this is normally checked is so that keystrokes used with MT Pro can get processed by MT Pro itself rather than translators if you are editing a project file.

  2. Cmd Tab on Mac usually switches between applications. Perhaps pressing CMD tab os somehow interfering with CMD F10

I tested the attached file on my Mac 13inch running Montery and it worked fine. I didn’t ignore incoming keystrokes when focused, but I made sure that I never pressed F10 or CMD F10 while MT Pro was focused.

Note also that any incoming keystrokes are NOT suppressed so if Cubase uses F10 or CMD F10, it will likely execute the keystroke as well as the MIDI message if you use it.

F10.bmtp (1.2 KB)

Steve Caldwell
Bome Customer Care


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

CMD+F10 and F10 in Cubase is just an example. The problem is the same with all apps that I use, and with all shortcuts.
The problem appears when BMTP is running in background and foreground.
Using the same BMTP project, I have record 2 small gifs where BMTP is running in background, and I use the following applescript code to get the variable that saves the command key status in BMTP:

tell application “Bome MIDI Translator Pro” to set v to get variable “tc”
if v = 1 then return** “tc=1 COMMAND pressed”
if v = 0 then return** “tc=0 COMMAND released”

I would appreciate if you can test it to see if you can replicate it.

3 APPLESCRIPT COMMAND KEY ALONE

Here is the problem. Everytime I change the front application, I am releasing the tab key and the command key, but BMTP understands that command key is pressed:

4 APPLESCRIPT COMMAND + TAB

I’m pretty sure the tell command gives MT Pro focus. Try this and see what you get.

I’m using the display notification in AppleScript to show the value of tc and also the log function of MT Pro. I’m not having any keystrokes missing on my system.

cmd-test.bmtp (1.2 KB)

Steve Caldwell
Bome Customer Care


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

Thanks @SteveC for testing and sending your bmtp project.

I am experiencing the same issue with your project “cmd-test.bmtp”.
When I hit cmd+tab for switching applications, BMTP don’t recognize when I release the command key. When I release the command key after hitting tab, there is no log and there is no notification.

I cannot use the function of keystrokes/shortcuts in BMTP with this behaviour. I need to solve it.

Maybe there is some wrong configuration in my computer? I have installed Monterey from zero formatting the HD, so everything should run smoothly.

Any idea?

Thanks!

Maybe check your accessibility options and insure you have turned it on for Bome MIDI Translator Pro.

I have yet to duplicate your issue and have escalated it.

Steve Caldwell
Bome Customer Care


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

I have given permission to BMTP for everything needed in system preferences.

Are you running either Keyboard Maestro or OSCulator.? I’ve had trouble with those interfering with MT Pro keystrokes in the past.

Steve Caldwell
Bome Customer Care


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

No, the other app I am running is BetterTouchTool.

I already thought that maybe running both apps was not compatible, and I have used BMTP with BetterTouchTool quitted. The problem persists.

So it seems BetterTouchTool is not the cause because it’s not running…