Skip to content

Latest commit

ย 

History

57 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

ApexSenseBridge 0.6.3

Bridge your Flydigi APEX 4 & APEX 5 controller into a native virtual PlayStation 5 DualSense on Windows.
Experience authentic in-game Adaptive Triggers (FORCEADAPT), rich Haptic Feedback, motion gestures, and verified touchpad shortcuts with sub-2 ms latency.

License Platform Release Authenticode


โšก Key Highlights in 0.6.3

  • ๐Ÿ›ก๏ธ Non-destructive uninstall: ApexSenseBridge never uninstalls USBip, preserves HidHide and user data by default, and requires separate explicit consent plus verified provenance before removing HidHide.
  • ๐Ÿ” Verified updates and releases: All automatic update paths validate the exact official setup asset, version, product and Authenticode publisher. CI blocks inconsistent versions, stale packages, bad checksums and unsigned release payloads.
  • ๐Ÿ›ก๏ธ New USBip 0.9.8.0 Kernel Driver: Upgraded from the vulnerable 0.9.7.7 to the official Microsoft-attestation-signed OSSign 0.9.8.0 x64 build (upstream commit 83bd1f78). Fixes the infamous send-spinlock freeze (DPC_WATCHDOG_VIOLATION 0x133) and memory corruption bug (4139f44).
  • ๐ŸŽ›๏ธ Onboard APEX 5 Profiles (1โ€“4) per Game: Configure a specific onboard hardware profile (1 to 4) automatically per game in Playnite and the Standalone Tray App. The previous profile is cleanly restored upon exit.
  • โœจ Flydigi Space Station Macro Whitelisting: Keyboard/mouse shortcuts and standard-button remaps configured in Flydigi Space Station remain available while the physical gamepad is isolated. Rear buttons M1โ€“M4 must be assigned in Space Station; a standard virtual DualSense cannot expose them as four independent buttons.
  • ๐ŸŽฎ Space Station Proxy Isolation: Temporarily hides the verified GeniTech gamepad bus and any existing or late-created DualSense/XInput proxies while ApexSenseBridge is active, preventing duplicate or frozen controllers in games such as Minecraft with Controlify.
  • ๐Ÿ”’ Safe Tray/Playnite Coexistence: A session-ownership lock prevents the Tray and Playnite extension from terminating or replacing each other's bridge process. Run one automation owner per game for predictable notifications and lifecycle handling.
  • ๐Ÿ”Ž Detection and Touchpad Fixes: Short titles such as Control no longer match utilities such as Controlify, and the standard View โ†’ touchpad-click path remains immediate during rapid consecutive presses.
  • ๐Ÿ“š More Reliable Executable Learning: Concurrent game processes are tracked independently, repeated sightings no longer restart the 30-second stability window, elevated executable paths use a restricted Windows query fallback, and validated bindings are flushed during Tray shutdown.
  • ๐Ÿงฐ Installer Verification Fix: Corrects the registry-key escaping bug that could report a successful USBip installation as failed, then misclassify it as unregistered driver remnants on the next setup run.
  • ๐ŸŽ๏ธ Blazing Fast Initialization (0.28s): Built-in in-process libVIIPER v0.7.0-asb7 backend with sub-millisecond USB attachment and loopback-only communication.

See the complete 0.6.3 release notes for upgrade instructions, compatibility notes and validation details.


๐Ÿ•น๏ธ Supported Controllers & Hardware Validation

Controller Connection Modes Hardware Verification Status Special Features
Flydigi APEX 5 2.4 GHz Dongle / Wired USB โœ… Fully Verified in Hardware & Gameplay Full FORCEADAPT Trigger Resistance, Audio Haptics, Grip Rumble, Onboard Profiles 1โ€“4 switching
Flydigi APEX 4 2.4 GHz Dongle / Wired USB (DInput) โœ… Fully Verified in Hardware & Gameplay 32-byte direct vendor input (MI_02), FORCEADAPT Resistance, Grip Rumble, HidHide double-input isolation

๐ŸŽฏ Game Compatibility & Validation Tiers

โœ… Hardware Verified in Active Gameplay

