Steam Deck

Steam Deck

ugafan May 23, 2022 @ 4:18pm
Custom inner deadzone set to zero still has a deadzone
There is a noticeable difference in the Joystick Mouse deadzone when set to "None" vs. "Custom" with the inner deadzone set to zero.

Because it has a deadzone, Custom is not as good for fine mouse movement as the deadzone set to None. "None" allows for the cursor to travel in smaller, more precise increments.

Expected: With a Custom inner deadzone set to zero, the dead zone should be eliminated and match that of None.
< >
Showing 1-12 of 12 comments
ThreeSon May 23, 2022 @ 8:51pm 
This was an intentional "fix" by Valve around when the Deck first launched, because the Deck's joysticks tend to not recenter perfectly and so many of them have a small amount of drift out of the box. So they added a irremovable 10%-ish deadzone area.
ugafan May 24, 2022 @ 6:12am 
Yes, this problem is a little different as the fix would apply to both None and Custom settings.

Custom set to 0 should equal None. But it does not, there is a larger deadzone being applied to Custom that is not present on None.
ugafan Jun 6, 2022 @ 8:11pm 
Okay, it appears that "None" has been given an additional deadzone instead of removing the deadzone for "Configuration".

This is the OPPOSITE of what I requested.

I don't want a deadzone applied to "None" or "Configuration" when the Inner Deadzone is set to 0.
ugafan Jun 7, 2022 @ 7:31pm 
Okay, I've done some more testing and I think I've got a better idea of what is going on. There is definitely problem, but it's a little different than what I thought it was.

To explain, I'll give you an analogy. Think of a vehicle that can travel between 0-100 miles per hour. But instead of accelerating immediately when the accelerator is pushed in, the vehicle does not move until the accelerator is pushed in 10%. And when it crosses that 10 percent threshold, it immediately starts moving at 10 mph. You cannot drive at 0-9 mph, the lowest speed you can travel at is 10 mph.

The problem is the deadzone is cutting off the lower numbers of the curve. The edge of the inner deadzone should should start at 0 percent and reach 100 percent at the edge of the outer dead zone. But this is not the case. The edge of deadzone is starting at a value higher than zero. Let's say the threshold for movement is 10%. The scale is going from 10-100, not 0-100.

To go back to the vehicle analogy for joystick mouse, once the inner deadzone is crossed, the mouse is moving at 10 mph and you can't move it at a slower speed because the bottom of the curve is being cut off. The scale should be adjusted to account for the deadzone edge.

I can demonstrate the problem with a configuration.

steam://controllerconfig/413080/2818350147

This configuration has two action sets. With the default action set, the right joystick is set to joystick mouse with deadzone set to "None". The other action set has the deadzone set to "Configuration" with a 0.5 inner deadzone. Left trigger toggles between the joysticks.

To test, push the joystick until the cursor starts moving. Now press the left trigger. Speed is reduced even though mouse sensitivity is the same for both action sets. You'll also notice how you can do finer movements with the inner deadzone set to 0.5 than set to None. 0.5 inner deadzone works as expected, but "None" jumps to the faster speed.
This is what I'm talking about the lower end of the curve being cut off. You can't make the cursor move at slower speeds when the deadzone is set to "None".

When I started this thread, "None" did not suffer from this problem. Please revert it back to the previous setting. Thank you.
No sé Jun 10, 2022 @ 10:16am 
To be honest, when I tested it with my own deck the actual difference was negligible, to the point I just had to make the mother of all slightest forces to actually notice the threshold, and being sincere, I highly doubt I would make such extremely smaller movements than that naturally during any game session.

So the point is, most users will not care about it as almost no one actually applies such extremely small forces on the joystick, even when trying to be "sneaky/careful" on purpose. Moreover, most game developers already integrate considerable amounts of dead zones by default (e. g. the character starts walking at 15% of the x axis), which is much higher than the actual minimum set by valve.

