mrkeyoor.com_
Sat 17 Oct 06:42 UTC
Dev Toolsevaluationupdated 17 Oct 2026

deck-as-controller review

Deck as Controller is a Decky Loader plugin that makes a Steam Deck present itself to another device as a game controller over Bluetooth or USB. It lets you reuse the Deck's physical controls with a computer, tablet, or Nintendo Switch, with compatibility depending on the selected controller profile.

Verdict

Our Deck as Controller build passed in 16 seconds after an 18-second install, but tests were skipped because the repository had no test target. Try this beta when you want direct controller emulation and can troubleshoot the exact host/profile combination. Choose a streaming approach if it meets your need without giving up the Deck's normal Bluetooth or USB behavior.

We ran it

Lab card: what happened when we ran deck-as-controllerScreenshot of deck-as-controller (github.com/jmedina21/deck-as-controller)
Install✓ · 18s186 packages · 164 MB
Build✓ · 16s
Testsn/ano test script
Repo32 files~3,583 lines of source · 2.9 MB · 1 CI workflows

Answers from our run

Does deck-as-controller build from source?

Dependencies installed in 18 seconds (186 packages), and the build succeeded in 16 seconds. We cloned commit 7e58858 into a clean Debian container with 3 CPUs and no project-specific setup.

Does deck-as-controller have tests you can run?

Not through a standard command: the project exposes no test script or target that our harness could run.

Who should not use deck-as-controller?

Players who need the Deck's Bluetooth headphones or keyboard during wireless use: the README says the plugin takes over that Bluetooth setup.

What are the alternatives to deck-as-controller?

Moonlight PC, Steam Remote Play. Our Deck as Controller build passed in 16 seconds after an 18-second install, but tests were skipped because the repository had no test target.

Setup2/5Build passes, actual setup includes Decky and hardware configuration
Docs4/5Detailed profile matrix, USB consequences, and recovery instructions
Community3/5Recent compatibility fixes alongside unresolved device reports
Maturity2/5Explicit beta, no test target, and hardware-specific limits

Who it’s for

Steam Deck owners comfortable installing a beta Decky plugin and troubleshooting Bluetooth pairing.
Players who want a direct controller connection while the game runs on another device.
Developers willing to check their exact Deck, firmware, host OS, and controller profile before relying on it.

Who it’s NOT for

Players who need the Deck's Bluetooth headphones or keyboard during wireless use: the README says the plugin takes over that Bluetooth setup.
Dock-dependent users unwilling to change USB behavior: wired mode can disrupt hubs, drives, USB boot, and charging, and its firmware setting persists.
Players requiring every controller feature in every game: Steam rumble, native Mac recognition, and back-button support differ by profile.
Anyone expecting the supplied build to establish controller reliability: our lab had no test target and did not exercise Deck hardware.
Owners treating requested screen-sharing or BLE features as commitments: the README says requested features may never happen.

Setup reality

Our sandbox installed commit 7e58858 with pnpm in 18 seconds, adding 186 packages and using 164 MB. Its build passed in 16 seconds. Tests were skipped because there was no test script or target, and the scan found one CI workflow, no Dockerfile, and no tests directory.

Actual use needs a Steam Deck with Decky Loader and the plugin release ZIP. No hosted API key is documented. Source deployment uses SSH and passwordless sudo on the Deck, which is a separate requirement from installing the release through Decky.

Wireless mode changes the Deck's Bluetooth operation while active. Wired mode uses a USB device mode firmware setting that persists until reversed, can disable normal USB host uses, and depends on BIOS support. A successful container build checks none of those hardware behaviors.

Direct controller emulation changes the Deck's own connections

Deck as Controller makes a Steam Deck appear to another device as a PS5, Xbox Elite, Switch Pro, or Steam Controller profile. The README calls it an early beta and warns about latency and connection problems. Its appeal is straightforward: keep the game on another device and reuse the controls already in your hands. That direct connection also means accepting changes to how the Deck handles Bluetooth or USB.

Our checkout of commit 7e58858 was 2.9 MB, with 32 files and roughly 3,583 source lines. Its pnpm-based build is only part of the product. A Python backend handles input and controller identity on the Deck. GitHub's Python language label and our Node build result therefore describe different parts of the same plugin, and neither tells you whether your host will accept a particular emulated controller.

