Reverse Engineering the Stream Deck+

(den.dev)

163 points | by dend a day ago ago

36 comments

  • eichin a day ago ago

    Hmm, https://github.com/abcminiuser/python-elgato-streamdeck/ already supports the Plus (that's the library behind https://github.com/timothycrosley/streamdeck-ui ) I wonder if there's a missed opportunity for collaboration here (I didn't see any names in common at a quick glance, though I didn't dig that far.)

    • dend a day ago ago

      They do, and indeed there are libraries that are already accomplishing what I am doing! This project is mostly there to satisfy my own curiosity, as well as build a robust .NET wrapper (not Python). Love the work that python-elgato-streamdeck does, for sure.

  • anthonyeden a day ago ago

    This is an interesting article. It’s worth mentioning open source software exists for the StreamDeck. Companion is very popular in the AV production industry. https://github.com/bitfocus/companion

    • dend a day ago ago

      Indeed, I am not the first, and I am sure not the last, to dig through Stream Deck internals. This article was mostly written to satisfy my own curiosity.

  • ofrzeta 19 hours ago ago

    It's interesting. Recently I thought about building a DIY stream deck but LCD keycaps are so expensive that it almost makes sense to buy a steamdeck for scavenging the parts :)

    • dend 18 hours ago ago

      I don't know about the latest Stream Deck models, but for previous models (at least the ones I have) you might be surprised that behind the scenes is just one display! See the teardown (album not mine): https://imgur.com/gallery/elgato-stream-deck-what-is-inside-...

      The buttons are entirely virtual and the onboard controller ensures they are properly positioned, so you don't have to have each button carry it's own screen.

  • ryao a day ago ago

    Am I the only one who wondered what desktop environment was providing the window decorations before realizing it was some variant of Microsoft Windows?

    • a1o 12 hours ago ago

      It looks like it's rounded so I think it is Windows 11, but surprisingly it is using the photoviewer from the Vista era.

      I didn't knew it was apparently still included in newer windows, I switched to nomacs as the image viewer in my Win11 because I disliked the new image viewer - it's usually slow, and it has weird controls for a desktop system.

      • dend 6 hours ago ago

        I switched to the classic photo viewer because I am not a fan of the new one. You can switch with a bit of registry "hacking":

        reg add "HKCR\Applications\photoviewer.dll" /f

        reg add "HKCR\Applications\photoviewer.dll\shell" /f

        reg add "HKCR\Applications\photoviewer.dll\shell\open" /f /v MuiVerb /t REG_SZ /d "@photoviewer.dll,-3043"

        reg add "HKCR\Applications\photoviewer.dll\shell\open\command" /f /ve /t REG_EXPAND_SZ /d "%SystemRoot%\System32\rundll32.exe \"%ProgramFiles%\Windows Photo Viewer\PhotoViewer.dll\", ImageView_Fullscreen %1"

        reg add "HKCR\Applications\photoviewer.dll\shell\open\DropTarget" /f /v Clsid /t REG_SZ /d "{FFE2A43C-56B9-4bf5-9A79-CC6D4285608A}"

        reg add "HKCR\Applications\photoviewer.dll\shell\print" /f

        reg add "HKCR\Applications\photoviewer.dll\shell\print\command" /f /ve /t REG_EXPAND_SZ /d "%SystemRoot%\System32\rundll32.exe \"%ProgramFiles%\Windows Photo Viewer\PhotoViewer.dll\", ImageView_Fullscreen %1"

        reg add "HKCR\Applications\photoviewer.dll\shell\print\DropTarget" /f /v Clsid /t REG_SZ /d "{FFE2A43C-56B9-4bf5-9A79-CC6D4285608A}"

        For HEIC photos, you might still want to use the new viewer.

        • a1o 6 hours ago ago

          Yeah, it was HEIC that brought me to nomacs, I never heard of the format until I switched the phone for an iPhone.

      • DCH3416 9 hours ago ago

        Yeah animated mouse wheel zoom will do it. And as a bonus "Photos" takes a lot longer to load. And what's this? "Edit an image using AI". Yeah, the pop ups.

        Unfortunately you have to patch in photo viewer in order to use it out of box.

    • dend a day ago ago

      That would be stock Windows 10!

      • ryao 21 hours ago ago

        I stopped using Windows in the Windows 7 era, so I am not used to seeing it.

  • xyproto 12 hours ago ago

    Valve should rename "Steam Deck" to "Steam Machine" to avoid confusion with "Stream decks".

    • joshstrange 11 hours ago ago

      I literally googled “Steam Deck Plus” because I read it wrong and immediately wanted to know about whatever new Steam Deck Valve was selling.

    • ParetoOptimal 2 hours ago ago

      Personally I've never heard of Stream Deck and can't stop seeing "Steam Deck".

      Also subjective, but Steam Machine sounds corny.

    • jasonjmcghee 5 hours ago ago

      I have to believe Valve has sold more units / has more brand recognition

    • victorbjorklund 11 hours ago ago

      Very true. I own both yet even I'm confused all the time.

    • wtetzner 8 hours ago ago

      I think they called it Steam Deck to avoid confusion with their previous Steam Machines.

  • qingcharles 8 hours ago ago

    Absolutely fantastic write-up. Thank you for taking the time and energy to do that.

    I also have the Elgato pedal -- is that just some regular HID device do you know?

    • dend 6 hours ago ago

      Thank you for the shout-out, really appreciate it. Your assumption is correct - it's regular HID device!

  • atmanactive a day ago ago

    >> ...but the software has gotten worse - it now goes as far as to requiring users for an account to download extensions.

    That's when I got off that train. As alternatives, I am now evaluating Macro Deck and OpenDeck. I owe my gratitude to people like you who made it possible. Kudos and thanks!

    • dend a day ago ago

      Yeah, I am undertaking this primarily to break free of the artificial constraints - the hardware is top-notch, but the ever-increasing push to make every piece of software connect to an account when it's not needed is absurd.

      Appreciate the shout-out!

  • juhanakristian 13 hours ago ago

    Haven’t read the article yet but I love the “Little Mole” gif you used.

    • dend 6 hours ago ago

      Krtek is an underrated classic!

  • moon82 a day ago ago

    interesting, thanks for sharing!

  • educasean a day ago ago

    I was confused at first because I misread the title as referring to Valve's Steam Deck, which is a portable gaming PC

    • itsananderson a day ago ago

      Google also finds these names confusing. Whenever I try to search for something Stream Deck related, Google returns results for the Steam Deck. It's quite annoying.

    • sdenton4 a day ago ago

      Same! I continued to be confused even on seeing the picture of the device and thinking, 'wtf, is there some steam deck console device I've never heard of?'

    • lhamil64 a day ago ago

      I also misread that. And when the Steam Deck first came out I remember constantly misreading it as Stream Deck. Interesting how that changed.

    • dend a day ago ago

      Yeah, the naming for these devices is not very obvious to quite a few readers. This blog post is about the control box.

    • a day ago ago
      [deleted]
    • cladopa a day ago ago

      me too.