Page 1 of 3

PAD Deadzone and Saturation configuration

PostPosted: Thu Sep 29, 2011 1:54 pm
by model4
Hello,

I try to configure deadzone and saturation of my x360 controler because he is too sensitive and make racing games not playable.

I read carrefully the Readme.txt that indicates :

InputJoy**Deadzone: The dead zone of a joystick axis is the size of the zone
around its central or 'off' position within which the axis is considered to be
inactive. It is important to specify this since joysticks rarely return to
their perfect center when released. The dead zone is expressed as a percentage
0-99 of the total range of the axis and the default value is 2%.

AND

InputJoy**Saturation: The saturation of a joystick axis is the point at which
the axis is considered to be at its most extreme position. It can be thought
of as a measure of the sensivity of the axis. Like the dead zone, it is
expressed as a percentage of the axis range but its value may be larger than
100, up to a maximum of 200.

OK, i go in config directory and open supermodel.ini file but i don't find any of these settings.

We must create these lines manually ?

Thanks a lot

Re: PAD Deadzone and Saturation configuration

PostPosted: Thu Sep 29, 2011 1:55 pm
by Bart
Yes, they aren't in there (the defaults are being used). You'll have to create them yourself.

Re: PAD Deadzone and Saturation configuration

PostPosted: Thu Sep 29, 2011 11:41 pm
by joeblade
Bart can I add saturations settings on anyline here or do they have to go in a specific area??
;
; Supermodel Configuration File
;

[ Global ]

