For the complete documentation index, see llms.txt. This page is also available as Markdown.

Control value ranges

Zen exposes normalized integer values rather than the controller's hardware-native counts:

Standard report control
Typical range
Meaning

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