Relating it with your vehicle analogy, is like taking into account the smallest force that the average person can do with their feet in a controllable manner, let's suppose an hypothetic 0.2 N⋅m, which equals in the pedal acceleration scale to an output velocity of 12Km/h, which is higher than the 10Km/h minimum value that it can actually register.

In any case, you can just leave it as None if it is what you are looking for. What's the point of turning on the custom one and setting it to 0 when you can just leave it at "None"?
Last edited by No sé; Jun 10, 2022 @ 10:21am
ThreeSon Jun 10, 2022 @ 10:49am 
Originally posted by No sé:
In any case, you can just leave it as None if it is what you are looking for. What's the point of turning on the custom one and setting it to 0 when you can just leave it at "None"?

Because "none" isn't actually "none"; the Deck will not register any input below 10% of the sticks' range no matter how low you set the deadzone.

As someone who played through multiple FPS games on hard difficulty with PS4 and PS5 gamepads on my PC, I can say without question that the inability to make tiny movements with the Deck's sticks makes a major difference. I can't play FPS games on the Deck at all.
No sé Jun 10, 2022 @ 7:54pm 
Originally posted by ThreeSon:
Originally posted by No sé:
In any case, you can just leave it as None if it is what you are looking for. What's the point of turning on the custom one and setting it to 0 when you can just leave it at "None"?

Because "none" isn't actually "none"; the Deck will not register any input below 10% of the sticks' range no matter how low you set the deadzone.

As someone who played through multiple FPS games on hard difficulty with PS4 and PS5 gamepads on my PC, I can say without question that the inability to make tiny movements with the Deck's sticks makes a major difference. I can't play FPS games on the Deck at all.

I'll be pretty straightforward, the 10% is such an inflated number based on a rumor of an estimation from Valve's hot patch during the drift controversy.

I've been doing tests, comparing the lowest possible deadzones' values (2000 on each joystick) against different higher ones while also contrasting my results with videos published around the date users started noticing drift issues and the "massive" deadzone area was introduced by the hot fix.

Based on my testing, I would say that the real value is not even close to that 10% people have been claiming in the past, as once again, I had to make very slight movements to actually see the threshold limit value before popping off inside calibration settings. Moreover, the graphic representation of the position of the joystick was almost touching the origin, which is a really notorious difference if you compare it against the videos that emerged during the Valve's hot fix controversy.

In any case, during one of my tests I realized joysticks always reported a maximum value of 32767 with any configuration value, and given that the minimum reported values did actually change according to the configuration, it was pretty obvious 32767 is the maximum value the joystick can output in a certain axis. Taking advantage of this, we can actually calculate the minimum, "irremovable" deadzones.

To do so, you just have to divide 100 by the maximum reported value for an axis inside calibration settings, which is 32767, and multiply it by the smallest configurable value, which is 2000. In other words, (100 / 32767) * 2000 = 6.1037% ≈ 6.1%, which I think contrasts very well with what I have experienced/seen during my tests.
Last edited by No sé; Jun 10, 2022 @ 8:00pm
ThreeSon Jun 10, 2022 @ 8:09pm 
Originally posted by No sé:
Originally posted by ThreeSon:

Because "none" isn't actually "none"; the Deck will not register any input below 10% of the sticks' range no matter how low you set the deadzone.

As someone who played through multiple FPS games on hard difficulty with PS4 and PS5 gamepads on my PC, I can say without question that the inability to make tiny movements with the Deck's sticks makes a major difference. I can't play FPS games on the Deck at all.

I'll be pretty straightforward, the 10% is such an inflated number based on a rumor of an estimation from Valve's hot patch during the drift controversy.

I've been doing tests, comparing the lowest possible deadzones' values (2000 on each joystick) against different higher ones while also contrasting my results with videos published around the date users started noticing drift issues and the "massive" deadzone area was introduced by the hot fix.

Based on my testing, I would say that the real value is not even close to that 10% people have been claiming in the past, as once again, I had to make very slight movements to actually see the threshold limit value before popping off inside calibration settings. Moreover, the graphic representation of the position of the joystick was almost touching the origin, which is a really notorious difference if you compare it against the videos that emerged during the Valve's hot fix controversy.

