hardware-gamepad
Maps a physical gamepad (via navigator.getGamepads()) to a VirtualGamepad.
Uses the Standard Gamepad layout (axes 0-3, buttons 0-16).
Configurable deadzone filters stick drift.
Example
Needs a physical gamepad connected. Maps the Standard Gamepad layout to a VirtualGamepad:
import { HardwareGamepadSource } from 'tosijs-3d'
// new HardwareGamepadSource() → .poll() reads navigator.getGamepads() into a VirtualGamepad
// (sticks, face buttons, triggers), deadzone-filtered. Merged automatically by <tosi-b3d-controller>.