QtCraft API C++ classes QML types Handbook

QcGamepadResponse Struct

How raw stick and trigger values become input (decision E-540): a radial dead zone around the centre (the stick's direction is kept, only its length shrinks), an outer zone that already counts as full deflection (worn sticks do not reach 1), and a response curve (length to the power exponent: 1 linear, above 1 finer control near the centre). More...

Header: #include <clientcore/input/QcGamepadResponse.h>

Public Functions

QcGamepadResponse sanitized() const

Public Variables

float deadZone
float exponent
float outerZone
float triggerDeadZone

Detailed Description

The output length rises continuously from 0 at the dead zone to 1 at the outer zone. Pure functions.

Member Function Documentation

QcGamepadResponse QcGamepadResponse::sanitized() const

Returns the values clamped to their ranges (settings may hold anything).

Member Variable Documentation

float QcGamepadResponse::deadZone

Share of the stick's travel ignored around the centre, 0..0.9.

float QcGamepadResponse::exponent

Exponent of the response curve, 0.2..5.

float QcGamepadResponse::outerZone

Share of the travel at the rim that already counts as full deflection, 0..0.5, and at most 1 - 0.05 - the larger dead zone; shared by sticks and triggers.

float QcGamepadResponse::triggerDeadZone

Share of a trigger's travel ignored at rest, 0..0.9; the triggers share the outer zone and the exponent with the sticks.