Allows me to not be the DJ/arbiter of music for my toddlers, yet still provides them with control over the music (Sonos) and helps them learn to negotiate & take turns between themselves. The Stream Deck has, thus far, held up to quite a lot of abuse. I've added some lighting control and they have play/pause/next control, too -- works great. The USB 'server' software is fantastic, too. =D
Also thanks for sharing, however your second picture in the header screams to me that Streamdeck + sand doesn't go well together and looks like a common combination when kids plus outside play settings are combined. You mention a waterproof enclosure but I doubt the streamdeck itself is IP rated. I suspect a thin transparent sheet over the top would fix that though, or do you just replace the streamdeck every so often?
It's been out there for a year and is still working well, though is indeed dirty (I wipe it down occasionally). There's a bit of overhead protection from the elements and we discourage sand/dirt being applied to the buttons, though I did consider a silicon "liner" at some point. The Stream Deck itself seems to be more rugged than I expected, though! :)
I built something somewhat similar, to link YouTube videos to steam deck buttons so my 2yo kid could listen to his songs :) It runs everywhere Python is available, including raspberry pis ;) Code is here: https://github.com/sylvinus/raspberrydeck
It originally turned the misters on plus queued their "Great Wolf Lodge" playlist. It now just does the latter, as the misters weren't as well-received as I thought that they'd be. =D
As an alternative to a stream deck, I started using a MIDI board last year. I tried a copule and settled on the Behringer X-Touch Mini [1]. It's less than $100. What I primarily use it for is volume control (including muting). Like I have a particular knobs for Chrome, Master Volume and games. This is all pretty easy to set up with something like MIDI Mixer [2]. There are Youtube videos on it.
I also use the media controls for Spotify.
This particular board has extra buttons you can use for, say, muting Zoom.
As an aside, volume on Windows is a horrible mess. You can have an external speaker volume, a system Master volume, an app-specific volume (the last 2 through the Windows Volume Mixer) and then volume settings inside a game.
One thing I appreciate about iOS for example is there's just one volume for what you're doing. There are separate volumes (eg ringer, speaker, music) but you only ever adjust one and it's context-dependent. Listening to music? You adjust music volume. On a call? You're adjusting call volume. Not on a call? You're adjusting ringer volume.
In an ideal world, the hardware volume could be synced to the system master volume and there would be no game or app specific volumes. All of these would be deffered to the volume mixer. Or at least any in-game or in-app controls would merely adjust that volume.
I can but dream.
The only thing this particular board doesn't have is motorized sliders for volume. I didn't really find any options for this less than $300-500 and they tended to be much bigger boards. I'd really prefer a slider to a knob but that's just nit-picking.
> As an aside, volume on Windows is a horrible mess. You can have an external speaker volume, a system Master volume, an app-specific volume (the last 2 through the Windows Volume Mixer) and then volume settings inside a game.
You never have 2 applications outputting audio and you want to balance them? Sometimes I'll be playing a game and listening to a podcast at the same time, and I want the podcast to have the louder audio, so I turn the game down.
On my Mac I use for work, sometimes I'll be in a Teams meeting where I only need to be partially paying attention, and I'd like to be able to turn the Teams volume down and have something else at the forefront, but I can't do it because there's no volume mixer.
Windows already does this. There's a volume mixer where each app has its own volume. That's still the case AND the game/app has a separate volume.
So the actual volume playing is effectively:
Hardware volume x Windows master volume x Windows app volume x In-app volume
No one wants or needs that level of control. You end up adjusting these separately as you need until you find out one day the hardware volume is on max but the master volume is near zero and you've been compensating for that by maxing out the in-app volume.
There is one x too many, yes. But otherwise I absolutely do want that.
Hardware × software master × in-app,
maybe condensed with "flat volume", so that raising the in-app volume also raises master if necessary, while leaving other sounds at the same effective level.
The only difference I see compared to what you call iOS is that that one throws all "video" together in one giant pile. Thus youtube, netflix, spotify etc. all get the same default volume. That is really annoying me with android and I want that off!
Not all apps have in-app volume. In which case you have Hardware volume x Windows master volume x Windows app volume -- and which should be removed? No hardware volume? Everything controlled by software? Sounds horrible. No Windows master volume? What if you want everything quieter, turn it all down one-by-one? No Windows volume mixer? I explained why that's an issue in my previous comment.
Your example of a good implementation is iOS which is hard to compare to because mobile OSes are generally single-task focused. But I certainly wouldn't want an iOS-style volume control on my PC.
> Hardware volume x Windows master volume x Windows app volume x In-app volume
> No one wants or needs that level of control.
I don't have a separate hardware volume relative to the Windows master volume, but otherwise I want and need that level of control.
- Windows Master Volume: I turn the knob on my headset or keyboard and things get quieter or louder. This is the thing I adjust most frequently.
- Windows App Volume: I turn games down, usually to 10-20% or so. Then I turn everything but comms (discord, zoom, etc) down to 80%. This ensures that I hear live communication over all else, and that my games aren't drowning out whatever I'm watching in the background.
- In-App Volume: Here I adjust balance in games. Music unfortunately gets set to 0 because I'm rarely just playing a game these days. Voice lines get set higher than sound effects until I'm sure I can distinguish them clearly.
The media keys are atrociously implemented on macOS - I don't know how they've managed it so badly, for so long, without a fix. Listening to Spotify and pressing play/pause, you'd expect the music to pause, not to suddenly be listening to additional sound, often from a video in a browser tab you last played a month ago.
I use Voicemeeter Banana to control audio on Windows. Works great for exactly that scenario, where I want my voice comms to have a higher volume than games, and also nice when I have multiple inputs (microphones) and outputs
> In an ideal world, the hardware volume could be synced to the system master volume
This already works if you're using something that can be controlled via the windows volume. Eg, a USB dac+amp usually works like this. That is, the "hardware volume" and "windows master volume" become one synchronized slider.
Very often there's a break in the digital chain that prevents this from working more broadly, though (for example if you're outputing analog to your speakers, or using separate dac & amp)
A lot of apps that I use support midi input. The Launchpad has a webapp that lets you configure the outputs of each pad to send different types of MIDI outputs.
The only hitch is that the Launchpad doesn't send NoteOff messages, it sends NoteOn twice with the second time being volume 0.
For apps that don't support MIDI input, there's a tool called Midikey2key which lets you map MIDI messages to keyboard inputs/shortcuts.
Ah, so it gotta be done on the OS level, and the approach would differ per individual midi device (to set which exact midi signals are sent per button) and OS (for automating actions based on those signals received)?
I never thought I'd have a use for extra buttons all that much. There's always keyboard combinations to spare.
Yet about 18 months ago, I remembered I'd got these 5 custom buttons on my keyboard that in something like a decade and a half of using this keyboard model, I'd never once used.
A little bit of searching later, I figured out how to write a bash script that would (for Linux) find the zoom window for whatever meeting or webinar I was in, and bring that up. Then a second script to do the same but also unmute. That has become so insanely useful I'm really kicking myself about not having used those buttons before.
This is a bit of an aside, but I play a lot of Playerunknown's Battlegrounds with a regular team of friends. That game has a fiendish amount of keyboard commands, even related to regular movement. Many of them can be accessed through sub-menus, but that puts you at a competitive disadvantage when things happen fast.
I've figured out that I just don't have the hand-eye coordination to move in four directions, activate the scope, zoom the scope, lean left and right, aim the gun and fire it during the exact right milliseconds.
So I unloaded the "lean left and right" actions from my right hand to my feet, using a set of rudder pedals intended for a flight simulator. I then unloaded some of the esoteric menu options from keyboard shortcuts to a Stream Deck with user-friendly (works even for six-year olds) picture interface right in front of me. Improved my performance considerably.
It relies on xdotool, which I don't think works on Mac?
If I was still on mac, I'd probably try and use hammerspoon somehow. I used that for a few bits of automation, and I know it had ways to choose applications.
For someone who kinda wants this stuff but doesn't feel great about spending 200 bucks for 15 buttons and all the garbage that goes with...
an idea I had last week seeing this article is to buy a USB 10-key numpad from a pawn shop, and use something like kmonad[0] to map key presses from that device to specific actions.
Reuse some existing tech, and you can just tape over buttons. It's not exactly the same product for obvious reasons, but I feel like you can do some magic with statusbars and toasts in scripts to get something decent.
I have a Logitech G13 for this. I don't think Logitech have sold them in about 10 years, but they're wonderful devices. A bit of paper with a picture and clear tape does wonders.
I used a RP2040 macropad from Adafruit [0] to play with this- I use mine as numpad on occasion, but can also use it for Zoom controls, media volume/next/speed/etc, or Photoshop actions.
> For someone who kinda wants this stuff but doesn't feel great about spending 200 bucks for 15 buttons and all the garbage that goes with...
Streamdeck goes occasionally on sale, so it's more like $100 for the small deck if you can wait.
> an idea I had last week seeing this article is to buy a USB 10-key numpad from a pawn shop, and use something like kmonad[0] to map key presses from that device to specific actions.
One can also use just any old normal keyboard. For a while I used a small 60% with self written python-script to rebind keys to my own demand. But the benefit of the streamdecks lcd-displays was in the end to tempting.
Anyway, I think any OS is capable of rebinding a complete device. So it's really just a matter of desk-estate and ergonomic which device one prefers.
I did exactly this during lockdown 1 in the UK to allow me to easily control OBD for online guitar lessons (I used 3 cameras plus on screen pdfs in various combinations). It worked well (I did it because no one had stream decks in stock at the time), but it was pretty fiddly to set up or modify.
I now have a steam deck xl, and it's light years better. Obviously 20x the cost, but well worth it in my opinion.
I got one as a gift and was a bit skeptical of it too as a programmer that does most of the work in code with vim commands but have come around on it.
useful to have as a clock/date for a few locations at a glance. opens up some apps too but the main thing I use it for is having a few reference docs that you can open up with a button. window layout buttons are nice too. the other thing I use it for is setting brighness on the screen and locking the screen. Not sure I'd buy one but they are neat to have if you get one as a gift.
I initially got mine for zoom calls but having a display on each key has allowed me to add a couple of different clocks with different time zones in the button. If someone said to me, "that's dumb, you can have a clock on your desktop", I might have agreed with them. But, having the little clocks always in the same place on the desk is really handy.
The other handy one is the mac email notification button, showing how many new emails I have.
I think they are way too expensive for what they are but now I have one, I would probably spend the money again if it got stolen.
Way back in the 90s I was using AWESOME fully mapped WACOM tablets for AUTOCAD...
Eveyr command was basically on the tablet, and in the center was the screen area...
There was a printed menu-matrix configured for autocad...
It made drawing so fast (I finished second in the National CAD Olympics in ~1993 and finished a 3 hour test in in 30 minutes.)
For years this device made me extremely fast on CAD.
The muscle memory for the location of certain items, coupled with the custom keyboard shortcuts for all other autocad commands could be done with being mostly mapped to keys close to the left hand placement...
I miss those tablets. I should get another one.
The point is that if you can know what core functions you want on the extra input real-estate... you can make your workflow very streamlined.
I love my Stream Deck for all the reasons described by others in this thread, but unfortunately support for Linux is nonexistent.
You need to rely on the open source reverse-engineered version of Elgato StreamDeck in Python [1], with the StreamDeck UI on top [2][3]. It works, but it doesn't offer all the functionality, and it's even more rough on the edges.
Plus, if you have a StreamDeck connected to a KVM and it is switching between two computers (a Mac and Linux, in my case), then you'll have completely different experiences, with different icons, plugins that are not available on Linux (e.g., Spotify, Clock).
I still use it and find it worth the investment, but hoping that Elgato dedicates some love to Linux users in the future.
It works on any device including my iPads, and although I'm only using it for keypresses, there are plenty of modules for doing MIDI and other HID shenanigans that I haven't investigated yet.
I use mine daily for a few things, and I'm not a content creator. The Zoom buttons are great because it's one tap access to mute/unmute or video on/off regardless of what window I have on top at the time. I set my other buttons to common websites that I use, so I don't have to go hunting for the Okta tile or bookmark.
Could I do these things with other tech? Sure, but this was pretty affordable, is really attractive and customizable, and has software that works really well out of the box. Hard to beat for someone lazy like me. :D
While the duckpad and other firmware alterable keyboards are great, they are still limited to being configured to perform keypresses of a keyboard or a few other functions (like MIDI support in QMK). The "complex software" of the Elgato lets it do more complex things.
Yeah, the Stream Deck's software is great because it doesn't require using up one of the limited keyboard keys (or creating a modifier-based combo that can interrupt your typing) for each function.
This tracks with my experiences. Classical macro shortcut keys are great if you can spare the effort of preparing an ultimate workstation setup for them. But the majority of the workflow you want to have concentrated on a vocabulary of a few keys that you reuse a lot like "copy" or "undo". And that only needs a few keys, and moreover, it's usually pretty contextual to a specific app and not strictly about keys but the whole range of inputs - some apps need you scrubbing through timelines and tracks, others need zoom and rotate. Lots of apps have modal toolbars, but they don't all use the same shortcuts to select the pencil tool or the crop tool, so you have layers of configuration to solve to get to the point where you can even test the setup.
So devices with screen displays for shortcuts like the Stream Deck, the Xencelabs Quick Keys, or the many DIY programmable solutions are pretty indispensable because they let you trial and error ideas, and give you a context hint while also keeping the keys located in the same place - they let you ramp up to a traditional macro experience as you start getting pages of stuff you want to trigger. And this goes even more so if they are able to respond to desktop generated events and present the right context automatically.
A nice cheap alternative to the dedicated hardware is the various tools that are smartphone-based: if you're going to look away from the screen to browse, and you want to trial ideas for shortcuts, then tactility isn't so important and the rest is a matter of getting a good software experience.
I've been using a Stream Deck XL for the last couple of years (with a Mac) and I'm very happy with it.
I use it mostly as an app switcher (button press brings up an app, another press hides it if it's in the foreground), with additional buttons for volume control and speaker mute. It's incredibly powerful with Keyboard Maestro. An example of a really useful automation I have: a "mute microphone" button that does the right thing in Google Meet, Zoom and GoToMeeting. No need to remember the fancy shortcut that each app invented, no need to hunt for the button with the mouse, no more hitting the "Leave" button instead of muting/unmuting. A single hardware button that toggles the microphone state in any conferencing app that is in the foreground. That alone was worth the price of the StreamDeck.
What I found though is that the XL is too large: I don't use that many buttons and I can't be bothered to tinker with the configuration endlessly to make use of them. I think I will replace it with the standard-sized StreamDeck (15 buttons).
There is an amazing alternate control software package for Stream Deck called Companion that allows for control of many AV products and really opens up the possibilities of what can be done with the SD:
https://bitfocus.io/companion/
Fantastic little piece of hardware. I got in somewhat late, especially as a content creator, but man has this tiny keyboard made managing my setup so, so much simpler
I have a good old Ableton Launchpad mk1 (These go apparently for as low as $25 on ebay/Reverb).
This gives me 8x8 + 16 buttons that I monitor via a Java app that I wrote. It works but I'd love to have a UI app for controlling it and assigning actions, similar to https://www.midi-mixer.com but for macOS - I'm too lazy to write a UI on top of my Java hack. Any recommendations for something that can consume generic MIDI events and map them to.. stuff?
I wonder if the Touch Bar was actually a poorly executed good idea. I've always used a full external keyboard (with numeric pad) but I'd love to have the F16-F19" keys graphically mapping to something depending on the context.
For example, in VS code, I currently have F13 for start debugging and resume. F14 for stepping over, and F15 for stepping into.
I would wish to have a physical F key with a configurable character or emoji. The problem with the Touch Bar was mostly: 1) no physical feedback 2) misplacing the Esc key.
I use a program called BetterTouchTool on mine, and it turned it from an annoyance into the best streaming deck you can imagine.
Mine consists of shortcuts to webpages, a scroll able section for all my note files, media controls, one touch setting toogles, etc.
Killer feature is using 2 fingers and sliding changes the volume. 3 for screen brightness, 4 for keyboard backlight.
It's genuinely sad how little apple cared about the software for it. It could have been exactly what everyone else in this thread are saying and better.
I think the idea was interesting, but the execution and adoption, ehhh. It sacrificed buttons for the touch bar, while it could have both. And it's a very expensive feature for very little. I wonder if a touch bar with physical buttons would've worked better.
There's also a Windows laptop out there with the equivalent of a touch bar, but much bigger and iirc it tilts up when the laptop is opened up. More usable screen real estate there.
The Touch Bar can be what the Stream Deck is, a small keyboard of live macro keys, if you customize it using Better Touch Tool. I did that and now have useful contextual custom keys and shortcuts.
I know I will miss it a lot when (it seems inevitable now) I have to change for a non-touch bar MacBook Pro .
I would not miss the standard Touch Bar
The implementation was certainly bad. The tabs in the Touch Bar in Safari are totally broken on both macs I've owned with Touch Bars, across many macOS and Safari versions. If Apple can't make it work at all in Safari then it's pretty hopeless
My experience with Stream Deck has not been so smooth, but it is more due to Windows as an OS on corporate environment rather than the hardware.
I got Stream Deck primarily to show status and control Teams online meetings on Windows. Unfortunately, on Windows, Teams does not have global hotkeys for mute/unmute mic, audio on/off, video on/off etc. The keys are local to the online meeting window only. It also does not have reliable way to get mic/audio/video current status for showing.
Some hacks exist using AutoHotKey to loop through all the windows and send the keypresses, but they require megabytes of scripts to work, because Teams does not have a reliable way to find that window.
Other ways exist to directly control the global operating system mute, but Teams does some hacks with the mute, so that showing the mute status does not work.
There is Microsoft Graph API for Teams API, but I could not get that work with Windows SSO for authentication, so I needed to build a login workflow, and became too complex very soon.
I am pretty sure there should be a way to accomplish this, as teleconferencing devices are able to accomplish this with Teams. I wish Elgato would work with Microsoft to provide this functionality.
It appears to use the Windows global mic control API, which is pretty straight-forward to even implement by yourself programmatically.
Unfortunately, as Teams does some magic with the mute, if you have an external program, but still use Teams app to mute your conference call after call has already started, the state will not propagate to the external program, i.e. you cannot reliably show on the button whether the mic is muted or not.
I've really been enjoying mine with Home Assistant buttons to trigger lights and show sensor values, as well as a really neat way to apply tags while looking at images in digikam (through one of the windows streamdeck plugins that allows complex key sends including modifiers.
I also like it as a way to quickly open saved PDF datasheets on my system for the ones I use all the time.
This is interesting. Is anything known or documented about the low-level protocol used to upload images and recognize input? I can see it being useful as a controller for specialized applications, including embedded ones, but only if there's a low-level C API.
The plugins can be written in pretty much anything. The system is not fully open, but has a decent interface. It's also been reverse engineered, so there are 3rd party implementations.
If you want to load up a layout / config itself, it's a pretty simple zip file with json files and PNGs. (With some idiosyncrasies like requiring directory entries - that's 4 hours of debugging I'm never getting back)
There are great third party solutions that can do all sortd of things. StreamDeckSharp is the library I use to interface with mine. I love the hardware, but their default software is garbage.
One advantage is that you can map a button to a folder, allowing you to drill down into a whole different set of items. This isn’t functionally different from what you can achieve with a numpad + modifiers, or even just a regular keyboard, but it’s clearly nicer and requires less memorisation.
It’s also not just “custom icons”, it’s a live display — e.g. in the top image of the linked post, you can see a display on one of the buttons showing (presumably) an upcoming calendar event.
> One advantage is that you can map a button to a folder, allowing you to drill down into a whole different set of items.
You can do this with custom key mappings on all major operating systems. Basically you can open a program, open a folder, run a script or do anything you can run from the command line (including running multi-step operations).
On Windows there's AutoHotkey. It sounds like it might be complicated but it's not. For example this single line of code `#+w::Run chrome.exe -incognito` lets me press Win + shift + w to open an incognito Chrome window and `#n::Run, explorer.exe \\wsl$\Ubuntu-20.04\home\nick\src\sites\nickjanetakis` opens my personal blog's directory inside of an Explorer window (default folder viewing app) with Win + n. I wrote a blog post[0] about using the basics of AutoHotkey and there's similar tools for Linux and macOS at least in the sense of being able to assign any action to a hotkey.
Given that the entire premise of this product is “dynamically programmable buttons whose labels show what they’re currently mapped to”, I completely agree it’s uninteresting if you have no need for dynamically programmable buttons whose labels show what they’re currently mapped to.
I think you may have misunderstood, by open a folder, they meant open a folder of buttons on the stream deck, allowing you to press a button to completely change which buttons are displayed on the screen.
Is the goal to be able to have multiple sets of key mappings depending on which "folder" is open, sort of how you might describe "profiles"?
If so you can do that with numpad re-mappings too. You could have 17 specific key mappings depending on which app is in focus or you can arbitrarily activate a different specific set of mappings.
It's not going to be as intuitive since there's no visual icon to display but the functionality is there. AutoHotKey could also make it easy to show which "folder" is active by showing a little tooltip when you switch folders.
It sounds like the real appeal to it is the visual icons but the trade off is needing more desk space and reaching for buttons that are not on your main keyboard (+$125 to buy it).
> In some ways, it’s great to be given a blank canvas! You decide what the keys do! You decide what they look like! On the other hand… you have to make all those decisions, and if they don’t work well, you’re the one who needs to fix them.
This has been my experience w/ fully programmable mechanical keyboards. 104 keys, 70 keys, 60%, split, columnar, macros, layers, switches, keycaps.
So much variation that it is effectively endless. At some point you settle and don't touch it because you realize you're spending more time optimizing the tool than actually performing the task it is supposed to help you complete.
My largest gripe with Corsair (Elgato) here is that I can't set padding on a per-tile/button basis, as it seems icon packs, system icons, and native Stream Deck icons come in varying sizes.
Second, the profile switching is hit or miss with Electron (or adjacent) applications, which I don't fault Corsair for. Looking at you, Discord and Slack, which I would love to set a contextual app profile for.
My favorite use of Stream Deck (XL) is hooking it up to a small, custom API to quickly change my Slack status at work. It’s so nice to smash a single button and walk away to lunch or walk my dog.
Stream Deck lets you run a GET request from the default button set. The code part is pretty uninteresting, really: express handler wrapped around the Slack Web API. Throw in some query vars so I can set the emoji, text, and set the minutes after which it will clear (or 0 for never clear).
question for fellow streamdeck users - is there any voice change software for mac? like if i want to add echo or autotune while i speak by pressing a streamdeck button.
the main one all over google search results only works on windows
thanks, yeah it looks like it uses Audio Hijack, which can "improve voice quality" but doesnt quite do the fun voice effects i wanted. thanks though! i wound up finding Voxal which maaybe does it but doesnt do the echo. and i cant see it plugging into streamdeck.
I use a streamdeck with VS Code [1] and it's been really nice. You can map any actions that you could run with Ctrl+Shift+P (the command bar) and also have it send commands to the vscode terminal. Works great for me, including on remote servers connected through vscode.
On mine I have a key for reload window, start debugging/compile, and all the actions for the debugger (step through, pause, next etc).
I hated the touchbar but interested by the Stream Deck.
With the touchbar I really missed having the fixed set of tactile keys for sound/media control, screen brightness.
I also found I was fat fingering the Touch Bar to much due to my clumsy typing and naturally resting hands on the function keys.
I ended up disabling the Touch Bar only keeping sound and brightness icons.
The biggest disadvantage to the Touch Bar was ergonomics, loosing frequently used tactile keys, the position, needing to look down to see what you are pressing and the ease of fat fingering keys by mistake.
The concept is good but the implementation didn’t work on a laptop. The stream deck looks to be a bit more ergonomic, you can position it somewhere convenient, the keys are on an angle so easier to see, I imagine the big tactile buttons also work well.
Disliking the Touch Bar I’d also highly likely by an Apple external touchbar with tactile keys if it was sized similarly to an external number pad I could tilt up on an angle.
StreamDeck can be useful in some surprising environments. I've got some custom scripting I'm selling to doctors which helps with common actions in practice software. Things like marking pathology results normal/abnormal/nurse-to-advise, creating a specific referral from a template, or going through a full vaccination record flow (that's 1-2min real time saving per person). It's great :-) (an example config screen https://automate-med.viraptor.info/assets/images/pathology.p... )
> if people didn't reflexively poo-poo any change to their computers.
That feels a little disingenuous. People would have happily ignored the Touch Bar if it didn't remove the physical F row and escape key.
Apple turned it into a contest between an F row with physical keys, key travel, and feel and a touch-screen based key pad that required you to look away from the primary output device to even use. Then had it default to the positions of the dynamic buttons moving around as you switch applications (which is a UX fail).
Essentially Apple's own design trade-offs killed Touch Bar. There was nothing reflexive about it, people hated losing something they were actively using and getting something worse in exchange.
Well, I was never a real Touch Bar fan, but a couple devil's advocate points:
- Later editions of the Touch Bar brought back the physical escape key.
- I'm typing this on a MacBook Air right now, and while I always thought "why didn't you put the touch bar over the function row keys," the answer is clearly that there's just not enough space on a 13" or 14" laptop unless you want to shrink the trackpad, which you don't.
- My biggest complaint with the touch bar -- accidental inputs -- would probably have been solved with the return of the scissor switch keyboards they have now rather than the flat "butterfly" switches.
- Most Mac programs don't make much use of function keys; most of us are probably only using the keys for media control. Even after all this time I do tend to glance at the keyboard to use one, particularly on a laptop, so the advantage of muscle memory is (at least for folks like me) lessened. I'm sure there are people for whom this isn't true, but I'm a touch typist who can hit 100+ wpm and still don't feel I can rely on knowing just where function keys are in relation to standard keyboard keys. It's not consistent between keyboards: look at the current Mac laptop keyboard, an external Magic keyboard, and a third-party mechanical keyboard, and there's a good chance you'll see three different arrangements.
- At least in principle, with the Touch Bar more Mac programs could have taken advantage of it in similar ways to the Stream Deck.
The biggest problem with the Touch Bar might just have been that Apple themselves never seemed to fully commit to it. It never showed up on external keyboards, so almost nobody using their computer at a desk could use it even if they wanted to; the majority of keyboards it shipped with used the, let's say, controversial butterfly keyswitches, so it got bound up with that in public perception, and when Apple started backing away from that design they started backing away from the Touch Bar as well; and, they never did much with the API after it initially shipped.
Even setting aside the "the touch bar should have been above the function keys instead of replacing them", the touch bar also just didn't work very well. My experience with it was that it froze somewhat frequently and the shifting buttons lead to me hitting the wrong thing because what was under my finger changed right as I was pressing it. The touch bar being context-sensitive is also sort of the opposite of a stream deck; a large part of the point of the stream deck is that the buttons control OBS (or your software of choice) regardless of what application is active. The touch bar could be configured to do that, but there wasn't anything guiding people to do so.
Apple could have just stuck the touch bar above the f-keys instead of replacing them. I didn't mind the touch bar, but given the choice between it and f-keys I'll take the keys.
Allows me to not be the DJ/arbiter of music for my toddlers, yet still provides them with control over the music (Sonos) and helps them learn to negotiate & take turns between themselves. The Stream Deck has, thus far, held up to quite a lot of abuse. I've added some lighting control and they have play/pause/next control, too -- works great. The USB 'server' software is fantastic, too. =D