I’ve been searching for several weeks for a gadget that would act like a button that I could customize to perform specific actions on my computer, ideally based on the currently open program. It turns out that I knew what I wanted, but I didn’t know how to search for it, as I couldn’t find the right keywords for it. When I accidentally bumped into Elgato‘s Stream Deck, I had this “Eureka” moment. Indeed, Stream Deck was able to do everything I wanted, and so much more.
In a nutshell, Stream Deck devices are just customizable control panels that can be used to execute simple to complex commands with just the press of a physical button. Stream Deck was designed for people who love to stream while playing video games on dedicated online streaming services such, as Twitch, thus the name. It turned out that, in its simplicity, the device had the potential for so much more, and the only real limit to how you can utilize it, is your imagination. I’m not a gamer and I’ve never streamed anything in my life, but Stream Deck instantly became a key part of my daily workflow, boosting my productivity to new levels.
At the time of writing this post, Elgato offers 3 variations of the original Stream Deck differentiated by the number of available buttons, and the new Stream Deck +, which is essentially the Stream Deck mini with the addition of dials and a touch strip. They also have a Stream Deck Pedal, and mobile apps for both Android and iOS, to convert your phone to a Stream Deck. In the end, I decided to buy Stream Deck +, because of its unique features (call me Dials) compared to the standard models.
What’s so special about the Stream Deck?
On a first thought, you could argue that Stream Deck is just glorified shortcuts, as you could program the exact same functions on plain old desktop shortcuts. And you would probably be right and wrong, both at the same time. With Stream Deck, it’s as if you pluck shortcuts from your desktop and put them on an external device. What’s the big deal with it? Well, here are my personal reasons:
- Desktop real estate. Where to put all these shortcuts? To have them easily accessible, they would have to be either on the taskbar or the desktop. But the taskbar can only have so many shortcuts because of its limited space, and keeping them on your desktop, instead, requires an additional step to minimize the other windows and click on the shortcut. Stream Deck, on the other hand, might have a specific number of buttons, but you can create as many actions as you like, and split them to pages, assigning a button to take you to the next page. Stream Deck + makes this even more convenient, as you can use its touch screen to swipe to the previous and next pages.
- Natural gestures. Pointing with a mouse and clicking, will always be harder and more time consuming, even if we are talking about just seconds, compared to lifting your hand and pressing a physical button that’s right in front of you. Indeed, clicking on a button feels more natural, and, on top of that, is less prone to errors, as opposed to accidental clicks.
- Different profiles. With Stream Deck, you can have different sets of actions for different apps. For example, when Zoom opens, it will show actions like mute, turn off video, share screen, enable captions. When PhpStorm is on focus, it will have actions like search the project, open settings, add the HTTP Request client, SFTP or Database management. Stream Deck automatically detects the app that is currently in focus, and loads the respective profile.
- No more memorizing keyboard shortcuts. Keyboard shortcuts is a great way to boost your speed. Instead of doing a
right click / copy
, andright click / paste
, it is much faster if you doCtrl/Cmd+C
andCtrl/Cmd+V
. The problem with that is that there are only so many shortcuts that you can memorize. Take PowerToys, for example: It has a ton of useful features, but I only end up using those that I need on a daily basis, as I can’t memorize all its shortcuts, and point and click isn’t always convenient. With Stream Deck, I utilize PowerToys much closer to its full potential. - Stream Deck + automation tools = a match made in heaven. Automation tools like AutoHotKey and IFFTT work like a charm with Stream Deck, and push the boundaries of what you can do with the device: from executing complex workflows with the press of a button, to controlling your house’s smart devices.
Examples
Stream Deck is a device with so much potential, but its default available actions are oriented to streaming. So, if you are not a streamer, you might need some ideas on how you can utilize it and incorporate into your daily workflow. Here are a few actions and plugins that I use on mine (and bear in mind that every now and then I think of something new):
Buttons
- Organize windows across screens and virtual desktops. When on my desk, I use 4 different screens, and 3 virtual desktops (usually organized by projects). There, I keep specific windows on specific screens of specific virtual desktops, and on specific sizes and positions. Sometimes this order might get disturbed (e.g. Windows don’t always remember the exact positions after a reboot), so I made a button using the Windows Mover plugin, which will put the windows to fixed positions.
- Open a website on a specific screen. In my case, I want it to open a local streaming service to a new window, send it to a specific monitor, and make it run full screen. To achieve it, I combined Windows Mover, along with Advanced Launcher and the native Hotkey action.
- Switch to a specific virtual desktop. Instead of rotating virtual desktops using
Ctrl+Win+left/right arrow
, I find it much more convenient to go to the specific desktop with the press of a button. For this action, I used Win Tools. - Bring specific windows to focus. Most of the times I have 2 or 3 different browsers open, with Edge having at least 3 or 4 different workspaces on separate windows, with each window having an average of 10-20 tabs. All those windows can get too messy, and some of them get buried behind others. Using Advanced Launcher, I made actions which will bring specific windows on focus.
- Open specific PowerToys tools. PowerToys is one of my favorite Windows utilities, but it isn’t always easy to open some tools that I don’t use that often. Remembering their keyboard shortcuts is out of the question, and sometimes I don’t even remember how exactly they are called, to find them using the finder. Instead, I created buttons the following PowerToys:
- Text Extractor, which will extract the text from an image and send it to your clipboard.
- Color Picker.
- Screen Ruler.
- Always on Top, which, when active, forces a specific window to show up always on top of everything else.
- Mouse Highlight, which will color-highlight actions like click or right click (useful when you screen share).
- Mouse Crosshair.
- Presentation Mode. When I screen share my browser, I don’t want to show my favorites toolbar, or the Edge sidebar. So, I made an action which will toggle them on and off.
- Toggle hidden files on Windows Explorer.
- Application-specific actions. Currently, I have specific profiles for Zoom, Teams, PHPStorm and the Windows Terminal. Each profile gets triggered when its app is on focus, and has its own set of actions.
- Games. Yes, Stream Deck can have games too! Its silly, but I have downloaded BubbleDeck, to put bubble wraps on empty buttons.
Dials
With Dials being a new addition to Stream Deck, the plugins that utilize and support them are still very few, and limited mostly to streaming functions. I can see this changing in the future, though, with people inventing some clever uses. So far, my dials include the following actions:
- Control the volume, which is probably the most obvious use.
- Control the volume of the currently focused app.
- Horizontal scroll. This will essentially replicate the click of the left and right arrow on the keyboard. Using the dial seems more convenient on a few occasions.
- Replicating the
tab
key. Sometimes I use thetab
key on my keyboard to navigate to forms. Replicating this functionality on a dial makes it more convenient because I can easily go back and forth.
What could be better
Obviously, I am more than satisfied by my Stream Deck +. So much, that I am even considering purchasing another one, the smallest and cheapest Stream Deck mini, to use it as a controller for my main one. Because guess what: you can use one Stream Deck to switch profiles on another. Still, there are a few things that I believe that could take some improvements:
- The build quality. Stream Deck is made of plastic and it’s a bit bulky. I would like it to be thinner, more elegant, if you like, with its base taking up less space on my desk.
- More positioning angles. Right now the device doesn’t have an adjustable base and its angle is fixed. I would like for the angle to be fully adjustable or at least give me 3 or 4 different positions to choose from.
- Wireless mode. Currently, you can only connect Stream Deck to your computer via a USB-C cable. I wish it would get wireless support in the future.
- More apps with Dial support, and more core actions. For example, Dials could be used to rotate profiles or rotate between the pages of a profile.
- Shared buttons and Dials. Currently, if you want to have the same button on multiple profiles, you would have to copy it. That’s fine, but if you wanted to change something in the button’s behavior, you’d have to go and change it on each of the profiles that it’s being used. Instead, it would be better if you could create it once and be able to reuse it in multiple places.
- Adjust brightness per profile.
- Better promotion. I only found Stream Deck by accident, even if I was looking for something like that, as the device was supposed to be a gadget for streamers. Well, it certainly is that, but not just that, as it’s target group could be anyone.
What about you? If you are using Stream Deck as well, please do share your tips and ideas on the comments. There is no right and wrong way to use this device, and all crazy ideas are welcome!