Caps Lock as Hyper Key Hold duration too short for repeated actions like arrow cursor movement

Describe the bug

I have set -Caps Lock/Hyper Key + J/I/K/L- to act as arrow keys. When holding a key combination for roughly less than 1 second the desired behavior of a held arrow press is observed. After this short duration the input ceases. Single presses work correctly, and repressing and holding does work for another roughly 1 second.


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

MacBook Air M2 keyboard

Device information:

  • Type of Mac: MacBook Air M2
  • macOS version: 13.1
  • BetterTouchTool version: BetterTouchTool 3.952

Additional information (e.g. StackTraces, related issues, screenshots, workarounds, etc.):

When holding the Hyper keys manually (command + option + control + shift) and the corresponding shortcut key (J, I, K, L) the desired behavior of arrow key inputs is correct, so I believe the problem is in the Hyper Key 'hold duration.'

If you want try this. First disable hyperkeys.

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 normally don't have on your keyboard. „left control“ key remains what it was.

BTT allows you to set up shortcuts that only work with the left or right modifier.

So, right control (caps lock) + "j" can be your left arrow. etc. Left control + j can do something else.

This should work well. :slightly_smiling_face:

2 Likes

Thanks @Frank1, I'll soon add this to the documentation :slight_smile: (but I'll also look to fix the Hyper Key issues)

2 Likes

I hope this doesn't come off the wrong way, but after trying many things with BTT I finally ended up getting the Hyper Key + j/i/k/l to function as the arrow keys with Karabiner. I have used the Hyper Key option built into the Complex Modification menu there, and then made my own Complex Modification which I think can be found at the following link. I don't really know what I'm doing in that app, and just mashed some keys to make that,... rule set or json or whatever. Anyway, the arrow keys mappings are now functioning seemingly perfectly. The mappings seem to function well in text editors, and I just tried them in the game 'Duskers' to move the drones around (feels great). So I really don't know if this is worth anything to you, but wanted to share in case it is worth something, and I hope it's not some kind of offense to share something about a different application.

-edit: I just found this better Hyper Key Complex Modification which allows the caps lock to function with a tap, but the hyper key to function with a hold. (no real idea how this is working still)

https://ke-complex-modifications.pqrs.org/json/hyper_key.json