- Master Fullstack Development and finally ship a product
3 years ago
First of all: Stream Deck is frickin' awesome! I bought a Stream Deck even before I started streaming because I couldn't even imagine running a stream without having big physical buttons for easily switching scenes, toggling sources, and controlling audio.
I can definitely recommend getting a Stream Deck if you're serious about streaming. My only regret is that I didn't get the XXL variant. Don't even think about getting the Mini. If you don't want to spend a lot of money on a physical Stream Deck, Elgato also has a mobile app, and you can pay a subscription to use your phone as a Stream Deck for controlling your stream.
When I was working and streaming from the same computer, I could easily combine the buttons for controlling the stream with some window management buttons, so I could do everything from the Stream Deck.
Now, I'm working on my Mac, but I'm streaming using my PC, so the Stream Deck is connected to the PC, which means I cannot use the Stream Deck for controlling macOS.
For a second I considered purchasing another Stream Deck but I remembered that somebody has mentioned Touch Portal in the past, and I have an old phone lying around.
Touch Portal (The macro remote control for PC and Mac) is a free app and it works both on Android and iOS. There is a Pro version which is only $12.99 and it's a one-time payment, as opposed to Elgato's subscription, but the free version can do more than enough.
After I installed the macOS client, it was time to set up the mobile app.
I wanted to set up Touch Portal on my regular phone or tablet, but it would've been a hassle to constantly connect it, make sure that it's nearby, that it's charged, it might get interrupted by phone calls, messages, etc.
So I installed the Android app on my trusty old Nexus 5, which was gathering dust anyway, and the app connected immediately. I set up a few test buttons and the execution of the actions was instant. Literally no difference from the Stream Deck which is plugged via USB. You can even get a vibration when pressing a button to make the effect more realistic.
I just want to mention that you don't need anything else except the Touch Portal desktop and mobile app to get this working. The rest of this article is just a bunch of extra automation that I added to make things easier for myself.
I mainly wanted to setup buttons for controlling the app windows with Magnet, however, Touch Portal's functionality for simulating keystrokes didn't work correctly. Maybe I misconfigured something, but I couldn't get the simulated keystrokes to work. Then I remembered that I can don't have to use Touch Portal's functionality, but I can only use it for sending a remote message to macOS.
I set up a macro in Keyboard Maestro with a remote trigger. That means, when the unique URL of this macro is called, Keyboard Maestro is gonna execute the macro, and it will get the %TriggerValue% as the variable.
When pressing a button in the Touch Portal app I execute the "HTTP Get" action (because Open URL would actually open the browser) and at the end of the URL I pass the unique identifier as a parameter.
Keyboard Maestro can then get the value of the variable, so with a switch condition, it decides what to do on the press of each button.
Note: when doing the Switch (or If/Else) make sure that you're using "Text" with
%TriggerValue% as opposed to a variable with
TriggerValue because the second one will always be empty.
I use Magnet for managing my windows, so I just mapped the shortcuts to the Touch Portal buttons and now I can easily control my windows with Touch Portal, even when the Stream Deck is connected to the PC.
The physical Stream Deck locks and dims the brightness when you lock your computer so I wanted to have a similar experience, so I installed Tasker (the best Android app, ever) and Join on my Nexus 5.
I set up the following profiles in Tasker:
You can easily send remote commands to an Android phone from any device or IFTTT with Join. So I added it two macros to Keyboard Maestro which are going to send a remote command to the phone:
I would send remote commands to wake up the phone when macOS is unlocked or comes back from sleep, but unlocking the screen with Tasker requires root access, so I didn't want to bother.
That's it! Now I have another "Stream Deck" on my desk and I can add as many buttons as pages that I want. I really hope that this was useful to you! I'll make sure to edit the post in a few months if I didn't like the experience.
Thanks for reading! Subscribe to the newsletter?
How to use the src directory and absolute imports in Next.js
The saddest "Just Ship It" story ever
You're either a Zero or a One
How I tricked my brain into working out 24 times in 30 days
GitHub stars won't pay your rent
An underrated way to keep up with web development
GPT-3 is the beginning of the end
How to magically free up gigabytes of disk space
Fastest way to thoroughly uninstall apps on macOS
A better way to manage multiple monitors on macOS
From Hello World to a production app: The magic of Blitz
Introducing Fungarzione: The app for keeping your users in the loop
Generating social media images by screenshotting React components
Pomodoro with accountability