Tested extensively with confirmed Adaptive Triggers, Haptics, and gestures:

  • Call of Duty: Modern Warfare 4 Beta: dynamic per-weapon trigger stops (semi-auto wall, full-auto recoil kick, bolt-action reset) and audio haptics (footsteps, slides, explosions).
  • Marvel's Spider-Man 2: dynamic web-swing tension, web-shooter click feedback, alternating D-pad Up camera gestures, and full FNSM touch swipes.
  • Grand Theft Auto V Enhanced: throttle resistance, ABS brake pulses, terrain rumble, and engine rev vibrations.
  • Death Stranding 2: terrain/cargo load trigger resistance, full DualSense controls, and immersive haptics.
  • Ghost of Tsushima Director's Cut: combat clash resistance, wind guidance swipe gestures (D-pad Right + Stick), and textured haptics.
  • Marvel's Spider-Man: Miles Morales: venom charge triggers, web-swing tension, and FNSM gestures.
  • Warframe: instant ability swipe gestures and dynamic weapon trigger resistance.

๐Ÿ“š 206+ Automatically Detected DualSense Games

Continuously synced with PCGamingWiki for native PlayStation 5 DualSense features. The Standalone Tray App and Playnite extension automatically recognize and engage the bridge when any supported title launches.


๐Ÿ”’ Runtime Architecture & Double-Input Protection

Non-DualSense / Standard Game:
APEX Controller โ”€โ”€โ–บ Native XInput โ”€โ”€โ–บ Game (ApexSenseBridge is completely idle)

Supported DualSense Game:
APEX Controller โ”€โ”€โ–บ ApexSenseBridge (C++20 Engine) โ”€โ”€โ–บ Virtual DualSense โ”€โ”€โ–บ Game
                      โ””โ”€โ”€ HidHide isolates physical gamepad
                          (Space Station M/K macros remain whitelisted)
  • Zero In-Game Injection: No process injection, DLL hijacking, or memory tampering. All translation operates strictly via OS-level HID/controller interfaces and standard Windows APIs.
  • Sub-2 ms Latency: Measured 0.67โ€“1.54 ms p99 report forwarding in active gameplay at ~800โ€“900 Hz.
  • Fail-Closed Isolation: If physical controller isolation cannot be guaranteed, the session halts safely to prevent confusing dual-input states.

๐Ÿš€ Installation & Getting Started

Tip

For common diagnostic questions, minidump analysis, or setup help, consult the Knowledge Base & Troubleshooting Guide.

Option A: Standard Offline Installer (Recommended)

  1. Download ApexSenseBridge-Setup.exe from the Latest Release.
  2. Run the installer (elevates once as Administrator).
    • Installs the core engine, Tray app, and Control Panel under %ProgramFiles%\ApexSenseBridge.
    • Bundles certified usbip-win2 0.9.8.0 and HidHide 1.5.230.
    • Automatically registers the Playnite extension if Playnite is installed.
  3. Restart your PC if prompted (required after installing or updating the USBip driver).

Uninstalling ApexSenseBridge never removes USBip. This is intentional: the upstream USBip filter removal restarts Windows USB hubs and must be handled separately from Windows Settings if the user really wants to remove it. HidHide is also kept by default and can only be removed after a separate default-No confirmation when its exact ApexSenseBridge install provenance is verified. Settings, logs, learned associations and Playnite profiles are kept by default; a separate prompt controls their deletion. Silent uninstall preserves all drivers and data unless /REMOVEUSERDATA is explicitly supplied for data only.

Important

Upgrading from 0.9.7.x: If you have an older USBip package installed, uninstall it in Windows Settings (Installed Apps), restart Windows, and then run setup. This avoids the known upstream installer hang on "Uninstalling USBip...".

Versions 0.6.0 and 0.6.1 could falsely report that USBip failed even when usbip-install.log recorded success. This verification bug is fixed in 0.6.3. Do not repeatedly run the older installer or remove driver packages manually with pnputil.

Option B: Portable Package

  1. Download ApexSenseBridge-Portable.zip.
  2. Extract the archive anywhere on your PC.
  3. Run Install-Drivers.cmd as Administrator once to install the required kernel drivers, then restart Windows.
  4. Launch Start-ApexSenseBridge.cmd or ApexSenseBridgeTray.exe.

๐Ÿ–ฅ๏ธ Usage Modes

