Keystroke Input: Text works on PC but not on Mac

I created a project yesterday using the trial version of the software running on a PC running Windows 10. The project translated text entered on the computer keyboard to raw MIDI outputted to the project's MIDI port. It was working perfectly.

Today I purchased MT Pro and installed it on a MacBook Pro. I opened yesterday's project file, which looked the same as on the PC. I adjusted the MIDI out port for the MacBook. Problem is: the key strokes and text on the computer keyboard are not being detected properly.

I assigned each lower and upper case letter (all single key strokes, no combinations). Nearly all the keyboard keys are not triggering. But a few odd keys on the keyboard do trigger: - <RETURN> inputs "w" - <DELETE> inputs "c" - <SPACE BAR> inputs "u" - <UP ARROW> inputs "j" - <DOWN ARROW> inputs "k"

I noticed that holding down the shift key with these odd key strokes produces the upper case version of the letters entered above.

Why are all the letter keys being ignored? Why do RETURN, DELETE, SPACE-BAR, and UP/DOWN ARROWS produce letters?

Hi,

I’ve alerted Florian of the issue. In the meantime, check to see if you have any third party applications that may be translating your keystrokes on your MacBook pro.

 

I reviewed software on the machine and believe there is nothing else that is translating keystrokes, though that’s not an absolute certainty.

For the moment, the laptop is disconnected from the external, USB MIDI adapter. I tried setting the MIDI output port for the project to the Bome virtual port to see if MT would detect key strokes. Nothing shows up in the event monitor, including the several keys listed above that triggered when the MIDI adapter was connected.

Any additional thoughts?

Since my previous post I have uninstalled a few music/midi-related apps, reviewed all the running processes in activity monitor, and uninstalled and reinstalled the Bome MT. The behavior remains consistent; with my project loaded, the only computer keyboard keys that trigger the MT are the ones described above. No other key presses are detected as an event according to the event monitor.

I’ve tried creating new projects with a single translator. Those other projects indicate no input in the event monitor at all, including no input for the keys listed above.

I installed an app called “Key Codes” that displays the character, unicode, and key detected by the OS. As far as I can tell, the computer keyboard is generating normal codes. Do you have other suggestions? I am counting on the Bome MT working on my Apple computer as well as a PC.

You can try this. Uninstall and re-install MT Pro. Remove any .bmts files that may be on your computer before you start the application. Maybe tell me the version of OSX you are running.

Hi, sorry for the late reply. Normally, this should work fine. However, there is A LOT of logic happening behind the scenes to allow Mac users to load Windows keystroke definitions (and vice versa), dependent on the keyboard layout. MIDI Translator Pro will do all the necessary conversion if a user enters a text on a French keyboard, and then loads it up on a US keyboard.

As far as our testing and feedback from users goes, MT Pro works correctly in that regard. So I don’t know what’s happening on your computer. However, just in general, the safest bet is to record the keystrokes on the computer where you want to use it. So, while not explaining the problems you’re facing, it might be worthwhile to recreate the incoming actions on the Mac and save that project under a different name for Mac use.

And if you keep on having problems, which version of MT Pro and macOS are you using? Which language is the keyboard?
Thanks!
Florian

I’m running the latest version of Sierra (10.12.6).

I’ve already tried MT with a new project and new translator that I created and entered on the MacBook (see my previous post). Event viewer shows no inputs at all for that project.

I’ve spent a couple evenings on this issue. Today I decided to wipe the MacBook and install a clean OS. There is a Boot Camp partition and a lot of data on the MacOS, so it’s taking quite a while to back up and prepare and the machine. I hope to try the fresh install tomorrow. Once done I’ll install Bome MT and create a new project on the Mac to see if the text events are detected correctly. I’ll report the results.

Hi, thanks for reporting. I’m not sure that reinstalling macOS will have any effect, but if you’re doing it anyway, it’s certainly worth a try.
I assume you’ve enabled Accessibility for MIDI Translator Pro?
Allow it to control your computer here:
System Settings -> Security & Privacy -> Privacy -> Accessibility