InputStart1 = "JOY1_BUTTON8"
InputStart2 = "JOY2_BUTTON8"
InputCoin1 = "JOY1_BUTTON7"
InputCoin2 = "JOY2_BUTTON7"
InputServiceA = "KEY_0"
InputServiceB = "KEY_9"
InputTestA = "KEY_8"
InputTestB = "KEY_7"
InputJoyUp = "KEY_KEYPAD8"
InputJoyDown = "KEY_KEYPAD2"
InputJoyLeft = "KEY_KEYPAD4"
InputJoyRight = "KEY_KEYPAD6"
InputJoyUp2 = "KEY_R"
InputJoyDown2 = "KEY_F"
InputJoyLeft2 = "KEY_D"
InputJoyRight2 = "KEY_G"
InputPunch = "KEY_LEFTCTRL"
InputKick = "KEY_LEFTALT"
InputGuard = "KEY_SPACE"
InputEscape = "KEY_LEFTSHIFT"
InputPunch2 = "KEY_A"
InputKick2 = "KEY_S"
InputGuard2 = "KEY_Q"
InputEscape2 = "KEY_W"
InputShift = "KEY_LEFTCTRL"
InputBeat = "KEY_LEFTALT"
InputCharge = "KEY_SPACE"
InputJump = "KEY_LEFTSHIFT"
InputShortPass = "KEY_LEFTCTRL"
InputLongPass = "KEY_LEFTALT"
InputShoot = "KEY_SPACE"
InputShortPass2 = "KEY_A"
InputLongPass2 = "KEY_S"
InputShoot2 = "KEY_Q"
InputSteeringLeft = "JOY1_XAXIS_NEG"
InputSteeringRight = "JOY1_XAXIS_POS"
InputSteering = "JOY1_XAXIS_INV"
InputAccelerator = "JOY1_RZAXIS_POS"
InputBrake = "JOY1_ZAXIS_POS"
InputGearShift1 = "JOY1_RYAXIS_NEG"
InputGearShift2 = "JOY1_RYAXIS_POS"
InputGearShift3 = "JOY1_BUTTON6"
InputGearShift4 = "JOY1_BUTTON5"
InputGearShiftN = "JOY1_BUTTON10"
InputGearShiftUp = "JOY1_BUTTON6"
InputGearShiftDown = "JOY1_BUTTON5"
InputVR1 = "JOY1_BUTTON1"
InputVR2 = "JOY1_BUTTON3"
InputVR3 = "JOY1_BUTTON4"
InputVR4 = "JOY1_BUTTON2"
InputViewChange = "JOY1_POV1_UP"
InputHandBrake = "JOY1_POV1_DOWN"
InputTwinJoyTurnLeft = "KEY_Q,JOY1_RXAXIS_NEG"
InputTwinJoyTurnRight = "KEY_W,JOY1_RXAXIS_POS"
InputTwinJoyForward = "KEY_UP,JOY1_YAXIS_NEG"
InputTwinJoyReverse = "KEY_DOWN,JOY1_YAXIS_POS"
InputTwinJoyStrafeLeft = "KEY_LEFT,JOY1_XAXIS_NEG"
InputTwinJoyStrafeRight = "KEY_RIGHT,JOY1_XAXIS_POS"
InputTwinJoyJump = "KEY_E,JOY1_BUTTON1"
InputTwinJoyCrouch = "KEY_R,JOY1_BUTTON2"
InputTwinJoyLeft1 = "JOY1_XAXIS_NEG"
InputTwinJoyLeft2 = "JOY1_RXAXIS_NEG"
InputTwinJoyRight1 = "JOY1_XAXIS_POS"
InputTwinJoyRight2 = "JOY1_RXAXIS_POS"
InputTwinJoyUp1 = "JOY1_YAXIS_NEG"
InputTwinJoyUp2 = "JOY1_RYAXIS_NEG"
InputTwinJoyDown1 = "JOY1_YAXIS_POS"
InputTwinJoyDown2 = "JOY1_RYAXIS_POS"
InputTwinJoyShot1 = "JOY1_BUTTON1"
InputTwinJoyShot2 = "JOY2_BUTTON1"
InputTwinJoyTurbo1 = "JOY1_BUTTON2"
InputTwinJoyTurbo2 = "JOY2_BUTTON2"
InputAnalogJoyLeft = "JOY1_XAXIS_NEG"
InputAnalogJoyRight = "JOY1_XAXIS_POS"
InputAnalogJoyUp = "JOY1_YAXIS_NEG"
InputAnalogJoyDown = "JOY1_YAXIS_POS"
InputAnalogJoyX = "JOY1_XAXIS_INV"
InputAnalogJoyY = "JOY1_YAXIS_INV"
InputAnalogJoyTrigger = "JOY1_BUTTON1"
InputAnalogJoyEvent = "JOY1_BUTTON2"
InputGunLeft = "JOY1_XAXIS_NEG"
InputGunRight = "JOY1_XAXIS_POS"
InputGunUp = "JOY1_YAXIS_NEG"
InputGunDown = "JOY1_YAXIS_POS"
InputGunX = "JOY1_XAXIS_INV"
InputGunY = "JOY1_YAXIS_INV"
InputTrigger = "JOY1_BUTTON1"
InputOffscreen = "JOY1_BUTTON2"
InputAutoTrigger = 0
InputGunLeft2 = "JOY2_XAXIS_NEG"
InputGunRight2 = "JOY2_XAXIS_POS"
InputGunUp2 = "JOY2_YAXIS_NEG"
InputGunDown2 = "JOY2_YAXIS_POS"
InputGunX2 = "JOY2_XAXIS_INV"
InputGunY2 = "JOY2_YAXIS_INV"
InputTrigger2 = "JOY2_BUTTON1"
InputOffscreen2 = "JOY2_BUTTON2"
InputAutoTrigger2 = 0
DirectInputConstForceMax =100
DirectInputSelfCenterMax =100
DirectInputVibrateMax =100
DirectInputFrictionMax =100
XInputConstForceThreshold =35
XInputConstForceMax =100
XInputVibrateMax =100

Re: PAD Deadzone and Saturation configuration

PostPosted: Thu Sep 29, 2011 11:45 pm
by kuran
joeblade wrote:Bart can I add saturations settings on anyline here or do they have to go in a specific area??


