Reverse Engineering the Stream Deck+

(den.dev)

175 points | by dend2 months ago

10 comments

  • eichin2 months 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.)
    • dend2 months 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.
  • anthonyeden2 months 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
    • dend2 months 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.
  • ofrzeta2 months 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 :)
    • dend2 months 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.

  • ryao2 months 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?
    • a1o2 months 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.

      • dend2 months 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.

        • a1o2 months ago
          Yeah, it was HEIC that brought me to nomacs, I never heard of the format until I switched the phone for an iPhone.
      • DCH34162 months 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.

    • dend2 months ago
      That would be stock Windows 10!
      • ryao2 months ago
        I stopped using Windows in the Windows 7 era, so I am not used to seeing it.
  • xyproto2 months ago
    Valve should rename "Steam Deck" to "Steam Machine" to avoid confusion with "Stream decks".
    • joshstrange2 months 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.
    • ParetoOptimal2 months ago
      Personally I've never heard of Stream Deck and can't stop seeing "Steam Deck".

      Also subjective, but Steam Machine sounds corny.

    • wtetzner2 months ago
      I think they called it Steam Deck to avoid confusion with their previous Steam Machines.
    • jasonjmcghee2 months ago
      I have to believe Valve has sold more units / has more brand recognition
    • victorbjorklund2 months ago
      Very true. I own both yet even I'm confused all the time.
  • atmanactive2 months 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!

    • dend2 months 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!

  • qingcharles2 months 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?

    • dend2 months ago
      Thank you for the shout-out, really appreciate it. Your assumption is correct - it's regular HID device!
  • juhanakristian2 months ago
    Haven’t read the article yet but I love the “Little Mole” gif you used.
    • dend2 months ago
      Krtek is an underrated classic!
  • moon822 months ago
    interesting, thanks for sharing!
  • educasean2 months ago
    I was confused at first because I misread the title as referring to Valve's Steam Deck, which is a portable gaming PC
    • itsananderson2 months 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.
    • sdenton42 months 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?'
    • lhamil642 months 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.
    • dend2 months ago
      Yeah, the naming for these devices is not very obvious to quite a few readers. This blog post is about the control box.
    • 2 months ago
      undefined
    • cladopa2 months ago
      me too.