I saw the note about enabling Accessibility immediately after installing the software. When I opened preferences to set it, I found that it had been set already. Does the application installer take care of this automatically? Alternatively, I may have run the trial version of MT on this machine last year.
Since I’ve lost track of whats been done on the MacBook, a fresh OS seems like a good thing to do.

I reformatted my hard drive and installed a clean version of OSX 10.12.6 (Sierra). I ran all OS updates, logged into iCloud, installed Synology Cloud Station, Crashplan ProE backup, Last Pass, FireFox and Chrome. Then I installed the driver for my Motu USB MIDI port and then the Bome software. It’s behaving exactly as before.

I realize I used incorrect terms earlier when I described the behavior. The Event Monitor indicates that key presses are indeed being detected. But the Log Window shows that the only keys to generate a key stroke that Bome recognizes are as follows:

– <RETURN> inputs “w”
– <DELETE> inputs “c”
– <SPACE BAR> inputs “u”
– <UP ARROW> inputs “j”
– <DOWN ARROW> inputs “k”

There are no other applications that are controlling the machine. I tried a new project with a very simple translator, and I also tried the existing project that translates key strokes to raw MIDI. Both worked the same way.

One additional observation: the setting \"Ignore incoming keystrokes when focused\" is not being honored. I assume it means that when checked and the MT app has focus, the key stroke should be ignored. Likewise, when unchecked and the MT app has focus, the key stroke should trigger. In my case, checked and unchecked produce the same result; when the app has focus, the key stroke is ignored.

What do you suggest I do?

Thank you for the additional information. It seems to be a problem in your project file. If the Event Monitor shows that it detects keystrokes, then I’d think they are the correct ones, but maybe somehow your mapping does not work. Could you please post your project file with instructions how to reproduce the issue?

PS: “Ignore incoming keystrokes when focused” is nonfunctional in version 1.8.2 (always ignored). It’s fixed for the next version.

I’m not certain how to post the project file. Should I export it as a text file and just paste the text here?

The text export of my project file is below. Also, I made a screen capture showing how the MT is behaving. The capture shows that key presses are detected, but the text is not detected properly.
Screen capture: http://recordit.co/KbHSNeMeir
Project file text export:

Project: Bome Project 01
 Author:   aAB
 Project MIDI IN ports:   Bome Virtual Port 1
 Project MIDI OUT ports:  FastLane: Port A
