Control value ranges
Standard report control
Typical range
Meaning
Last updated
Zen exposes normalized integer values rather than the controller's hardware-native counts:
Digital button
0 or 100
Released or fully pressed
Analog trigger
0..100
Released through fully pressed
Stick X/Y axis
-100..100
Center is 0; opposite directions use negative and positive values
Touch-present identifier
0 or 100
No finger or finger present
Touch X/Y identifier
-100..100
Normalized position across the touch surface
Not every function uses the standard report scale. Keep function-specific units with the feature that consumes them:
Polar sticks: angle 0..359, set_polar radius 0..32767, and set_polar2 radius 0..15000.
Touch and Wii IR: presence selectors and normalized X/Y positions.
Rumble and haptics: actuator strength 0..100.
PS5 adaptive triggers: 11 positional bytes, each 0..255.
The compiler enforces a built-in's constant argument range where possible. Dynamic calculations still need validation and clamping before they reach the function.
Last updated

