Tip for Using BetterTouchTool to Create a Hyper Key Instead of Karabiner

The current "alpha" builds for BetterTouchTool allow it to become a "hyper key" without needing Karabiner and its kernel extension (which seems to be causing issues on M1 Macs).

See more here if you are interested.

So far, I've been enjoying it, and I like the idea of getting away from Karabiner and kernel extensions.

One issue that I have run into, however, is that with BTT, when you press the Caps Lock key to act as the modifier, it continues to register as holding down all the modifier keys until you release it. So, for example, if I trigger a Keyboard Maestro macro using HyperKey+B and inside that macro is an action that changes based on whether or not ⌘ is held down, the macro can be confused by the HyperKey.

The result is that, unless you release the hyper-key very fast, you can have unintended consequences.

Turns out this is easily fixed by modifying my Keyboard Maestro macros which are triggered by hyperkey to be triggered when the keyboard combination is released instead of pressed.

For example:

This probably seems obvious to some folks, but it took me a few days for it to dawn on me, so I thought I'd share it.

7 Likes

I tried. It had a few issues that I did not have with Karabiner.

  1. I have a keyboard input method that uses "Shift" to switch typing mood. When I use the hyper key in Karabiner, it never had issues. But when I tested on BTT, the keyboard input method keeps switching typing mood when I press the hyper key.
  2. the hyper key does not work when the 1Password window is at the front. It became the normal Caps Lock key.
  3. somehow, my Mac acts as if some modifier keys were down although I did not click any keys. click other windows will not make that window to the front. Nothing happens. Click the app at the dock will not make that app to the front either; it opens the app location in Finder. These are the same as the effects of ⌘+click.
  4. Pressing the modifier key combination does not work as intended. For instance, ⌘+D in BTT used to enable/disable a trigger, but instead, it functions as if I was pressing hyper+D. It triggers the "toggle dark mood" macro I set up in Keyboard Maestro that uses hyper+D as a trigger.

I don’t know about the others, but this is a “known issue” that has to do with “Secure Input” being enabled in macOS, and not something that BTT can do anything about. I assume Karabiner gets around this by having a kernel extension, but I don’t know for sure.

2 Likes

I am not sure about BTT - I've used it for years and paid for it, but it always has been a pretty buggy experience. However, recent versions of Karabiner Elements have been a disaster on my M1 mac - there were crash reports on every start, it was effectively preventing my mac from sleep. So I did look around and found a surprisingly good implementation with hammerspoon: 1, 2.

It is a low-resource, low-latency solution which does not has problems with secure windows, like 1PW. However, I was able to avoid Karabiner Elements because I use the Kinesis Advantage keyboard which allows me to do some key remapping (I've mapped CAPS to F18). Another possibility would be to go for a keyboard with an even better firmware (QMK, Kaleidoscope) and map a hyper-key directly in the keyboard. I've done in on my Keyboardio M01 and it worked like a charm. I just like my Kinesis keyboard better :slight_smile:

1 Like

@lycopodiopsida there was a recent Karabiner update, it mentioned some M1 fixes. In case you want to give it a try again.

1 Like

Judged by the issue tracker, the issues are still there. I also assume, since these are pretty heavy and persistent bugs, that the code contributor(s) to Karabiner Elements do not have access to M1 hardware and cannot test and reproduce these bugs. Otherwise I cannot explain this quality drop.

1 Like

My Karabiner stopped working after a system upgrade pushed by Apple. It no longer transform the Caps Lock key to the hyper key.

It give an error message:

grabber_client error: Connection reset by peer

I went back to try BTT. Interestingly, the 3rd and 4th fatal issues I have disappeared. I'm left with only the first two minor problems, which I can live with. I'm glad BTT offered this function before my issue with Karabiner. :smile:

2 Likes

As of BetterTouchTool version 3.540, Hyper key functionality is now available. Developer instructions here:

https://docs.folivora.ai/docs/1004_hyper_key.html

3 Likes

Another possibility would be to go for a keyboard with an even better firmware (QMK, Kaleidoscope)

I haven't heard of these. Are they wireless and connectable to multiple computers? I use Logitech MX since I can pair to multiple devices and switch with a single key press. The battery life stinks, though.

1 Like

Falbatech offers a wireless Redox: https://falba.tech/19644-2/?v=9b7d173b068d
I think I've seen wireless dactyls too, but I don't remember where. Will not be cheap, though...

Thanks for sharing. this looks very interesting.

Oddly enough, started having keyboard typing lag issues with Karabiner and an external keyboard.
Using BTT for the Hyperkey seems to have fixed the slowdown.

@tjluoma Any BTT tips for a reliable way to use hyper keys with BTT?

Some combinations like Hyper key+Arrows don't trigger KM macros. ie Hyper key + Up arrow

Ran Shortcut Detective, and it experiences the same issue, it doesn't detect these particular key combinations, just stays in "Detecting..."

https://community.folivora.ai/ is the forum for BTT. That’s the best tip I can give.

I went back to using Karabiner for hyper key.

2 Likes

thanks!