_____________________________________________________________
[x] Preset 0: Major Triad
[x] Translator 0.0: C Maj
Options: stop
Incoming: Text: a
Outgoing: MIDI B0 7B 00 90 48 40 90 4C 40 90 4F 40
[x] Translator 0.1: C# Maj
Options: stop
Incoming: Text: b
Outgoing: MIDI B0 7B 00 90 49 40 90 4D 40 90 50 40
[x] Translator 0.2: D Maj
Options: stop
Incoming: Text: c
Outgoing: MIDI B0 7B 00 90 4A 40 90 4E 40 90 51 40
[x] Translator 0.3: D# Maj
Options: stop
Incoming: Text: d
Outgoing: MIDI B0 7B 00 90 4B 40 90 4F 40 90 52 40
[x] Translator 0.4: E Maj
Options: stop
Incoming: Text: e
Outgoing: MIDI B0 7B 00 90 4C 40 90 50 40 90 53 40
[x] Translator 0.5: F Maj
Options: stop
Incoming: Text: f
Outgoing: MIDI B0 7B 00 90 4D 40 90 51 40 90 54 40
[x] Translator 0.6: F# Maj
Options: stop
Incoming: Text: g
Outgoing: MIDI B0 7B 00 90 4E 40 90 52 40 90 55 40
[x] Translator 0.7: G Maj
Options: stop
Incoming: Text: h
Outgoing: MIDI B0 7B 00 90 4F 40 90 53 40 90 56 40
[x] Translator 0.8: G# Maj
Options: stop
Incoming: Text: i
Outgoing: MIDI B0 7B 00 90 50 40 90 54 40 90 57 40
[x] Translator 0.9: A Maj
Options: stop
Incoming: Text: j
Outgoing: MIDI B0 7B 00 90 51 40 90 55 40 90 58 40
[x] Translator 0.10: Bb Maj
Options: stop
Incoming: Text: k
Outgoing: MIDI B0 7B 00 90 52 40 90 56 40 90 59 40
[x] Translator 0.11: B Maj
Options: stop
Incoming: Text: l
Outgoing: MIDI B0 7B 00 90 53 40 90 57 40 90 5A 40
_____________________________________________________________
[x] Preset 1: Dominant Chord
[x] Translator 1.0: C Dom
Options: stop
Incoming: Text: A
Outgoing: MIDI B0 7B 00 90 48 40 90 4C 40 90 4F 40 90 52 40
[x] Translator 1.1: C# Dom
Options: stop
Incoming: Text: B
Outgoing: MIDI B0 7B 00 90 49 40 90 4D 40 90 50 40 90 53 40
[x] Translator 1.2: D Dom
Options: stop
Incoming: Text: C
Outgoing: MIDI B0 7B 00 90 4A 40 90 4E 40 90 51 40 90 54 40
[x] Translator 1.3: D# Dom
Options: stop
Incoming: Text: D
Outgoing: MIDI B0 7B 00 90 4B 40 90 4F 40 90 52 40 90 55 40
[x] Translator 1.4: E Dom
Options: stop
Incoming: Text: E
Outgoing: MIDI B0 7B 00 90 4C 40 90 50 40 90 53 40 90 56 40
[x] Translator 1.5: F Dom
Options: stop
Incoming: Text: F
Outgoing: MIDI B0 7B 00 90 4D 40 90 51 40 90 54 40 90 57 40
[x] Translator 1.6: F# Dom
Options: stop
Incoming: Text: G
Outgoing: MIDI B0 7B 00 90 4E 40 90 52 40 90 55 40 90 58 40
[x] Translator 1.7: G Dom
Options: stop
Incoming: Text: H
Outgoing: MIDI B0 7B 00 90 4F 40 90 53 40 90 56 40 90 59 40
[x] Translator 1.8: G# Dom
Options: stop
Incoming: Text: I
Outgoing: MIDI B0 7B 00 90 50 40 90 54 40 90 57 40 90 5A 40
[x] Translator 1.9: A Dom
Options: stop
Incoming: Text: J
Outgoing: MIDI B0 7B 00 90 51 40 90 55 40 90 58 40 90 5B 40
[x] Translator 1.10: Bb Dom
Options: stop
Incoming: Text: K
Outgoing: MIDI B0 7B 00 90 52 40 90 56 40 90 59 40 90 5C 50
[x] Translator 1.11: B Dom
Options: stop
Incoming: Text: L
Outgoing: MIDI B0 7B 00 90 53 40 90 57 40 90 5A 40 90 5D 40
_____________________________________________________________
[x] Preset 2: Control
[x] Translator 2.0: All Notes Off
Incoming: Text: z
Outgoing: MIDI B0 7B 00
_____________________________________________________________
[x] Preset 3: Minor Triad
[x] Translator 3.0: C min
Options: stop
Incoming: Text: m
Outgoing: MIDI B0 7B 00 90 48 40 90 4B 40 90 4F 40
[x] Translator 3.1: C# min
Options: stop
Incoming: Text: n
Outgoing: MIDI B0 7B 00 90 49 40 90 4C 40 90 50 40
[x] Translator 3.2: D min
Options: stop
Incoming: Text: o
Outgoing: MIDI B0 7B 00 90 4A 40 90 4D 40 90 51 40
[x] Translator 3.3: Eb min
Options: stop
Incoming: Text: p
Outgoing: MIDI B0 7B 00 90 4B 40 90 4E 40 90 52 40
[x] Translator 3.4: E min
Options: stop
Incoming: Text: q
Outgoing: MIDI B0 7B 00 90 4C 40 90 4F 40 90 53 40
[x] Translator 3.5: F min
Options: stop
Incoming: Text: r
Outgoing: MIDI B0 7B 00 90 4D 40 90 50 40 90 54 40
[x] Translator 3.6: F# min
Options: stop
Incoming: Text: s
Outgoing: MIDI B0 7B 00 90 4E 40 90 51 40 90 55 40
[x] Translator 3.7: G min
Options: stop
Incoming: Text: t
Outgoing: MIDI B0 7B 00 90 4F 40 90 52 40 90 56 40
[x] Translator 3.8: Ab min
Options: stop
Incoming: Text: u
Outgoing: MIDI B0 7B 00 90 50 40 90 53 40 90 57 40
[x] Translator 3.9: A min
Options: stop
Incoming: Text: v
Outgoing: MIDI B0 7B 00 90 51 40 90 54 40 90 58 40
[x] Translator 3.10: Bb min
Options: stop
Incoming: Text: w
Outgoing: MIDI B0 7B 00 90 52 40 90 55 40 90 59 40
[x] Translator 3.11: B min
Options: stop
Incoming: Text: x
Outgoing: MIDI B0 7B 00 90 53 40 90 56 40 90 5A 40
_____________________________________________________________
[x] Preset 4: Diminished Chord
[x] Translator 4.0: C dim
Options: stop
Incoming: Text: M
Outgoing: MIDI B0 7B 00 90 48 40 90 4B 40 90 4E 40
[x] Translator 4.1: C# dim
Options: stop
Incoming: Text: N
Outgoing: MIDI B0 7B 00 90 49 40 90 4C 40 90 4F 40
[x] Translator 4.2: D dim
Options: stop
Incoming: Text: O
Outgoing: MIDI B0 7B 00 90 4A 40 90 4D 40 90 50 40
[x] Translator 4.3: Eb dim
Options: stop
Incoming: Text: P
Outgoing: MIDI B0 7B 00 90 4B 40 90 4E 40 90 51 40
[x] Translator 4.4: E dim
Options: stop
Incoming: Text: Q
Outgoing: MIDI B0 7B 00 90 4C 40 90 4F 40 90 52 40
[x] Translator 4.5: F dim
Options: stop
Incoming: Text: R
Outgoing: MIDI B0 7B 00 90 4D 40 90 50 40 90 53 40
[x] Translator 4.6: F# dim
Options: stop
Incoming: Text: S
Outgoing: MIDI B0 7B 00 90 4E 40 90 51 40 90 54 40
[x] Translator 4.7: G dim
Options: stop
Incoming: Text: T
Outgoing: MIDI B0 7B 00 90 4F 40 90 52 40 90 55 40
[x] Translator 4.8: Ab dim
Options: stop
Incoming: Text: U
Outgoing: MIDI B0 7B 00 90 50 40 90 53 40 90 56 40
[x] Translator 4.9: A dim
Options: stop
Incoming: Text: V
Outgoing: MIDI B0 7B 00 90 51 40 90 54 40 90 57 40
[x] Translator 4.10: Bb dim
Options: stop
Incoming: Text: W
Outgoing: MIDI B0 7B 00 90 52 40 90 55 40 90 58 40
[x] Translator 4.11: B dim
Options: stop
Incoming: Text: X
Outgoing: MIDI B0 7B 00 90 53 40 90 56 40 90 59 40

