Intercept F keys


I'm almost certain that BTT does not work on that level to accomplish what I'll ask, but let me try, maybe there is another workaround.

I used to use Karabiner Elements that work on a lower level and intercepted F keys when running certain apps (e.g., a game).

Normally some of my F keys are bound to perform certain macOS actions (like launch pad, show desktop, notifications, dictation etc.)

Many apps (including games) that work full screen, allow you to bind F keys to perform some actions (especially games), I would like to be able to intercept the native macOS binds of F keys so that they can be sent to the running app as normal F keys and stop propagate to macOS actions.

Is that possible with BTT or my initial concern for the level that BTT works is correct?


If it is not possible to intercept, I believe a workaround could be to invert the intention, meaning that I could set the F keys to work as normal Function keys in macOS, and set the actions I need via BTT in All Apps, and then remap the F keys for the apps I need them to work as normal function keys, correct? Would the shortcut in All Apps overall with the same shortcut for a specific app?

The workaround above works fine, but I would love to know if I could intercept the F keys without having to remove all the shortcuts from macOS settings and then rebind them in BTT.

That should work, just record the key you want to override and assign the F key you want to send:

That is what I was trying but it didn't work.

So, by pressing F4 it launches the launchpad, but for instance, I don't want that behaviour to happen in a specific app, so I added this:

But, unfortunately, the F4 still launches the launchpad instead of passing F4 (the same happens with all other F buttons).

PS: I'm not using Apple Keyboard, I'm on Das Keyboard Professional 4 for Mac

in your case not the launchpad key was recorded as trigger but instead the f4 key. Are you sure the launchpad functionality was active when you created the trigger?

I'm sorry maybe I wasn't clear in my wording. I used Launchpad only as an example, my goal is to intercept the F* keys. When for example I bind F4 to open the launchpad from inside the Keyboard Shortcuts settings in macOS, then, I cannot bind F4 for a specific app to perform another action or to work plainly as F4 (same goes for other F* buttons).