(As a heavy user of both Streamdeck and Keyboard Maestro I’m not sure why I haven’t noticed this thread before. Oh well.)
My use case would be to add a button definition to a profile - from Keyboard Maestro. For example, when creating a new client study there’s some file and directory setup I’ve taught KM to do. I’d like to set up a StreamdDeck button or two, too.
At the moment Stream Deck doesn't contain the APIs to let Keyboard Maestro change the profiles. That's definitively something that we want to address in a future Stream Deck version. However at the moment I don't have a specific estimated date.
In my case using "Trigger Apps" is the best work around. I created a bunch of apps that do nothing and have no windows. I've created macros that close the apps as soon as they launch. Then I assigned the apps to specific profiles of my Stream Deck. So for example if I wanted the keystroke "command + option + G" to open Profile 1 on my Stream Deck, I would assign that key command to launch an app which I have assigned to Profile 1. As soon as it launches it will close but not before switching to Profile 1. It works like a charm and it's pretty straight forward to setup!
I vaguely recall that if you open the Streamdeck editor and change to editing a particular profile and then close the editor the Streamdeck then has that profile for a while.
If this is true and reliable it might be the basis for some (UI Scripting) automation.
I used Xcode which is a free developer app from Apple. It doesn't require any programming chops since you don't need to actually make a viable app. When you launch Xcode it will give you the option to build an app which is pretty much all you need. I also recommend removing any windows from the app so it doesn't interfere with your on screen workflow. That is simple to do by unticking the correlating boxes. Then press build and you're set. Also you can copy and rename your app once it's built rather than using Xcode every time you need a new app. Just be aware that the original name will sometimes show up. Hope that helps!
Nice! Thank you so much. I was trying to avoid Xcode since it requires lots of space. Script Editor method is working now but I have two questions. I created an empty app but I get a window saying "This script contains uncompiled changes and cannot be run. (-2700)". How do you fix that any ideas?
Second question is do you turn off the default profile option in Stream Deck? Because if it is on and if you change profile using this method, once the app quits it will go back to the default profile which is helpful in other situations but not in this scenario.
Yes, sorry I forgot to mention, I absolutely turn off the default profile, I now exclusively use KM to manage my profiles. If I want 'default' profile behavior, but want to behave in a very customized way, I can do that with KM (set timeouts on profiles, etc...). None of this can be done if you use Streamdeck to manage your profiles.
How can i click a specific item? Typing the first letter works, but if the name of the item appears multiple times it fails. For example, I have three Stream Decks. Two of them has a profile called "Default Profile".
Hi @Timac. Any update on profile switch triggering?
I just bought a nObcontrol primarily for use with Logic Pro, and I've gone down the rabbithole of trying to sync it, to some extent, with Stream Deck, to display plugin parameters.
For anyone interested in this, I'm using @johns' suggestion of triggering profile changes with blank apps. The app is opened according to the result of an OCR scan of the current plugin window (to get the plugin name), so I press one button on the Stream Deck and it loads the appropriate profile for whichever plugin GUI is open. It works very well and I've automated the app and profile creation too, but a native solution would open up a lot more freedom.
As an aside, this also means I have a lot of profiles, so some kind of subfolder system would be very handy!
@noisneil I’ve left Elgato last month so I don't know the future Stream Deck roadmap. To get more info in the future, I would recommend you to contact the Elgato support team.