Create A Custom Hyper Key

Note: If you just need a cassic Hyper Key (i.E. press Caps Lock to press ctrl + opt + cmd + shift (optional)) follow the standard instructions here: Defining a Hyper Key · GitBook

Custom Hyper Key Tutorial

In v5.221 I have made some improvements to key sequences that allow you to create custom, reliable Hyper Keys for almost any keyboard key. These custom Hyper Keys can include exactly the modifier keys you want. They require a little bit of setup, thus I have created this tutorial.

In this video I show how to:

  • Create a Hyper Key that is triggered by pressing the Right-Shift-Key
  • This custom Hyper Key presses ctrl and option
  • Execute an action if Right-Shift has been pressed briefly without triggering any other shortcut.

The example shared in the video can be downloaded here:
custom_hyper2.bttpreset (12.0 KB)

Steps required:

  • Disable the key you want to use as custom hyper key by remapping it to do nothing via "Automations, Named & Other Triggers => Remap Key"
  • Create separate Key Sequences for key down and key up.
  • Optionally create an additional Key Sequence for Key Down and Key Up, that one is triggered if the Hyper Key has only been pressed briefly.

image

This is very good. :smiley: It eliminates a lot of questions. Assuming you can find the button.

The actual function looks interesting, but unfortunately a dummy like me doesn't understand it straight away.

In your example, the right shift function is eliminated?

correct, in this example the right shift is replaced by a custom hyper key that presses opt+ctrl

Ok, if that's what someone wants, why not. I couldn't do without the right shift function. :man_shrugging:

But I could imagine the following:

  • R shift pressed short, but long enough to type a capital letter (normal function).

  • And a little longer pressed and held, then presses the modifiers.

But yes, everyone as he needs it. :slightly_smiling_face:

Yep, I for example rarely use the right-shift key :slight_smile: However this is just an example. You can remap any key you don't use exactly like this.

Here is an other interesting example on what is possible with the recent improvements. Note, this requites 5.220.

It remaps the enter key to a hyper key - but only if the right shift key is pressed first. As soon as you let go of the shift key, the enter key reverts to its standard behavior. Both right-shift and enter work as usual if they are pressed individually:

rightshift_enter_hyperkey3.bttpreset (10.4 KB)

This is done by using a key sequence that triggers on shift-down, which then disables the enter key by remapping it to "no key". Then there are two more key sequences that make convert the disabled enter key into a hyper key.

1 Like

Hi, I've followed your instruction above and try to remap my Tab as second hyper key (command + opt + shift). However, I cannot find an option to reset Tab key as simple tab (\t) in the Key Sequence setting. Could you help me out?

what do you mean by "reset tab"?

I want to use the short press Tab as a default "Tab" key. But I cannot find the "Tab" option in the drop down menu, and cannot type "tab" in "Click here to record a different shortcut".

PS: From the image you can see I've disable the keyboard sequence before I try to type Tab in the "Click here to record a different shortcut".


I cannot find the tab in this drop down menu.

To record a tab key you'd need to disable the remapping you created in "Automations, Named & Other Triggers" temporarily - possibly restart BTT after disabling it.

Yes! It work now, thank you for this wonderful app!

I followed this tutorial, in the latest version 5.593 this approach will make the program crash. The last version it doesn't crash is 5.540. Will you please kindly check what's going on?

Environment: MBP macOS Sequoia 15.6.1

where exactly did you get a crash? could you post the crashlog from the macOS console.app‘s crash report section?

The crash happened when I release the hyper key (in my case right option).

More details: It's a fresh install of BTT, no other configurations. Right option is mapped to no_key, and the key sequence right_option DOWN triggers ctrl, option, cmd, shift DOWN. I add a HUD and can tell this part works. And the key sequence right_option UP triggers ctrl, option, cmd, shift UP. The program crashes as soon as I release the right option key. The same setting works on version 5.540 but not latter versions.

I will share the crash report later. Thanks for your time!

best copy & paste the key sequence that causes a crash for you, then I can check quickly!
Does it still happen with 5.601? (https://folivora.ai/releases/btt5.601-2025090904.zip)

I've updated to 5.602 and the issue is fixed. Thank you for the quick response!