Any line is fine, unless you want to put them in a game specific section.

Re: PAD Deadzone and Saturation configuration

PostPosted: Fri Sep 30, 2011 12:26 am
by model4
OK thank you Bart.

Joeblade i think you can add settings on anyline.

So i try this :

InputJoyXSaturation = 200 ( OK my pad is a very little less sensitive but it works)
InputJoyXDeadzone = 50 ( No changes, i try 50% but no changes too).

InputJoyXMinVal = -32767 (it works, i try -15000 and +15000 and i can't choose the mclaren who is rightmost in scud race, no fun :) )
InputJoyXOffVal = 0
InputJoyXMaxVal = +32768

Re: PAD Deadzone and Saturation configuration

PostPosted: Fri Sep 30, 2011 12:36 am
by Bart
They cannot go in game-specific sections. No setting that begins with 'Input' is read from anywhere other than the Global section (anything in a nameless section at the top of the file is also part of Global implicitly). To be safe, put them under [Global], with the other input settings. They will apply to all games.

Re: PAD Deadzone and Saturation configuration

PostPosted: Fri Sep 30, 2011 12:48 am
by joeblade
Thanks Guys...much appreciated....& thanks model4, i'll try your settings tonight! ;)

Scud Race is "crazy sensitive" with the default settings on the xbox 360 pad...Daytona 2 is pretty good actually... :)

Re: PAD Deadzone and Saturation configuration

PostPosted: Fri Sep 30, 2011 1:12 am
by isamu
joeblade wrote:
Scud Race is "crazy sensitive" with the default settings on the xbox 360 pad...Daytona 2 is pretty good actually... :)


I find that the steering in Scud Race is crazy sensitive period. My wheel is 900 degrees and upon lowing the saturation to 50, which is a 540 degree rotation, it's STILL sensitive! I don't know, the analog steering is just weird in that game. The game really encourages sliding around nearly every corner. It reminds me of a looser, milky-er, ice skating version of OR2.

Re: PAD Deadzone and Saturation configuration

PostPosted: Fri Sep 30, 2011 1:41 am
by nikdd
isamu wrote:I find that the steering in Scud Race is crazy sensitive period. My wheel is 900 degrees and upon lowing the saturation to 50, which is a 540 degree rotation, it's STILL sensitive! I don't know, the analog steering is just weird in that game. The game really encourages sliding around nearly every corner. It reminds me of a looser, milky-er, ice skating version of OR2.


Hi isamu,

That's probably because you need to *increase* the saturation in order to make it feel less sensitive - decreasing it to 50 like you are doing will actually make it feel *more* sensitive :-)

Check the README.txt for more details - it explains how the saturation option works.

Cheers, Nik.

Re: PAD Deadzone and Saturation configuration

PostPosted: Fri Sep 30, 2011 1:49 am
by nikdd
model4 wrote:So i try this :

InputJoyXSaturation = 200 ( OK my pad is a very little less sensitive but it works)
InputJoyXDeadzone = 50 ( No changes, i try 50% but no changes too).

InputJoyXMinVal = -32767 (it works, i try -15000 and +15000 and i can't choose the mclaren who is rightmost in scud race, no fun :) )
InputJoyXOffVal = 0
InputJoyXMaxVal = +32768


Hi model4,

A deadzone of 50 sounds like way too much - you're basically losing half your axis with this. Really deadzone should only be single digit - it's meant to just stop a mis-calibrated joystick from triggering when it shouldn't be. But then again, if this works well for you then who I am to say :-)?!

Also, I wouldn't recommend playing with the MinVal, OffVal and MaxVal settings except for a really specific reason (like handling steering wheel pedals that invert themselves). Just remove them from your Supermodel.ini and you'll get the defaults of -32768, 0 and 32767.

Maybe what Bart and I need to think about for a future release is adding a non-linear mapping so that the axis feels less sensitive around the centre when playing with a gamepad...

Cheers, Nik.