1. Standalone System Tray App (Steam, Epic, EA, Game Pass, etc.)

  • Launch ApexSenseBridgeTray.exe (or enable Launch at Windows startup).
  • Sits silently in the System Tray.
  • Automatic Detection: Launches and closes the DualSense bridge automatically when any of the 206+ supported games start.
  • Dynamic Executable Learning: Detects renamed, modded, elevated or multi-process game executables after 30 seconds of a stable automatically detected session while filtering out game launchers (Steam, Epic, EA, Ubisoft). Force Continuous Activation alone cannot identify which game should own an executable.
  • Dashboard & Per-Game Profiles: Right-click the Tray icon to open the game list, force a specific profile, or assign a dedicated APEX 5 hardware slot (1โ€“4) for each game.

2. Playnite Integration

  • Seamlessly integrated with Playnite Desktop and Fullscreen modes.
  • Game launches automatically initiate the bridge, isolate the physical pad, and apply profile mappings.
  • Right-click any game in Playnite > ApexSenseBridge to customize trigger remapping, touchpad gesture profiles, or onboard APEX 5 hardware slots.
  • Do not run the Tray and Playnite automation for the same game. Version 0.6.2 protects the active session from being killed, but selecting one owner avoids duplicate notifications and ambiguous start/stop events.

๐Ÿ‘† Touchpad Gesture Emulation

For games that use DualSense touchpad swipes for in-game mechanics, ApexSenseBridge translates intuitive physical controller shortcuts:

Game Profile Controller Action Virtual DualSense Touch Output
Spider-Man 2 Hold View / Hold D-pad Up Swipe Left (FNSM App) / Swipe Up/Down (Camera)
Miles Morales Hold View Swipe Left (FNSM App)
Ghost of Tsushima Hold D-pad Right + Flick Right Stick Directional Wind Swipe in flick direction
Warframe Hold RB + Press A/B/X/Y Ability Swipes (Up / Down / Left / Right)
Standard DualSense Press View Touchpad Click (no directional swipe)

Rear buttons M1โ€“M4 are not independent controls in a standard DualSense input report. Assign them to standard controller buttons or keyboard/mouse inputs in Flydigi Space Station; ApexSenseBridge keeps the verified mapping service authorized through HidHide during an active session.


๐Ÿ›ก๏ธ Security, Signing & Crash Recovery

  • Authenticode Signed: All executables (ApexSenseBridge.exe, ApexSenseBridgeTray.exe, ApexSenseBridgeControl.exe, viiper.exe, libVIIPER.dll, installer) are digitally signed to eliminate Windows SmartScreen warnings.
  • Auto-Recovery Watchdog & RunOnce: If a game crashes or power is lost, controller visibility and original APEX onboard profiles are automatically restored via an armed watchdog and HKCU RunOnce registry protection.
  • Manual Visibility Restoration: Should you ever need to manually unhide your controller, open the Control Panel or run:
    ApexSenseBridge.exe restore-controller-visibility

๐Ÿ› ๏ธ Diagnostics & CLI Quick Reference

ApexSenseBridge.exe list
ApexSenseBridge.exe diagnose [--all-hid] [--json]
ApexSenseBridge.exe identify [index]
ApexSenseBridge.exe input-status [index] [--seconds N] [--json]
ApexSenseBridge.exe test-rt [index]
ApexSenseBridge.exe test-rumble [index]
ApexSenseBridge.exe restore-controller-visibility

๐Ÿ—๏ธ Building from Source

Requirements

  • Windows 10 / 11 x64
  • Visual Studio 2022 (Desktop C++ & Windows SDK)
  • CMake 3.25+
  • Inno Setup 6 (for packaging)
# 1. Build native engine and tests
.\scripts\build-windows.ps1
ctest --test-dir .\build-win -C Release --output-on-failure

# 2. Build VIIPER backend and installer
.\scripts\build-libviiper-windows.ps1
.\scripts\build-installer.ps1
.\scripts\verify-version-consistency.ps1 -CheckArtifacts

Before publishing a tag, follow the clean-VM matrix in RELEASE_CHECKLIST.md. The release workflow rejects a tag/version mismatch, a stale package, a bad checksum or an unsigned payload.


๐Ÿ“„ License & Third-Party Notices

  • Distributed under the MIT License. See LICENSE for details.
  • Uses patched components from VIIPER, usbip-win2, and HidHide. See THIRD_PARTY_NOTICES.md.

About

Lightweight Windows C++20 bridge bringing native DualSense Adaptive Triggers (FORCEADAPT), DSP Haptics, and Playnite integration to the Flydigi APEX 5/4.

Topics

Resources

Stars

40 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages