How to block keyboard input from passing to the foreground app

Hey Everyone. i had an old keyboard which i decided to use as a macropad for my mac. I have setup Keyboard Maestro in a way that when i press the L key, the browser opens up. however the foreground application at the time take the l as an input. Is there a way to block the input going to the foreground app and only to keyboard maestro.

There is no way to use a second keyboard as a macropad using Keyboard Maestro.

See:

Can I use a second keyboard solely to trigger macros?

1 Like

@Priyansh_Uppal I assume you want to use the old keyboard to visually indicate on these keys which KM macro they trigger.

There is some kind of workaround. The "l" on your main keyboard is typed short press and the macro on your old keyboard is triggered long press.

However, this has the disadvantage that the letter "l" is typed short press "on release", which can lead to problems when typing fast.

Of course long press also works on the main keyboard. But there you have no visual indication.

"An alternative is to use a non-keyboard keyboard... that does not perform any normal function."

One workaround is to use Karabiner Elements to replace (for example) "L" with an obscure key code that you would never normally use on a Mac, and then have that code trigger the KM macro to open the browser. So that's possible, but it is a chore (yes, I tried this long ago!).

It is always nice to think that an old piece of technology can be repurposed, but reaching for another input device just to launch a browser is very inefficient. Using modifier keys, many currently unused key combinations are available from your main keyboard, and of course there are other triggers available to KM.

1 Like

You're absolutely right, of course. If the question is how could you do it differently than with KM and an old keyboard, then a stream deck comes to my mind :slightly_smiling_face:

Yes, the wiki page linked to by Peter does mention it.