Thanks. You can attach files when posting an “answer”… Anyway, by text is fine, too.
Have you tried using “Physical Keystrokes” instead of “Text” in the incoming keystroke actions?
I know that can be difficult for using uppercase letters, but for a test, it would be nice.

oh, and which language is your computer set to? Thanks!

MT works with Physical Keys input, so the project below works as expected. MT does not work with Text input on my MacBook Pro (2012 Retina, Sierra 10.12.6, language-English, keyboard-US). Is this due to a bug in the current version of MT?

Project: PhysicalKey
 Project MIDI IN ports:   Bome Virtual Port 1
 Project MIDI OUT ports:  FastLane USB Port A
_____________________________________________________________
[x] Translator 0.0: C Maj
Incoming: Physical Keys: Z
Outgoing: MIDI B0 7B 00 90 48 40 90 4C 40 90 4F 40

[x] Translator 0.1: C# Maj
Incoming: Physical Keys: S
Outgoing: MIDI B0 7B 00 90 49 40 90 4D 40 90 50 40

[x] Translator 0.2: D Maj
Incoming: Physical Keys: X
Outgoing: MIDI B0 7B 00 90 4A 40 90 4E 40 90 51 40

[x] Translator 0.3: D# Maj
Incoming: Physical Keys: D
Outgoing: MIDI B0 7B 00 90 4B 40 90 4F 40 90 52 40

