[Middle click] ControllerMate and Karabiner on Catalina

In order to install Cubase 12, I had to update the Operating System of my Mac to Catalina, on which ControllerMate no longer recognizes Karabiner Elements. The only way I can now simulate middle click drag is by using MIDI. Here’s what I’ve done:

1 ) I’ve created two Bome Midi Translator Pro translators.

  • The first translator is triggered when pressing shift+control (at which point a MIDI note message is sent).
  • The second translator is triggered when shift is released (at which point another MIDI note message is sent).

2 ) In ControllerMate, simulating the middle click looks like this:

middle

And allows me to do this in Cubase 12 (using only the mac’s keyboard and touchpad):

GIF

drag

I’ve given a little bit more thought to this and I discovered that Bome Midi Translator can be replaced with Karabiner-Elements, which actually works with ControllerMate on Catalina—I was wrong to say that it doesn’t—, is free, and is available on all macOS releases!

Here’s a more detailed tutorial (This works on Catalina 10.15.7 all the way up to Ventura 13.3.1):

  1. Go to “ControllerMate > Preferences… > MIDI” and activate the ControllerMate Virtual MIDI Output port.

  2. Create a new programming page and make sure no other page is active.

  3. Click that new page and then select “Karabiner DriverKit” (in the Palette window). Now pressing any key on the computer keyboard will reveal the corresponding block in the second part of the window.

    GIFF

    Untitled

  4. Now we’re going to add 4 blocks to our page: LShift, LOption, Control and Tab (by using the drag&drop method). The whole page needs to look like this:


    The other blocks are added using the context menu (control+click on the grid > Create Building Block).

  5. Now we’re going to add the “logic” blocks. Look at the previous screenshot and add the blocks accordingly. The “OR” blocks must have three inputs (with the “OR” block selected, go to “Inspector > Properties > Inputs” and set 3 inputs).

  6. Here’s how every MIDI block must be set:
    Top teal block (Context Menu > Create Building Block > MIDI Outputs > MIDI Note Output).
    Select it and go to Inspector. Set “NoteOn Velocity” to “0”. Everything else must be left unchanged.
    Bottom teal block (…MIDI Note Output).
    Select it, go to Inspector, and set “When Note Finished” to “Do Nothing” (NoteOn Velocity must remain at 64).
    Purple block (Context Menu > Create Building Block > Device > MIDI Note).
    Select it, then press LShift (provided that you’ve connected the blocks as in the previous screenshot).

  7. The grey block (Context Menu > Create Building Block > Output > Mouse Button).
    Select it, then go to Inspector. Set it like this:
    image

  8. Now you should be able to start a “middle-click” drag by holding either of the three modifier keys added to ControllerMate (i.e. either LShift, Control or LOption) and pressing TAB once (keeping down the first pressed key — releasing it, would release middle-click). This won’t work though with ControllerMate open. You must close it. Save the project (File > Save), then quit ControllerMate.

I’d really like to know if the instructions were clear enough.

Happy middle-click-dragging!

P.S. If you have problems of any kind, PM me.