What happened when we ran it

Our sandbox installed 186 pnpm packages in 18 seconds and completed the build in 16 seconds, using 164 MB on disk. We ran commit 7e58858 on October 16, 2026, in an unprivileged Debian container with 3 CPUs, 8 GB of RAM, Node 22, and no secrets. Both steps succeeded. Tests were skipped because the repository had no test script or target.

The scan found one CI workflow, no Dockerfile, and no tests directory. The successful 16-second build establishes that the build path worked in our container. It does not establish Bluetooth stability, controller recognition, rumble, or input delay. We did not connect a Deck or change firmware in this run. Anyone buying hardware or planning a regular gaming setup needs a separate trial on that exact combination.

Installing a release ZIP avoids the source-deployment route

The README directs ordinary users to install Decky Loader, enable its developer options, and select the plugin release ZIP. It explicitly warns against downloading the source archive as the installable plugin. The receiving device needs no companion installation for the documented direct-controller path. You still have to choose a profile, remove old pairings where instructed, and establish a new connection.

The 186 packages in our lab belong to the source-development environment. They are not a claim about what a release ZIP installs on your Deck. Developers have a separate deployment script that builds and sends the plugin over SSH, requiring passwordless sudo on the Deck. Use the release route unless you intend to work on the code and accept that development setup.

Wireless use takes over Bluetooth, while USB changes firmware

The known limitations say the Deck's own Bluetooth headphones, keyboards, and controllers are unavailable during wireless operation. Enabling or disabling that mode restarts Bluetooth and interrupts existing connections. The backend temporarily changes BlueZ operation and takes exclusive access to the built-in controller. Stopping the plugin or rebooting is documented to restore the ordinary wireless setup.

The 164 MB footprint we measured is a minor consideration beside wired mode's operating consequences. USB controller mode changes a firmware setting that remains until you reverse it. The README warns that drives, docks, USB boot, and other USB uses may stop working, and charging from a computer can be slow. Automatic switching supports known BIOS layouts, with manual BIOS instructions for others. This deserves a deliberate choice on a Deck that normally lives in a dock.

Controller profiles trade recognition against available controls

PS5 and PS5 Edge are the wired choices. Other supplied profiles use Bluetooth, and their capabilities differ. The Switch Pro profile has digital triggers and no trackpad mapping. Steam Controller exposes more Deck-specific inputs to Steam, while the README says native Mac games outside Steam will not recognize that profile. Selecting the profile determines the interface your game actually sees.

Our 16-second build gives no reason to override the compatibility table. The README says Steam does not send Bluetooth rumble to its PS5 profiles, and some native Mac games miss Xbox Elite. Back-button support also depends on the profile and the software reading it. Check the game through the same launch path you will use later, including whether Steam Input sits between the controller and the game.

October fixes show activity without settling every device report

The last push was October 16, 2026, when release v0.6.2 added Bazzite Bluetooth support. GitHub showed 215 stars and 3 open issues and PRs. Issue 22 reports a Bluetooth-service restart failure on Bazzite with v0.6.1. The newer release addresses that area, so the old report cannot establish that v0.6.2 still fails. The issue remained open when checked.

Issue 13 separately reports USB mode waiting for a cable on an LCD Deck. Together with the README's beta warning, that keeps my recommendation conditional. Moonlight or Steam Remote Play is a different approach when streaming the picture is acceptable. For direct controller emulation, try the plugin on your actual game and keep the documented controls for stopping it close at hand.

Alternatives

ProjectWhat it isPick it when
Moonlight PCA game-streaming client that sends gamepad input to a streaming host.pick this instead when you also want the remote game picture on the Deck and can configure a streaming host.
Steam Remote PlayValve streaming between Steam computers and supported Steam Link clients.pick this instead when the game already runs through Steam and a streaming connection suits the job better than direct controller emulation.

What people are saying

  1. [velocity-scout] jmedina21/deck-as-controller

Sources

  1. Deck as Controller README and limitations
  2. v0.6.2 release, Bazzite support
  3. Bazzite Bluetooth restart report
  4. LCD Deck USB report
  5. Moonlight PC
  6. Valve Steam Remote Play

More dev tools reviews

claude-code-pro-course · Seep-Reverse-Lab · SkyCraft · yomiyasu · solidcraft · pi-agent-desktop · the whole board →