Hyper Key occasionally fails to trigger all modifiers

Describe the bug
Given Caps Lock Acts as Hyper Key with a Named Trigger of ESC
When I press Caps Lock + D with Slack as the active app
Then the Slack sidebar is hidden (cmd+shift+d triggers hiding the sidebar)
When I press Caps Lock + D a second time
Then Hyper+D is triggered correctly

Note: This only happens occasionally (maybe after a time period?) and it only happens the first time I press Caps Lock + . The second try always works as Hyper+.

Note: This doesn't seem to be limited to Caps Lock + D but that is how I noticed the interesting behavior in Slack. Caps Lock fails to work as Hyper Key from time to time with a variety of other keys. The second try always works.

Affected input device (e.g. MacBook Trackpad, Magic Mouse/Trackpad, Touch Bar, etc.):

MacBook Keyboard and Kinesis Freestyle Pro external keyboard.

Device information:

  • Type of Mac: MacBook Pro 16-inch, 2019 Intel
  • macOS version: 12.3.1
  • BetterTouchTool version: 3.772 (1913)

Is there a better way to get some attention to this issue? It happens multiple times a day for me.

Sorry, maybe this is a stupid question, but is there a specific reason why people / you want to use hyperkey? Does it not work for you if you remap Caps Lock to right control in macos. In BTT you can then choose which control key to use for shortcuts. In your case right control + D would execute whatever you want. And left control remains what it was.

I haven't tried that approach so I can't say where it might work or not work but if BTT is going to include a hyperkey feature then it seems like it should work?

I have never had an issue with hyperkey in Karabiner and I'm tempted to switch back even though I would prefer one app for all of my remapping needs.

I did not ask you whether it works. I know that it works. I asked why people don’t use it, although it works so well. The answer is probably, they don’t know. Did you know?

Unfortunately, no software works perfectly and BTT is no exception.

Good, but I know many who have a lot of problems with Karabiner.

So, what can people do who need hyperkey function? They can wait for the day when everything works perfectly, or they use what has been working perfectly for a long time: The real modifier right control :slight_smile:

Thank you for trying to help with a workaround. I'm still interested in seeing if there is a fix for the bug.

Sure, wait for the day when everything works perfectly :slight_smile:

Let me ask you one last question: What can be done with shift+command+option+control that can't be done with right control?

And ... no offence, bdarfler :slight_smile:

Maybe I'm misunderstanding. Are you associated with folivora or just another member of the community?

If you are then is this a way of saying this bug isn't a priority?

If you aren't then thank you for your input on this bug.

Also, now that I took a minute to think over your proposal, I don't see how this works for my use case.

The value in hyperkey is that it is usable in any app, not just BTT. For instance, I want to map global hotkeys so that hyper+v opens my clipboard history app and hyper+j opens my calendar and hyper+t opens my timer, and so forth. These are all mac apps that support global keyboard shortcuts that I want to set in such a way that I ensure they don't conflict with any other built-in keyboard shortcut for any other app that might be in focus at the time.

Maybe I'm misunderstanding your suggestion but it seems to be a nonstarter for me.

Your use case is exactly my use case. I have to do a few things first, then I'll explain it to you.

I know this can be a little confusing if you've never thought about it before. I' ll show you step by step. Just try it. My system is German, but you'll get the idea.

First disable hyperkeys and the shortcut „hyper + j“ (opens your calendar) in BTT.

Then go to: System Preferences▸Keyboard▸Modifier Keys.
Set „caps lock“ to „ctrl“


It does not show it, but now „caps lock“ is the new physical „right control“ key, which you don't have on your MacBook keyboard. The „left control“ key remains what it was.

Create the global shortcut "right control + j" to open your calendar. Use the „caps lock“ key (= right control) and activate the distinction between left and right modifier.

That's it. The shortcut "caps lock/right control + j" now opens your calendar from any app. Should an app use "control + j" for itself, this shortcut remains untouched, with the normal „left control“ key. I have never experienced conflicts. Of course this is only a suggestion from another user. You can decide for yourself if it works for you.

The problem is that I'm not using BTT to open my calendar, I'm using Raycast and I need to set a keyboard shortcut within that app to trigger the calendar extension.

This is just a way to replace hyperkey with another function of BTT. If you don't see a way to use BTT, then I don't know either. :man_shrugging:

Last idea, the shortcut "caps lock + j" in BTT triggers the shortcut in Raycast. I just tried this with another app, it works and should also work with Raycast.

does raycast offer to trigger its actions via other means (e.g. Apple Script), that could be teiggered through BTT? The problem is, BTT‘s hyper key feature is currently optimized for use within BTT.

Ah, interesting! I didn't realize that it was optimized for use within BTT.

I'd love to see it usable globally but in the meantime, I might try using the new short/long press option to trigger hyperkey, that is how karabiner works.

Thanks!

Hmm that seems to work even less well. Sounds like I'll be better off with karabiner for my keyboard remapping and btt for my trackpad remaping.

Have you tried this. It should work.
"caps lock + j" in BTT triggers the shortcut in Raycast.

Can you help me understand how that works? I genuinely don't understand how to set that up.

No problem. Do what I explained above, with one exception. You don't need the predefined BTT action "open app". Type instead the shortcut from Raycast directly here

Now "caps lock + j" triggers the complex shortcut in Raycast, which opens your calendar.

Andreas: do you agree?

Just to let you know, I downloaded Raycast and tried it. As expected it works.