aarveegill/phantom-sense — explained in plain English
Analysis updated 2026-05-18
Keep DualSense adaptive triggers and HD haptics working while streaming PC games to a Steam Deck with Moonlight.
Use a Steam Deck as a USB bridge to forward a native DualSense controller to a gaming PC in another room.
Set up automatic, boot-persistent controller forwarding that survives SteamOS updates.
| aarveegill/phantom-sense | cbl980712-coder/xsm-bf | deathcats4/scholar-ppt-cn | |
|---|---|---|---|
| Stars | 14 | 14 | 15 |
| Language | PowerShell | PowerShell | PowerShell |
| Setup difficulty | moderate | moderate | easy |
| Complexity | 3/5 | 2/5 | 2/5 |
| Audience | general | developer | researcher |
Figures from each repo's GitHub metadata at analysis time.
Requires installing VirtualHere and DSX software plus running setup scripts on both the Steam Deck and the PC.
PhantomSense solves a frustrating gap in game streaming: when you use Moonlight to stream PC games to a Steam Deck, the software automatically converts your DualSense controller into a generic virtual Xbox 360 gamepad. That translation silently kills every premium feature, adaptive triggers, HD haptics, gyroscope, and touchpad input all disappear entirely. PhantomSense bypasses this by forwarding the DualSense as a raw USB device over the network using a technology called USB/IP, which tunnels the USB connection through your local network. Your PC then believes the DualSense is physically plugged in, so all of its advanced features work natively. Meanwhile, Moonlight continues to handle video and audio as normal, the two data paths run in parallel without interfering with each other. A piece of software called DSX, short for DualSenseX, on the PC side then drives the adaptive triggers and haptics per game. Setup is automated: one install script runs on the Steam Deck in its desktop mode, another runs on Windows and handles all the required software. After setup, you plug the DualSense into the Steam Deck via USB-C, the Steam Deck acts as a USB bridge over the network, and your PC picks up the controller. The setup auto-starts at boot through a background system service and is designed to survive SteamOS software updates. Network latency added by the USB forwarding is around 1 to 3 milliseconds on a local network. The whole pipeline is free, the VirtualHere software it relies on offers a free tier that covers exactly one USB device, which is all this needs. Written in PowerShell and shell scripts, it targets Windows 10 or 11 as the gaming PC and SteamOS on the Steam Deck, and is released under the MIT License.
PhantomSense forwards a DualSense controller from a Steam Deck to a PC over the network so adaptive triggers, haptics, gyro, and touchpad keep working during Moonlight game streaming.
Mainly PowerShell. The stack also includes PowerShell, Shell, USB/IP.
MIT License, use, modify, and distribute freely, including commercially, as long as you keep the copyright notice.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly general.
This repo across BitVibe Labs
Verify against the repo before relying on details.