Stream Deck with Keyboard Maestro

Hi all, I am thinking about buying a Stream Deck. My idea is that I could use it along with keyboard maestro to show shortcuts based on the application I’m currently using. Is this possible to do?

I have a Stream Deck XL and can confirm that it works well with Keyboard Maestro 9.

The buttons on the Stream Deck can trigger Keyboard Maestro macros. And Keyboard Maestro macros can even change the images that appear on the Stream Deck’s buttons (e.g. to indicate a state or status).

You’ll find more information here:

There have been a few threads about the Stream Deck on the Keyboard Maestro forum

Note that you must be using Keyboard Maestro 9 to use the Stream Deck with it, but I can confirm it is very cool.

1 Like

To add to what the others have said, Stream Deck uses Profiles (similar to Keyboard Maestro’s Available… options in each set of macros). The hardware changes what options are available based on the active app, if you choose to set it up per-app.


Whow! Thanks to both of you! That settles it i will get one today.

I make heavy use of Profiles for apps. And I make heavy use of KM with StreamDeck. The most satisfactory way has been to define hot keys and have StreamDeck simulate them.

1 Like

Sounds awesome! I will let you guys know how this turns out.

You mean you use hot keys as triggers for KM macros, and pressing a Stream Deck is an emulated hot key? Hmm

What are the advantages of this over using KM’s USB device key triggers?

1 Like

That’s an easy one to answer: I get reuse of KM macros that I can invoke if have my hands on the keyboard.

The other thing to note is I have problems getting the Text action to work with an X11 / XQuartz. (It’s x3270.) So there I have to invoke a KM macro to do the typing for me. But that takes us a little off topic.

Thanks for all the feedback, indeed i picked one up during lunch what a little box of awesomeness!!

1 Like

Ah, I see. I have both triggers set up on some macros—a hotkey and a Stream Deck button. Same difference, I suppose!

Man it’s so powerful! Tried setting stop, start etc for logic pro x, works like a charm. I have an idea actually connecting a keyboard macro shortcut to it like this -> press sd button -> kb brings up the mixer an switches sd profile with mixing tools. This is endless with possibilities!

1 Like

One other thing:

StreamDeck supports a multi-step action semantic. Apart from blasting multiple short things (like text) at an app, I would recommend pushing the logic down into Keyboard Maestro. For two reasons:

  1. Keyboard Maestro is functionally much richer.
  2. Debugging is a much better experience in KM.

Agree KB enables so much more, apparent when one key needs to trigger multiple steps.

1 Like

Hello all,

I am fairly new KM user. Got the Stream deck a few weeks ago. The question and challenge I have is that when you use multiple profiles, ie one for Outlook and one for photoshop, when I change profiles and assign a KM trigger, it is the same key that gets assigned, not a different. So how do you tell KM to use a different keystroke based on different profile. Hope I am explaining this correctly.


1 Like

There is no way, as far as I know, to switch Keyboard Maestro macros based on the Steam Deck profile.

The only way that I could imagine managing that would be to use an “If” statement in the Keyboard Maestro macro to take different actions depending on which app is foremost.

Probably best to ask at to see if anyone has any better ideas.

Thats what I thought. This kind of defeats the purpose, or usefulness of the pretty cool Stream Deck. It almost acts like an XKEYS keyboard with one screen with access to 32 buttons, regardless of the profiles selected…Wish they would allow different key clicks based on profile. That would be awesome…

There’s a finicky workaround.

Each KM Automation button on the Stream Deck has a button row and column.

Turns out that you can specify the button’s “virtual” row and column by entering a new one in the relevant text box. When you then enter the button into the KM trigger, KM registers the virtual row/column.

So, technically, in folders and in Profiles, you can develop your own virtual layout, manually assigning each redundant button a new virtual row and column that avoids a conflict. You have to manage and set this up manually, of course.

It would be much better if the stream deck could assign these automatically. But it works!

1 Like

Virtual rows and columns is the way to do this currently, but at some point it may well be switched to enabling the button ID to be set uniquely to allow a trigger to be used that is easier to be mindful of. until that amendment comes along, virtual R/C references are the way to go.

You can read Peter’s discussion of his plans in this thread on the Keyboard Maestro forum.

1 Like

My approach has been naïve/simple: Make each button in each profile generate a different hot key. But I’m thinking, based on this discussion (and the KM one , referenced) I could do better.