Skip to content

Ahrimdon/awesome-peripherals

Repository files navigation

🎮 Awesome Peripherals ⌨️ Awesome

A collection of useful tools for monitoring and debugging PlayStation & native XInput controllers. Includes DS4Windows, DualShock/Sense debugger & tester, polling rate optimizer, SDL (Simple DirectMedia Layer), XInput sampler, self-hosted overlay for OBS Studio, and more!

📌 See: Showcase

‼️ Installation Prequisites ‼️

🚀 Quick Start

  1. Set Git LFS environment:

    [!NOTE] Change the value to "0" if you want the Linux/macOS/Android SDL binaries

    PowerShell (Windows):

    $env:GIT_LFS_SKIP_SMUDGE="1"

    Bash (Linux/macOS):

    export GIT_LFS_SKIP_SMUDGE="1"
  2. Clone the repository:

    git clone https://git.rimmyscorner.com/Rim/awesome-peripherals.git && cd awesome-peripherals
  3. Initialize the submodules

    You can either initialize all of them:

    git submodule update --init --recursive --depth 1

    Or initialize specific the specific submodules you want:

    git submodule update --init --depth 1 <submodule1> <submodule2>

⚙️ Features

  • DS4Windows: DS4Windows is a gamepad input mapper and virtual XInput emulator designed to connect, use and customize your PS4/PS5 Controller on Windows 10/11 PC.
  • DualShock Tools: Debug, Calibrate & Test DualShock/DualSense gamepads.
  • Gamepad Tester: Simple HTML gamepad input tester.
  • Gamepad Viewer: Displays real-time gamepad inputs. (doubles as an input tester and debugger). [OBS Browser Overlay Compatible]
  • hidusbf: Driver/Program to overclock USB mice and HID devices.
  • RawAccel: Raw Accel is a Windows x86-64 driver which allows for the acceleration of mouse input in the raw input stream
  • SDL (Simple DirectMedia Layer): In this project, SDL is primarily used for detecting and managing gamepad input, ensuring consistent and reliable controller support across different operating systems.
  • Wootility Web: Manually ripped and self-hostable version of the Wootility Web v5 browser-based configurator for Wooting devices.
  • XInputTest: Displays analytics for recorded XInput samples.

🔑 Prerequisites (optional)

Note

dualshock-tools, gamepad-tester, gamepad-viewer, xinput-test ONLY

📜 Instructions

Node:

  1. Run the command node app.js in the directory
  2. Visit http://127.0.0.1:8080 in your browser

🎥 Adding the gamepad-viewer Overlay to OBS Studio

Important

For the gamepad-viewer to work in the background while OBS is not in focus, you must launch OBS with this CLI argument!
CLI Argument: --disable-features=EnableWindowsGamingInputDataFetcher

  1. Ensure your controller is plugged in and visible

  2. Navigate to the directory using cd gamepad-viewer

  3. Start the app with either:

    • Node: node app.js (preferred)
    • Python: python -m http.server --bind 0.0.0.0 8080
  4. Go to http://127.0.0.1:8080 in your browser, focus the window & press a button on your controller

  5. Customize your controller scheme and copy the finalized URL

  6. Create a new browser source in OBS Studio and paste the link you just copied (i.e. http://127.0.0.1:8080/?color=white&triggers=meter&type=dualsense)

  7. Ensure these settings:

    • Shutdown source when not visible
    • Refresh browser when scene becomes available

    Page permissions: Full access to OBS (Start/Stop streaming without warning, etc.)

  8. Add the source, keep OBS Studio focused and press a button on your controller

  9. Your gamepad with the template should appear and display in real time

Tip

You can also add the local IPv4 address of the machine running the app to another OBS Studio browser source somewhere else on the network!
Example: http://192.168.0.141:8080/?color=white&triggers=meter&type=dualsense

🏗️ Roadmap

  • Implement a more lightweight version of http-server

🖼️ Showcase

DS4Windows:

Click to expand


DualShock Tools:

Click to expand


Gamepad Tester:

Click to expand


Gamepad Viewer:

Click to expand


hidusbf:

Click to expand


RawAccel:

Click to expand


Wootility Web v5:

Click to expand


XInput Tester:

Click to expand

About

A collection of useful tools for monitoring and debugging PlayStation & native XInput controllers. Includes DS4Windows, DualShock/Sense debugger & tester, polling rate optimizer, SDL, XInput Sampler, Self-Hosted Overlay for OBS Studio, and more!

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors