Skip to content

Gamepad Input Modules v1.4.2

Latest

Choose a tag to compare

@barkermn01 barkermn01 released this 20 May 17:05
· 28 commits to main since this release
314e0bc

Three new modules for displaying controller input on your stream overlay, all using the browser Gamepad API (works in OBS without focus).

🎮 Steering Wheel

  • Displays a rotating wheel driven by any gamepad axis
  • Supports custom wheel images or draws a default wheel graphic
  • Configurable max rotation, rotation offset, deadzone, and axis invert
  • "Show Axis Values" debug mode to identify the correct axis

🔘 Gamepad Button

  • Displays a single controller button with idle/active image swap
  • Falls back to a drawn circle with configurable colors if no images set
  • Supports analog buttons (triggers) with gradual color fill

✚ Gamepad D-Pad

  • Displays D-pad directional input with per-direction idle/active images
  • 9 image slots: Up Idle, Up Active, Down Idle, Down Active, Left Idle, Left Active, Right Idle, Right Active, Center
  • Supports both button-based and axis-based D-pad input modes
  • Swaps between idle/active images on press (no dimming)

New Property Types

  • gamepadDevice — dropdown of connected controllers, auto-detects on button press, saves controller name for display
  • gamepadButton — dropdown of buttons from the selected controller
  • Both show saved values on reload without requiring re-detection

Fixes

PNGTuber

  • Now uses 4 images: Idle, Idle Blink, Active, Active Blink (no more overlay compositing)
  • Removed the old single "Blink Image" overlay approach

Module Loading

  • buildConfig now ensures ALL module types used in any scene are added to the Modules array (previously only handled image/video/webcam — pngtuber and others were missed)

Installer

  • Fixed PATH registration failing when install directory contains spaces

Editor UI

  • Properties panel now scrolls correctly when content overflows
  • Gamepad/controller dropdowns no longer overflow the panel width
  • build-cumods.js now auto-discovers modules from directory instead of a hardcoded list