Switch language?

Switching language clears current test data. Continue?

PERIPHERAL TEST WORKBENCH

Gamepad test

Buttons, sticks and triggers — raw input alongside every movement.

Buttons & inputs

Connect a controller, then press a button
Mapping: —0 devices

Connect by USB or Bluetooth, then press a button on the controller to make it visible to the browser. Keep this page focused.

Operate your physical controller. Drag the model to inspect it; model clicks do not create test input.

Loading 3D model…
Waiting for standard-mapped input
No input receivedDrag to rotate · zoom disabled

Appearance is selected manually. Button indices follow browser mapping, not a guessed controller model. Extra buttons remain visible below.

BROWSER INPUT

Press and release each button, move both sticks, then pull each trigger. Coverage requires an observed pressed → released pair after the initial baseline.

No buttons pressed

Raw axis plots

No dead zone or smoothing. +X right, +Y down. Circle and r = 0.8 arcs are references, not hardware pass limits.

Left stick

X — / Y —

No sample completed

Right stick

X — / Y —

No sample completed

Raw input register

Connect a controller to inspect every reported axis.

Coverage: —

Checked buttons count toward coverage. Exclude positions the browser or device reserves; unobserved input alone does not establish a fault.

No buttons available yet.

Button value timeline

Event register

Time (s)EventInputValue
No changes observed yet.

Vibration check

Availability depends on the selected device and browser.

Method & limits

These are browser-visible inputs. Display-frame reads are not USB reports or hardware latency. No calibration, dead zone or quality score is applied.

How to test & what the numbers mean

Connect and select

Connect by USB or Bluetooth, then press a controller button. Some browsers expose a device only after interaction. Use localhost or HTTPS where required. Choose the device explicitly when several are connected.

The 3D appearance is independent of the physical device. Only standard mapping links raw buttons and axes to the model. Nonstandard devices keep all raw readings; no mapping is guessed. Separate Joy-Con devices are not merged.

Inspect sticks and triggers

For centering, release the sticks and keep the controller still for the 1-second settling period and 3-second sample. RMS = √mean(x² + y²), across browser reads. It describes the observed rest position, without a universal fault threshold.

For range, trace the full edge slowly. The 32 direction sectors use r ≥ 0.8 as an explicit reference. Square gates and device calibration may produce a different envelope from the circle. Trigger values are not physical travel measurements.

Keep comparisons valid

Switching devices starts a separate session and retains up to five previous sessions. Reset device session clears only the selected device’s current session. Pause, disconnect, focus loss and a read gap above 250 ms interrupt samples rather than produce a pass.

Repeated browser reads may share a device timestamp. Neither read count nor timestamp changes proves hardware polling rate. JSON includes the method, parameters, environment, raw retained reads and eviction counts. CSV contains only the current session’s retained reads.