It’s a little bit involved, but I can try to write it up.
It used to be almost Rube Goldberg-esque – I had a process running on one Mac and syncing to another… because… reasons… but there’s been a recent fix to one of the tools that I use which allows this to be simpler.
I actually need to do the work anyway, at least as far as moving it over from The Old Way to The New Way, at which point writing it up so others can use it too seems like a “plus” because then there are more people who get to benefit from the work.
I got this to work with KM the other day, though it probably isn’t as robust as TJ’s approach.
If you are using the “trigger with USB device key” trigger, and the built-in Keyboard Maestro actions, Keyboard Maestro itself offers a “Change Stream Deck Button Icon” action. You target the row and column ID of the stream deck button you want to change.
I used that in combination with a Menu Select button to create a mute/unmute button for Zoom on my Stream Deck. It shows whether I’m currently muted and tapping it toggles mute status.
Ryan, i’m guessing this macro isn’t actually checking mute status. This is a great idea if I had the discipline to only use the stream deck button to mute and unmute, but I am still clicking the icon in the zoom UI. I wonder if there’s anyway to check zoom audio status via AppleScript. I’m guessing not!
You got it. Yes, I occasionally clicked the Zoom UI and mess up the status, too. Over time I got into the new habit though.
I can think of a few ways to make it more robust. A helper macro that regularly checks the menu status (Menu item with "Unmute" is enabled or similar) and switches the icon appropriately would work, for instance.
Some random thoughts after having a Stream Deck Mini now for a few weeks.
It’s very useful for the purpose I bought it for, i.e. controlling my network media player (Logitech Media Server a.k.a. Squeezebox). Quite often I want to stop the music when I get a call or want to quickly see the name of the track that’s playing. Finding the right browser window, even if it’s a pinned one, and clicking the button in the sweb interface is a bit tedious. So my SD Mini now functions as a remote control: Play/Pause. forward, rewind, song info and switching of the (software) player.
But for other things I haven’t quite found a use for it. Since I’m using Alfred opening applications or starting workflows is only a few keystrokes away. There’s very little - that I can think of right now - that I want to be available on a button on a separate device that’s sitting under my monitor. But maybe someone here wants to share actions that are really useful for them.
Finally, Stream Deck with Hammerspoon works really great. It gives a lot of flexibility.
Thank you! These are all good points. Always good to have the perspective of someone who has walked through the instructions. It’s hard for me to put myself in that position entirely, so this is very helpful. Will update the README accordingly.
Because I am a terrible typist and never noticed the typo until you mentioned it.
Will fix that too!
I think that BusyCal has a sync schedule, and does not seem to update as often as Fantastical does. But there might be a way to “force” it to sync. I haven’t use BusyCal for awhile so I don’t remember exactly.
Yup. Per your suggestion, I created a macro group that is only active when the zoom app is running, and then a macro that automatically repeats every 30 seconds. It starts with an AppleScript:
tell application "System Events"
tell application process "zoom.us"
if menu item "Unmute Audio" of menu "Meeting" of menu bar 1 exists then
set isMuted to "true"
set isMuted to "false"
I’m passing that variable back to KM, and then doing a conditional set of Streamdeck button actions:
That’s a great point. I’ve been phasing out Dropbox since they put a 3 device cap on the free tier. (BTW, I would have happily paid for DB if there was a more reasonable $5 a month plan.) But I do have it on my laptop, I’ll have to do that!
I’ve installed the iOS version of SD on my phone to see how it will work for me. Like @vco1, I struggle to see how this is a lot different than just using Alfred to open apps (hands stay on the keyboard), or using keyboard shortcuts to launch KM macros. The one thing I find useful is that Streamdeck gives me visual cues for my KM macros, so I don’t find myself struggling to remember which keyboard shortcut to use.
I don’t code, so writing my own scripts to customize things isn’t an option for me. Can someone explain what I’m missing? (I’m not being sarcastic or negative – I really think I’m probably missing something.)
Before I got the Stream Deck, my imagination for macros and other automation-y custom tools was pretty limited. I was restricted to what I could see myself doing in Alfred or with pretzel-shaped keyboard shortcuts.
For example, as I wrote about recently on the Automators forum, it has been really nice to set up temporary and context-based automations—something I would never do with keyboard shortcuts because it seemed too finicky to try to keep a special set of keypress combinations conflict-free.
Alfred is probably a closer experience, but again, your working memory is only so limited. Plus, your brain really likes context and geography. Laying out visual cues in space has helped me actually use all these ideas a lot more, and to think of new ones more often, too.