My Custom Stream Deck Toolkit
peterhajas.comReally cool! I've recently got really fed up with the default software and wrote my own library for .NET to manage the device[1].
For anyone curious, I've also documented how to reverse-engineer the USB protocol[2], so you can write your own libraries and pretty much set any buttons to anything (with much more OS control granularity).
[1]: https://deck.surf
With the popularity of these devices, I am surprised no one has taken a swing at producing a new keyboard in the spirit of the old Optimus Maximus[1]. I would love to see how the tech improvements of the last decade and a half could help improve that design.
It should be noted that there's not much fancy tech in a streamdeck, it's just clever use of pretty old tech.
It's an LCD and touchscreen with a mask and the buttons are optical-grade-ish plastic with a pad that triggers the touchscreen when the button is pressed. Ford uses something similar in some of their center console screens; there's a wiper under a dial glued to the screen.
They do not use individual screens, despite the author's claim (which is common so they can be forgiven for it.)
Interesting, I had no idea they were so simple. That could help explain why they haven't produced bigger devices like a full keyboard. The costs likely don't scale as well when you need a screen the size and shape of a keyboard as opposed to the commoditized screens they are using in the smaller devices.
Yep! Very simple and absurdly cheap to make and program. There are ton of display controllers that have more than enough capability to handle to do this all without needing a separate uC, even.
I think what you're really paying for is the software on the host computer side, and how many companies they've gotten to interface with them.
I'd be willing to bet that streamdeck makes a lot of money off sale of metrics they collect - what programs are running, what games people are playing, what they're streaming, and probably more.
Waaaah! I remember the Optimus Maximus. I never got one but I was drooling over it as a kid.
It made a lot of sense to me that a keyboard should be configurable to display what's expected on which keys. Switching between different layouts but also quick actions, video game inputs, etc. The macOS touchbar sort of does that.
I frankly would like to see it, even if I suspect that, if it could be done (without expending millions in R&D), it would have been done by now.
The Optimus Maximus felt like the future of keyboards when I was a kid and it first released. Hold shift and all the letters go from lower-case to upper, hold control/command and the keys change into their modifiers, telling you exactly what it does. Play World of Warcraft and instead of a number row your action bars with appropriate icons is there.
I'm a little surprised Elgato hasn't tried. I wonder if the original creators have some kind of a patent on ANSI/ISO keyboards with displays under the keys?
Wikipedia[1] says the patent for this expired in 2016. Interesting enough, it also mentions that Apple filed a similar patent for a "dynamically changing OLED keyboard" in 2007. I wonder if that project was abandoned or eventually morphed into the Touchbar. Personally, I think having the screen(s) be individual keys would be a huge usability improvement over the Touchbar which doesn't have the same tactile feedback.
[1] - https://en.wikipedia.org/wiki/Optimus_Maximus_keyboard
I've always been curious as to how many patents exist where the holder actually had no intention of building the thing, for whatever reason, but didn't want anyone else to either.
I find it hilarious that old keyboards used to have most of these buttons. Gradually people migrated to "60% TKL" keyboards to save space, and now apparrently buy an entire stream deck to replace their missing buttons? I admit it looks cooler though
The advantage I find using a Stream Deck is that it can be configured to use the context of your active window to show a subset of buttons. This unlocks a lot of power in terms in application specific shortcuts / macros that can all be triggered from a small device. I have >100 different buttons but only see the most relevant by default based on what I’m doing.
≥ old keyboards used to have most of these buttons
Hmmm, I only recall one previous "proper" keyboard having OLEDs under the keycaps...
Slightly facetious, I know, but I think one key element you missed is the adaptability.
Yes keyboards used to come with calculator and mail and internet buttons, but often times you were stuck with those options only, or worse, the particular apps hardwired in the drivers.
Not only can this solution adapt to what you are doing / context aware, it can give feedback. That mail button can pull and render an inbox count. Online contacts profile pics can display in a select few buttons when they are available.
Price/gamer tax on this type of solution and how useful to the average user, that's up for debate.
If you're a game streamer, the keyboard might not be an option (since you're using it to play), and that's who it's aimed at, I think. I can definitely see the appeal, just leaning over to tap while in a meeting or watching a video or something. It would be useful in a conference room as well. It's a luxury item, but it definitely fills a niche.
I've tried a similar setup with a Novation Launchpad that I had bought to function as a sort of Stream Deck before this product existed (but without the little displays of course.) It's just a MIDI controller, so I could use a [piano-style] keyboard too.
Although my normal keyboard does still have function keys and a numpad, I like being able to map annoying shortcuts to individual buttons. For example, Photoshop's "Merge Visible Layers" (default Ctrl+Shift+E) is hell on my wrist, so I map it to a button on the MIDI controller.
It's also nice having extra buttons to access F13-F24 for whatever behavior I want since virtually nothing uses them by default.
it's kind of like general purpose (old keyboard) vs specialized customizable keyboard (stream deck)
I use my mac touch bar in the exact same way actually using BetterTouchTool.
Much more ergonomic, I can't say I'd want to have a separate keyboard next to my laptop...
I notice the author mentions "Nonce Buttons". Just a reminder that "nonce" has a very different meaning in British English, as discovered by Nonce Finance: https://www.indy100.com/viral/nft-company-nonce-finance-prob...
Had a good laugh at this. Thanks
Stream Decks are super neat, but the official software is complete trash. Rolling your own is basically the only way to win here. I use a library for .NET called StreamDeckSharp which is pretty nice.
What are specific concerns you have? I've been using the Stream Deck software for a couple of years now and other than a few freezes that required me to relaunch the application. I haven't had any issues.
For me, some combination of it, my Mac, and the software my IT organization runs made it so my Mac wouldn't boot, for one side of anecdata. My experience with the app wasn't as bad as some others here, but I'd much rather use something lightweight (and a multitasker) like Hammerspoon over running their app all the time. It also feels way more natural to me to configure it with a script that I can move between machines, where I wasn't able to find a good way to share config between computers with their software (but admittedly didn't try hard). My deck is connected through a KVM, and it's nice for it to work the same way between my two computers.
From my experience, almost all the functionality with any sort of smarts is designed solely for it's core audience: If you're using OBS and Twitch I'm sure it's fine, but it's general Windows interaction functionality is extremely primitive.
Then there's third party plugins, but I don't really see any security guarantees on how those are designed, there's not a lot of reason for me to be comfortable with those.
The really basic functionality I wanted that the software couldn't change, was the ability to remain functional when the PC was locked.
I love my streamdeck. But these are great ideas. I never thought of doing the function keys. That will be a game changer by itself.
Glad to see integration with Hammerspoon. I still think Hammerspoon is massively underrated in terms of productivity software.
Stream Deck for productivity is underrated. I don’t use it as much as I thought (I integrated KayboardMaestro entirely too late into my workflow), but it’s still handy.
I like having haptic interfaces, (perhaps too much).
Before a good keyboard tool, I occasionally ran in to keyboard shortcut collisions which produce odd outcomes.
Thanks for sharing this, I’ll have another look.
Is anybody aware of a similar tool for Windows for doing deeper customization on the Stream Deck? I <3 Hammerspoon on my Macs, and I like my Streamdeck on my Windows PC, would definitely switch from the stock Elgato software to something like HS if I could.
I like the idea that you can make a clipboard key that displays what's inside :)
is there a tried-and-tested ipad app anyone can recommend that does what the stream deck does?
stream decks have always interested me, but the price has always seemed a bit steep. compared to their XL model, for ~50$ more (with an educational discount) you can get a base ipad, and unless you really want the tactile feedback, i can’t think how that wouldn’t be a better buy.
There is the Stream Deck Mobile app. https://www.elgato.com/en/stream-deck-mobile
i have an old iphone SE lying around. it seems like perfect use for this instead of buying a stream deck :D
I have a stream deck and use it the exact same way!
I'm glad we are seeing people with their own take on this, this is something that Valve said they hoped to have hardware vendors embrace because the Deck really is supposed to be an "open platform ecosystem" instead of closed / wallgardened consoles like XBOX, Playstation, and Switch. Hats off to the developer and I hope we see more like this from commercial vendors as well.
This post is about the Elgato Stream Deck, not the Valve Steam Deck.
Oh, well that's terrible naming then. I totally thought this was a PC gaming console. I wonder if Valve is going to try to fight a trademark in court because it's so similar.
This guy better be careful otherwise he could be stuck with huge legal fees depending how popular this gets. Seems early enough in product development that he could change it without problem.
The Valve Steam Deck was announced on July 15, 2021 and isn’t even released yet. The Elgato Stream Deck has been for sale since mid 2017.
I don’t think Elgato, the manufacturer of the Stream Deck, or this guy, who wrote code to integrate with it, have anything to worry about.
It doesn't matter who had it first. I don't think Elgato has the deep bottomless pockets that Valve has. They both wouldn't stand a chance in court for years of litigation. I'm not saying it's fair but that's just the way it is in the US court system.
Terrible naming indeed. Valve should have thought about that before naming their new product... but they probably did, and decided they were the bigger fish.
The photos in the post show quite clearly what this is.
This is not a new product. It's the author's configuration for an existing product, the Elgato Stream Deck.