In any case, during one of my tests I realized joysticks always reported a maximum value of 32767 with any configuration value, and given that the minimum reported values did actually change according to the configuration, it was pretty obvious 32767 is the maximum value the joystick can output in a certain axis. Taking advantage of this, we can actually calculate the minimum, "irremovable" deadzones.

To do so, you just have to divide 100 by the maximum reported value for an axis inside calibration settings, which is 32767, and multiply it by the smallest configurable value, which is 2000. In other words, (100 / 32767) * 2000 = 6.1037% ≈ 6.1%, which I think contrasts very well with what I have experienced/seen during my tests.

I'll be very straightforward as well: The numerical percentage of permanent, irremovable deadzone is irrelevant. I don't care if it's 6.1% or 10%. What I care about is the dramatic effect it has on the ability to play games that require fine movements.
ugafan Jun 10, 2022 @ 8:25pm 
I'll post the link again for anyone who wants to see the problem I'm describing in action. Please open Desktop mode and copy the link to the configuration.

steam://controllerconfig/413080/2818350147

Paste and go to the link in the address bar. Apply the configuration using the touch screen and go back using the touch screen.

Toggle between the layers with the left trigger. They both have the same mouse sensitivity and curve. The only difference is the deadzone.

The difference should be apparent.

In any case, you can just leave it as None if it is what you are looking for.

See post #3. They made a change to None to make it like Custom set to 0 deadzone, instead of changing Custom with deadzone set to 0 to make it like None.

What's the point of turning on the custom one and setting it to 0 when you can just leave it at "None"?

When set to "None" in game mode, you lose the ability to adjust the outer deadzone, dead zone shape, anti-deadzone, and anti-deadzone buffer. Those options are available in Custom.
No sé Jun 11, 2022 @ 4:44pm 
Originally posted by ugafan:
I'll post the link again for anyone who wants to see the problem I'm describing in action. Please open Desktop mode and copy the link to the configuration.

steam://controllerconfig/413080/2818350147

Paste and go to the link in the address bar. Apply the configuration using the touch screen and go back using the touch screen.

Toggle between the layers with the left trigger. They both have the same mouse sensitivity and curve. The only difference is the deadzone.

The difference should be apparent.

In any case, you can just leave it as None if it is what you are looking for.

See post #3. They made a change to None to make it like Custom set to 0 deadzone, instead of changing Custom with deadzone set to 0 to make it like None.

What's the point of turning on the custom one and setting it to 0 when you can just leave it at "None"?

When set to "None" in game mode, you lose the ability to adjust the outer deadzone, dead zone shape, anti-deadzone, and anti-deadzone buffer. Those options are available in Custom.

I've been doing many more testings, this time using external tools to actually measure the different outputs given in the three modes: None, Calibration and Custom. This are my results:

As I predicted yesterday, when None configuration is selected the smallest value that can be triggered in a certain axis is 0.06 / 6%.

In Calibration configuration, it was incosistent. First of all, it adds an additional deadzone despite outputting the same minimum values as None, sometimes 0.05 as the lowest one. Then during the second round of tests it drastically changed without I doing anything, to the point it now outputs a minimun value of 0.20 / 20% even with the same deadzones as before. I advise avoiding this configuration.

