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.
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
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.
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.
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.
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