Change Icons on a Stream Deck When Changing Macros

This is probably a newbie question, but I can’t find a solution.

I use Keyboard maestro which I trigger from the stream deck.
A bit simplified, I have 10 buttons on the Stream Deck where every button controls the playback of a certain song (memory locations) in Pro Tools.

My question is there a way to reflect on the Stream deck which button/song I'm currently playing. In short, I want the button (icon) on the Stream deck to be inverted when it has been triggered...

You can set the button images with the Stream Deck Set Image action.

Howdy, welcome to the forum! As you might have already figured out, this is a great community full of people who love to help.

I actually wrote a tutorial here about using Stream Deck in conjunction with Keyboard Maestro. It discusses how to update button icons while executing a macro. It’s not overly complicated or involved, but it is more than I have the energy to write about right now. :sweat_smile: So check out the link below and see if that helps you make some progress. If you’re still stuck, don’t hesitate to let me know and I’ll be glad to provide further assistance.

KMF: Keyboard Maestro's Native Stream Deck Plugin Versus Kmlink Plugin - Tips & Tutorials - Keyboard Maestro Discourse

I’m also going to tag @noisneil because he’s one of the other Stream Deck gurus here and always very friendly and willing to help. :wink:


1 Like

Changing the button icon isn't the hard part; it's detecting the locator point that's been selected. I don't see an easy way to achieve that, but bear in mind that I'm a Logic user, not PT.

First of.. many thanks for all the replies...

I tried once again during the day but can't get the result I want.

Using the native plugin:

If I choose to add the ACTION "Stream Deck Show OK", an "OK" appears on the button for a few seconds and then goes back to the regular ICON, the same applies if I use the "Stream Deck Show alert".

If I select the ACTION "Stream Deck Set Title", the name appears and remains on the button until I remove it manually in the button in the Stream Deck app.
I have got "Stream Deck Set Image" to work once.. but only on one button and it doesn't go back to the original ICON when engaging the next button.





It sounds like you want to mimic radio buttons -- whenever one is pressed all the others revert to their default state. So each macro could start with "set all buttons to default icons" (easier than keeping track of which button isn't default and re-setting just that!).

1 Like

Here's a way to do it in one macro. Set number icons in the red groups, the 'playing' icon in the green action and check the keypad presses in the orange group. I wasn't sure what you'd like for 10 so I went with Key Pad 0. Change if necessary.

Play Song (SD).kmmacros (65 KB)

Macro screenshot

Sidenote: I've often thought it might be nice, in cases such as this, if we could collapse the trigger section with a disclosure triangle. I don't think it'll be a priority for @peternlewis, but at least I've said it out loud.

1 Like

Not a Stream Deck user -- but isn't there any way you could use the same trigger for all, passing the button pressed as a parameter?

Wow.. just say WOW!!!
After few minor changes/modifications in the “Macros & Actions,” it works perfectly and as I want.. and our drummer doesn’t need to have reading glasses when playing live and controlling our backing tracks anymore .. :laughing:

The only small thing is that the icons in the ICON chooser only have 1-9 so I used A, B & C for 10, 11, & 12 instead.

Many thanks, @noisneil for the help.. it would have taken me weeks or month to solve it by myself :grinning:

1 Like

@Nige_S as he's using the stock KM plugin (necessary to change icons dynamically), the triggers are distinct by nature, one per button, and are seen as USB Device Key triggers.

You can always make your own icons with an image editor (e.g. Photoshop). I can make some for you if you don't have one.

Can't you also send hotkey triggers (don't know if they can include parameters)? Or use a "Website" action and kmtrigger URL plus parameter?

As you can probably tell, I don't know enough about SD to know if the "stock KM plug-in" is same (or has the same functionality) as the Configuration app...

You're right that there are a few ways to trigger KM macros from SD buttons. However, if you want to change the SD button icons, you have to use the 'standard' KM plugin, as KM can't send icons to any other button types. This plugin has nothing much else to offer other than to trigger a macro and identify itself while doing so.

The KMLink plugin, on the other hand, allows you to choose the target macro from a dropdown within the SD software, to move the buttons around the profile without breaking macro links, and pass a parameter to the macro as a %TriggerValue%. I use KMLink 99% of the time, but when you want to change the button icon programmatically, you have to use the stock plugin instead.

1 Like

And the "standard" KM plugin removes all the "Configuration" options you have when not using a plug-in at all? Gotcha...

I have done a couple of icons already but haven't found any way to choose anything else than the ones from the "icon chooser".. as icons from "internal", applications" or " character"..

All buttons are blank and do nothing until you add an action. The KM plugin can be dragged as an action and does what it does. It's not an add-on to an existing action.

What do you mean by this? Where in the Icon Chooser does it only have 1-9?


Yea.. was a little bit unclear.. there are of course many different icons to choose between in the icon chooser.. but I was looking after the numbers 10 11 12 etc.. and after some searching, i found something that works for me under "Enclosed Numerics".. numbers with a dot :grinning:


1 Like