And now the most interesting one, under my criteria. The custom one matches 1:1 the outputs given by the None configuration when configured to use the whole range. BUT, if you set the lower deadzone from the handlebar to an aproximation of the value of the fixed deadzone I calculated yesterday (6.1 ≈ 6, you'll need to use the touchscreen to do so) now you keep having the exact same deadzones as before or as "None", but now the outputs starts from 0.01 instead of 0.06. This means you'll be able to make any possible range with the joystick with no tangible difference.

In conclussion, if you really want to be able to do the whole range of movements of the Joystick, even including the 6.1% missed by the fixed deadzone, set custom deadzones in configuration and leave the lower handlebar at 6, while the higher sits at its maximum value (100).
No sé Jun 11, 2022 @ 4:45pm 
Originally posted by ThreeSon:
Originally posted by No sé:

I'll be pretty straightforward, the 10% is such an inflated number based on a rumor of an estimation from Valve's hot patch during the drift controversy.

I've been doing tests, comparing the lowest possible deadzones' values (2000 on each joystick) against different higher ones while also contrasting my results with videos published around the date users started noticing drift issues and the "massive" deadzone area was introduced by the hot fix.

Based on my testing, I would say that the real value is not even close to that 10% people have been claiming in the past, as once again, I had to make very slight movements to actually see the threshold limit value before popping off inside calibration settings. Moreover, the graphic representation of the position of the joystick was almost touching the origin, which is a really notorious difference if you compare it against the videos that emerged during the Valve's hot fix controversy.

In any case, during one of my tests I realized joysticks always reported a maximum value of 32767 with any configuration value, and given that the minimum reported values did actually change according to the configuration, it was pretty obvious 32767 is the maximum value the joystick can output in a certain axis. Taking advantage of this, we can actually calculate the minimum, "irremovable" deadzones.

To do so, you just have to divide 100 by the maximum reported value for an axis inside calibration settings, which is 32767, and multiply it by the smallest configurable value, which is 2000. In other words, (100 / 32767) * 2000 = 6.1037% ≈ 6.1%, which I think contrasts very well with what I have experienced/seen during my tests.

I'll be very straightforward as well: The numerical percentage of permanent, irremovable deadzone is irrelevant. I don't care if it's 6.1% or 10%. What I care about is the dramatic effect it has on the ability to play games that require fine movements.

Check my previous comment, the one before this, last two paragraphs. It may be a solution for you.
ugafan Jun 11, 2022 @ 8:50pm 
Originally posted by No sé:
As I predicted yesterday, when None configuration is selected the smallest value that can be triggered in a certain axis is 0.06 / 6%.

And now the most interesting one, under my criteria. The custom one matches 1:1 the outputs given by the None configuration when configured to use the whole range. BUT, if you set the lower deadzone from the handlebar to an aproximation of the value of the fixed deadzone I calculated yesterday (6.1 ≈ 6, you'll need to use the touchscreen to do so) now you keep having the exact same deadzones as before or as "None", but now the outputs starts from 0.01 instead of 0.06. This means you'll be able to make any possible range with the joystick with no tangible difference.

In conclussion, if you really want to be able to do the whole range of movements of the Joystick, even including the 6.1% missed by the fixed deadzone, set custom deadzones in configuration and leave the lower handlebar at 6, while the higher sits at its maximum value (100).

Thank you for doing more testing. This shows there is a problem with the deadzone set to None.

If the edge of the inner deadzone is at 6.1%, all the values inside of the deadzone are cut off. This is not what is supposed to occur. The edge of the inner deadzone should be 0 and the edge of the outer deadzone should be 100.

For testing, I've updated the configuration to a 0.6 deadzone.

steam://controllerconfig/413080/2819960261

You will notice that it's possible to move the cursor much more slowly with the inner deadzone set to 0.6. This is working correctly. The scale goes from 0-100.

But if you set it to None, you are incapable of slower movements because the scale for None goes from 6-100 instead of 0-100.

Setting the Inner Deadzone to 0.6, is a good workaround, but there will be a difference from None. You're going to have a larger deadzone.

This is apparent by applying the lowest amount of force you can to the stick before the cursor starts to move. Cursor movement will stop when you switch to the action set with 0.6 deadzone. You have to push the stick farther to initiate cursor movement. This is to be expected as it has a larger inner deadzone than None.

Cursor movement should start sooner when set to None as it has a smaller deadzone. But once movement begins, the scale should start from 0.
< >
Showing 1-12 of 12 comments
Per page: 1530 50

Date Posted: May 23, 2022 @ 4:18pm
Posts: 12