[x] Translator 0.4: E Maj
Incoming: Physical Keys: C
Outgoing: MIDI B0 7B 00 90 4C 40 90 50 40 90 53 40

[x] Translator 0.5: F Maj
Incoming: Physical Keys: V
Outgoing: MIDI B0 7B 00 90 4D 40 90 51 40 90 54 40

[x] Translator 0.6: F# Maj
Incoming: Physical Keys: G
Outgoing: MIDI B0 7B 00 90 4E 40 90 52 40 90 55 40

[x] Translator 0.7: G Maj
Incoming: Physical Keys: B
Outgoing: MIDI B0 7B 00 90 4F 40 90 53 40 90 56 40

[x] Translator 0.8: G# Maj
Incoming: Physical Keys: H
Outgoing: MIDI B0 7B 00 90 50 40 90 54 40 90 57 40

[x] Translator 0.9: A Maj
Incoming: Physical Keys: N
Outgoing: MIDI B0 7B 00 90 51 40 90 55 40 90 58 40

[x] Translator 0.10: Bb Maj
Incoming: Physical Keys: J
Outgoing: MIDI B0 7B 00 90 52 40 90 56 40 90 59 40

[x] Translator 0.11: B Maj
Incoming: Physical Keys: M
Outgoing: MIDI B0 7B 00 90 53 40 90 57 40 90 5A 40

MT does not work with Text input on my MacBook Pro (2012 Retina, Sierra 10.12.6, language-English, keyboard-US). Is this a known issue and if so, when might it be addressed?

Hi, we weren’t aware that Text Input had any problems (i.e., you’re the first person to report this). We’ll look into it as soon as possible — though unfortunately, right now we’re in crunch mode trying to finish a few exciting new features to be demonstrated at the NAMM trade show in 2 weeks.

PS: you can still evaluate upper case and lower case using physical keys. It’s just not so convenient. The way to go is to set a global variable to 1 if SHIFT is pressed down, and reset it to 0 when SHIFT is released:

[x] Translator 0.0: SHIFT down: gs->1
Incoming: Key down: Shift
Rules: gs=1
Outgoing: (none)
[x] Translator 0.1: SHIFT up: gs->0
Incoming: Key up: Shift
Rules: gs=0
Outgoing: (none)

Then define the translators so that they evaluate the SHIFT status (variable gs) in the Rules section. As an example for a and A:

[x] Translator 0.2: a: C Maj
Incoming: Physical Keys: A
Rules: if gs==1 then exit rules, skip Outgoing Action
Outgoing: MIDI B0 7B 00 90 48 40 90 4C 40 90 4F 40
[x] Translator 0.3: A: C Dom
Incoming: Physical Keys: A
Rules: if gs==0 then exit rules, skip Outgoing Action
Outgoing: MIDI B0 7B 00 90 48 40 90 4C 40 90 4F 40 90 52 40

Hope that helps as a workaround!
Florian