Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

version platform license stars upgrade


DualSense Haptics

Turn your PS5 DualSense into a PC haptic peripheral. Static adaptive trigger resistance, native DualSense passthrough, and virtual Xbox 360 output — all without a PlayStation.

DualSense Xbox


Features

  • Static trigger resistance — L2 and R2 hold firm while pressed
  • Native DualSense output — games that support the controller read it directly
  • Virtual Xbox 360 mode — XInput-only games see a controller via ViGEmBus
  • HidHide integration — cloak the real pad so games see only the virtual one
  • Frameless UI — clean, minimal window with custom titlebar
  • USB + Bluetooth — auto-detects transport, CRC-32 valid on wireless
  • Zero config — plug in, launch, it works

Download

Grab the latest .exe from Releases.


Free vs Full Immersion ($4)

This is the free version — static adaptive triggers, no telemetry. Want more?

Free (this repo) Full Immersion ($4 on Gumroad)
Static trigger resistance Racing telemetry (Forza, F1, AC)
USB + Bluetooth Gun recoil (9 weapon profiles)
Xbox virtual pad Melee swing feedback
HidHide cloaking Audio reactive rumble
Frameless UI Minecraft per-item feels
MIT open source The Lab — live preview + tuning

Upgrade to Full Immersion — $4 on Gumroad


Requirements

Component Needed for
ViGEmBus Xbox virtual pad output
HidHide Cloaking the physical DualSense from games

Quick Start

  1. Install ViGEmBus if you want Xbox output
  2. Install HidHide if you want device cloaking (run as admin)
  3. Launch dualsense-haptics.exe
  4. Plug in your DualSense via USB or pair via Bluetooth
  5. Toggle DualSense or Xbox output mode

Build from Source

git clone https://github.com/AlteredAJ/dualsense-haptics.git
cd dualsense-haptics/src-tauri
cargo build --release

Requires Rust + WebView2.


Tech Stack

Layer Tech
Backend Rust + Tauri 2
Frontend Vanilla JS + HTML + CSS
HID I/O hidapi
Virtual Pad ViGEmBus (vigem-client)
Bluetooth CRC crc32fast

Project Structure

dualsense-haptics/
├── src/                    # Frontend (vanilla JS + HTML + CSS)
├── src-tauri/              # Rust backend
│   └── src/
│       ├── main.rs         # Entry point + Tauri setup
│       ├── lib.rs          # Tauri commands
│       ├── hid.rs           # DualSense HID parsing + input loop
│       ├── xinput.rs        # Virtual Xbox 360 pad (ViGEmBus)
│       ├── hidhide.rs       # HidHide device cloaking client
│       └── settings.rs      # Persisted user settings
├── docs/                   # Platform-specific guides
└── icons/                  # App icons

Roadmap

Status Item
Static trigger resistance
Virtual Xbox 360 output (ViGEmBus)
HidHide device cloaking
USB + Bluetooth auto-detect
📋 Tauri 2 migration (from Node.js to Rust backend)
📋 macOS Bluetooth reconnect stability
📋 Per-game preset system (load config by detected process)

Contributing

Issues and PRs welcome. For feature requests, check the roadmap above first. The full immersion version is closed-source but the free version here is MIT — build on it freely.


License

MIT — see LICENSE.


Built for sim racers and controller nerds.

About

Universal DualSense Haptics — static adaptive trigger resistance for PC. Plug in your PS5 controller and feel the triggers firm up. USB + Bluetooth, Xbox virtual pad output, frameless UI.

Topics

Resources

Contributing

Stars

Watchers

Forks

Releases

Sponsor this project

Packages

Contributors

Languages