How to configure a push-to-talk style trigger with key hold

Hi @Andreas_Hegenberg ,

I'm trying to set up a push-to-talk style workflow in BetterTouchTool and I'm not sure the best way to approach it. Here's what I want to achieve:

  1. When I hold a key down for at least 1 second, a trigger fires (this would act as the "superwhisper" start action).
  2. When I release that key, a second trigger fires (this would act as the "superwhisper" stop action).
  3. The key release trigger should only fire if the key was actually held down long enough to activate the first trigger. In other words, if I just tap the key quickly without meeting the 1-second hold threshold, nothing should happen at all, including the release action.

Is there a clean way to set this up in BTT? I was thinking maybe a combination of a long press trigger and a conditional variable or toggle, but I'm not sure how to wire it all together properly.

Any help or example presets would be greatly appreciated. Thanks!

That's your point 1.

That's your point 2.

Regarding point 3: If you only tap the key (down/up), nothing happens.

If you want to trigger something, then set up this.

I hope I understood you correctly :slight_smile:

Thanks but where do you find these options? Is it in keyboard shortcuts or key sequences? Secondly, I do not understand that language either.

easiest is to use the new action categories:

The most straight forward would be "Actions Executed On Long Key Hold" and "Actions Executed On Key RELEASE After Long Hold"

You could also make use of BTT's built-in dictation action if you are running macOS 26 using the predefined action "Start / Stop Dictation / Recognizing / Transcribing Speech". Instead of super whisper it uses Apple's (pretty good) offline AI models which are available on macOS 26.

Example preset:
ctrl_opt_cmd_m_dictation.bttpreset (2.1 KB)

thanks for the details response.

I wanted to use right ⌘ for this push to talk feature. any way this can be accomplished for that? I don't see the keyboard shortcut registering cmd key alone.

For modifier keys only you need to use key sequences:

@Andreas_Hegenberg

I tried this over the last few days and I am running into a few issues.

I set a key sequence to use the right ⌘ key as a push-to-talk trigger for Superwhisper. When I press ⌘ (key down), Superwhisper dictation starts, and when I release ⌘ (key up), dictation stops. That part works fine (with some hack - which is a separate story - had to use if condition for some reason)

However, I also have another browser shortcut where pressing right ⌘ + right ⌥ opens a new tab. After I started using the Superwhisper push-to-talk preset, the browser new tab preset stops working. BetterTouchTool also seems to bug out, and parts of macOS UI start behaving incorrectly. My suspicion is that BTT is holding the Command key down.

What would you recommend in this situation? I want:

  1. Hold right ⌘: start Superwhisper dictation.
  2. release right ⌘: stop Superwhisper dictation.
  3. Keep my existing right ⌘ + ⌥ shortcut working for opening a new tab.

I have shared my presets below

browser_newtab.bttpreset (3.5 KB)

superwhisper push to talk.bttpreset (7.0 KB)

Your CMD+T is set to "only send key down", which means it will press cmd & t but never release them:

I tried both “key down and key up” and “key up” separately, but neither of them worked. Nothing happened when I pressed them.

I actually did not even see that trigger executing because I had enabled a heads up display for it. So I would know if something is triggering, but nothing happened.

I'm pretty sure it has been triggering because that explains the other behavior you have been seeing (cmd getting stuck because only key down is being sent)

Best check BTT's "Recently Used" section when this happens

Ah, but the version you attached can indeed not trigger because the maximum pause between keystrokes is set to 0:

You'd need to set that to something > 0

I tried that setting you mentioned, and it didn't help. shared recording below