staticCVAR_DEFINE_AUTO(joy_side,"1.0",FCVAR_ARCHIVE|FCVAR_FILTERABLE,"joystick side sensitivity. Values from -1.0 to 1.0");
staticconvar_t*joy_side;
staticCVAR_DEFINE_AUTO(joy_forward,"1.0",FCVAR_ARCHIVE|FCVAR_FILTERABLE,"joystick forward sensitivity. Values from -1.0 to 1.0");
staticconvar_t*joy_found;
staticCVAR_DEFINE_AUTO(joy_lt_threshold,"16384",FCVAR_ARCHIVE|FCVAR_FILTERABLE,"left trigger threshold. Value from 0 to 32767");
staticconvar_t*joy_index;
staticCVAR_DEFINE_AUTO(joy_rt_threshold,"16384",FCVAR_ARCHIVE|FCVAR_FILTERABLE,"right trigger threshold. Value from 0 to 32767");
staticconvar_t*joy_lt_threshold;
staticCVAR_DEFINE_AUTO(joy_side_key_threshold,"24576",FCVAR_ARCHIVE|FCVAR_FILTERABLE,"side axis key event emit threshold. Value from 0 to 32767");
staticconvar_t*joy_rt_threshold;
staticCVAR_DEFINE_AUTO(joy_forward_key_threshold,"24576",FCVAR_ARCHIVE|FCVAR_FILTERABLE,"forward axis key event emit threshold. Value from 0 to 32767");
staticconvar_t*joy_side_deadzone;
staticCVAR_DEFINE_AUTO(joy_side_deadzone,DEFAULT_JOY_DEADZONE,FCVAR_ARCHIVE|FCVAR_FILTERABLE,"side axis deadzone. Value from 0 to 32767");
staticconvar_t*joy_forward_deadzone;
staticCVAR_DEFINE_AUTO(joy_forward_deadzone,DEFAULT_JOY_DEADZONE,FCVAR_ARCHIVE|FCVAR_FILTERABLE,"forward axis deadzone. Value from 0 to 32767");
staticconvar_t*joy_side_key_threshold;
staticCVAR_DEFINE_AUTO(joy_pitch_deadzone,DEFAULT_JOY_DEADZONE,FCVAR_ARCHIVE|FCVAR_FILTERABLE,"pitch axis deadzone. Value from 0 to 32767");
staticconvar_t*joy_forward_key_threshold;
staticCVAR_DEFINE_AUTO(joy_yaw_deadzone,DEFAULT_JOY_DEADZONE,FCVAR_ARCHIVE|FCVAR_FILTERABLE,"yaw axis deadzone. Value from 0 to 32767");
staticconvar_t*joy_pitch_deadzone;
staticCVAR_DEFINE_AUTO(joy_axis_binding,"sfpyrl",FCVAR_ARCHIVE|FCVAR_FILTERABLE,"axis hardware id to engine inner axis binding, "
staticconvar_t*joy_yaw_deadzone;
"s - side, f - forward, y - yaw, p - pitch, r - left trigger, l - right trigger");
staticconvar_t*joy_axis_binding;
staticCVAR_DEFINE_AUTO(joy_found,"0",FCVAR_READ_ONLY,"is joystick is connected");
staticCVAR_DEFINE_AUTO(joy_index,"0",FCVAR_READ_ONLY,"current active joystick");
joy_side=Cvar_Get("joy_side","1.0",FCVAR_ARCHIVE|FCVAR_FILTERABLE,"joystick side sensitivity. Values from -1.0 to 1.0");
Cvar_RegisterVariable(&joy_side);
joy_forward=Cvar_Get("joy_forward","1.0",FCVAR_ARCHIVE|FCVAR_FILTERABLE,"joystick forward sensitivity. Values from -1.0 to 1.0");
Cvar_RegisterVariable(&joy_forward);
joy_lt_threshold=Cvar_Get("joy_lt_threshold","16384",FCVAR_ARCHIVE|FCVAR_FILTERABLE,"left trigger threshold. Value from 0 to 32767");
Cvar_RegisterVariable(&joy_lt_threshold);
joy_rt_threshold=Cvar_Get("joy_rt_threshold","16384",FCVAR_ARCHIVE|FCVAR_FILTERABLE,"right trigger threshold. Value from 0 to 32767");
Cvar_RegisterVariable(&joy_rt_threshold);
// emit a key event at 75% axis move
// emit a key event at 75% axis move
joy_side_key_threshold=Cvar_Get("joy_side_key_threshold","24576",FCVAR_ARCHIVE|FCVAR_FILTERABLE,"side axis key event emit threshold. Value from 0 to 32767");
Cvar_RegisterVariable(&joy_side_key_threshold);
joy_forward_key_threshold=Cvar_Get("joy_forward_key_threshold","24576",FCVAR_ARCHIVE|FCVAR_FILTERABLE,"forward axis key event emit threshold. Value from 0 to 32767");
// by default, we rely on deadzone detection come from system, but some glitchy devices report false deadzones
// by default, we rely on deadzone detection come from system, but some glitchy devices report false deadzones
joy_side_deadzone=Cvar_Get("joy_side_deadzone",DEFAULT_JOY_DEADZONE,FCVAR_ARCHIVE|FCVAR_FILTERABLE,"side axis deadzone. Value from 0 to 32767");
Cvar_RegisterVariable(&joy_side_deadzone);
joy_forward_deadzone=Cvar_Get("joy_forward_deadzone",DEFAULT_JOY_DEADZONE,FCVAR_ARCHIVE|FCVAR_FILTERABLE,"forward axis deadzone. Value from 0 to 32767");
Cvar_RegisterVariable(&joy_forward_deadzone);
joy_pitch_deadzone=Cvar_Get("joy_pitch_deadzone",DEFAULT_JOY_DEADZONE,FCVAR_ARCHIVE|FCVAR_FILTERABLE,"pitch axis deadzone. Value from 0 to 32767");
Cvar_RegisterVariable(&joy_pitch_deadzone);
joy_yaw_deadzone=Cvar_Get("joy_yaw_deadzone",DEFAULT_JOY_DEADZONE,FCVAR_ARCHIVE|FCVAR_FILTERABLE,"yaw axis deadzone. Value from 0 to 32767");
Cvar_RegisterVariable(&joy_yaw_deadzone);
joy_axis_binding=Cvar_Get("joy_axis_binding","sfpyrl",FCVAR_ARCHIVE|FCVAR_FILTERABLE,"axis hardware id to engine inner axis binding, "
Cvar_RegisterVariable(&joy_axis_binding);
"s - side, f - forward, y - yaw, p - pitch, r - left trigger, l - right trigger");
Cvar_RegisterVariable(&joy_found);
joy_found=Cvar_Get("joy_found","0",FCVAR_READ_ONLY,"is joystick is connected");
// we doesn't loaded config.cfg yet, so this cvar is not archive.
// we doesn't loaded config.cfg yet, so this cvar is not archive.
// change by +set joy_index in cmdline
// change by +set joy_index in cmdline
joy_index=Cvar_Get("joy_index","0",FCVAR_READ_ONLY,"current active joystick");