Why I don’t want to upgrade from Mac OS X 10.14 Mojave – part 3


About 15 years ago, I started developing pains in my forearms. It wasn’t quite carpal tunnel; if it had been then the pain would never have fully gone away. But the pain did go away when I switched to using ergonomic keyboards. My first such keyboard was made by Adesso.

Adesso ergonomic keyboard

It was a fine keyboard. I purchased two, one for home and one for work. But eventually they stopped working; it doesn’t help (as you’ll see below) that I’m something of a pig when it comes to eating over my keyboards. By the time I needed replacements, Adesso had stopped making them. So I switched to the closest equivalent at the time, the Microsoft Natural Ergonomic Keyboard 4000.

Microsoft Natural Ergonomic Keyboard 4000

It’s a great keyboard. I’ve been using it for ten years. Again, I purchased two, for home and for work. Over the years, I’ve grown very fond of this keyboard for two reasons:

  1. The look on people’s faces when they have to type something on my keyboard for the first time. Typically this happens when someone visits my office at work to enter a password for their account. The keyboard isn’t hard to use, but visually they don’t expect the split keyboard and they think it takes the same amount of training as learning a Dvorak keyboard.
  2. The extra function keys. They are a great timesaver.

Let’s look at the second point more closely.

Filthy keyboard

Yes, the keyboard is filthy. Get over it. It works. If your keyboard were this dirty, would it still be functional?

Pro tip: If you’re doing a Wiccan ritual via Zoom, try to keep the candles from dripping on the keyboard.

The point of the above photo is not how beat-up a keyboard can get after ten years of use. The point are the labels I put on the keys, particularly the special function keys at the top. Here’s a close-up view:

Note the wear on these keys. I use them a lot. As you can guess from the labels, they allow me to switch between my most frequently-used applications.

What does this have to do with switching from Mac OS X Mojave?


The Mac OS does not recognize those special function keys natively. Other function keys on the MS Ergonomic 4000 are no problem; e.g., starting music playback and controlling the volume. The rest are problematic, especially if you want to reprogram them; for example, I want the “Mail” key on this keyboard to start Thunderbird, not Apple Mail.

When I purchased these keyboards, they came with software to control the behavior of these additional keys: Microsoft Intellitype. It worked great… in 2011. Microsoft still makes these keyboards, and they still maintain Intellitype for MS-Windows. But they haven’t upgraded the Mac version of Intellitype since 2013.

Intellitype for the Mac still worked after a fashion. One or two Mac OS revisions ago, it became impossible to run the installer without disabling System Integrity Protection. This was a pain, but it was doable, and I rarely had to reinstall Intellitype.

You’ve guessed it: The installation process simply won’t work in Mac OS 10.15 Catalina and above. Although Microsoft’s drivers are 64-bit, the installer is 32-bit.

That’s not end of the world, not even by #FirstWorldProblems standards. There are other programs that can use and configure Microsoft’s keyboards. Aren’t there?


After some hunting, I found ControllerMate, published by OrderedBytes. ControllerMate is an example of one of many programs out there that accept input from various USB devices and control what happens when you use them. It has a graphical programming interface that took some time for me to get used to, but once I figured it out I discovered I could do some powerful things with it.

An example ControllerMate programming screen. As the comment suggests, the meaning of the diagram is: If I press the “Search” key on the MS Ergonomic 4000 keyboard, then if I’m running BBEdit treat the keypress as Ctrl-S; otherwise treat the keypress as Cmd-F.

So everything is wonderful, right?


After I installed ControllerMate and became used to working with it, I learned that ControllerMate would not work for Mac OS X 10.15 Catalina either. The issue wasn’t 64-bit compatibility; ControllerMate is fully 64-bit. The issue is that Apple is putting further restrictions on Mac OS security, and ControllerMate’s approach to functional (kernel extensions) are severely restricted if they even work at all.

OrderedBytes, the publisher of ControllerMate, is apparently a one-man operation. At one point he said he was working on Catalina compatibility, but since then he hasn’t said much. I (and others) have written to him, with no response.

I can’t blame him. Apple’s decisions about Mac OS security have at times seemed arbitrary, and this is one of those times. Why jump through hoops to satisfy Apple’s whims when a year later Apple will set those hoops on fire and demand you jump through them again?

Anything else?

There isn’t much.

The main issue is that the MS Ergonomic 4000 sends non-standard signals when its function keys are pressed. This means any USB-controller software needs to either be written by Microsoft, or it needs some kind of special extension to recognize the function keys. When I searched for such programs for the Mac OS, there appear to be only two that had a chance of working.


Karabiner looked promising, but as far as I can tell it does not work with the special MS 4000 keys. I haven’t tried this program yet. If I’m forced to upgrade to Mac OS X 11 Big Sur, I may give it a try.

USB Overdrive

This program is what I’m using now, primarily because it will work in Big Sur and onward. Like Karabiner, it does not support the special MS 4000 keys. The primary reason I’m using USB Overdrive and not Karabiner is that the latter is no longer being supported for Mojave; I had to search the web just to find an older version of Karabiner and I’m too chicken to test it.

MS Natural HID Handler

The MS Natural HID Handler was written specifically to support the MS Natural Ergonomic Keyboard’s special keys. It’s inelegant (it’s hard to edit a key’s function after you define it for the first time) but it works.

But will it continue to work? MS Natural HID Handler hasn’t been revised in eight years. It specifically tries to dodge Mac OS’s security restrictions, but will Apple’s changing rules make it useless? (This page suggests this program stops working in Catalina.)


The conclusion is that I’m ticked off.

It would be one thing if Microsoft no longer made the keyboard, but it still sells them. Macintosh desktops are still around, and they still need keyboards. The alternative USB controller programs are mostly written by single programmers or are crowd-sourced; a company with Microsoft’s resources could probably come up with an updated version of Intellitype in a couple of weeks.

They could even charge for it. I am not the only one with an MS 4000 keyboard who’s delaying their upgrade from Mojave because they don’t want to lose the functionality of their keyboards. There’s no such thing as a free lunch; I’m willing to pay for solutions to my #FirstWorldProblems.

I also reserve some bile for Apple. While I understand (begrudgingly) dropping 32-bit support, it’s still their fault for denying programmers the tools to develop USB controller applications. I know the need for security, but let the programmers serve the users’ needs!

In the next installment, we’ll see an even more compelling example of how Apple (and at least one other company) chooses to ignore their users’ needs.

This Post Has 6 Comments

  1. d

    i use that keyboard too, and faceing the same problem.

  2. Paul

    Ugh, I’m having a very similar problem. I got moved to a machine that was ‘upgraded’ to Catalina, and ControllerMate was an integral part of my workflow. I’ve heard that it actually works again with Big Sur, and I might give that a try.

      1. Paul

        Yeah, I just made the mistake of ‘upgrading’ to Big Sur. Same problem… Wipe the drive and fresh install of Mojave might be the next move…

  3. Mike

    Try installing with migration assistant from a computer where it was previously installed and working.

Leave a Reply