fixmint

Controller stick drifting? How to test each input before you blame it

· 4 min read

A controller stick that drifts reports a value away from center when you let go of it. To check it, open the gamepad test, press any button to connect the controller, release both sticks and watch the drift warning. Drift usually comes from wear in the stick's sensor. A browser can show it but cannot repair it. The checks below separate a real fault from a game setting or a connection problem.

Gamepad testIs my controller working?Open

How a browser reads a controller

Browsers read game controllers through the Gamepad API. Each button reports whether it is pressed and a value from 0 to 1. Each analogue axis reports a value from −1 to 1. For a stick, the first axis is left and right, and the second is up and down. A resting stick should report values close to zero.

Browsers hide a controller until one of its buttons is pressed. This is a rule of the API, and it is why the test asks for a press before anything appears. Once connected, the readings update many times a second while the page is in front.

Most controllers use a standard layout. The standard names follow the Xbox layout: A, B, X and Y for the face buttons, and buttons 6 and 7 for the triggers. On a PlayStation pad the same positions are Cross, Circle, Square and Triangle. Some third-party controllers report a non-standard layout, so their buttons may be numbered differently and the drawing will not match them.

What drift looks like

Drift is a steady offset when the stick is released. The stick might read 0.20 to one side and stay there, so a character walks slowly on its own or a camera turns. A little noise is normal, because sensors are never perfectly still. The test warns when a stick at rest reads more than 0.1 of its range and stays there for about a second.

The warning is a heuristic. A stick held deliberately off center for a second also looks resting, so let go before you judge it. A stick that returns to center each time is not drifting. A stick that stops at the same offset each time is.

Test each input in order

Test in this order, so each step narrows the cause.

  1. Connect the controller. Press a button and check that the controller's name and mapping appear. If nothing appears, the browser cannot see the controller. Check the connection, then try another browser.
  2. Press every button. Each one should light up on the drawing, and the table should show Yes with a value near 1.000 while it is held. A button that never lights is dead, or it is not sending a signal.
  3. Pull each trigger. The trigger should fill from the bottom as you pull it, and the value should rise smoothly from 0 to 1.
  4. Move each stick to the edges. The dot should follow the stick to the rim of its circle. A stick that stops short of the rim, or jumps, has a problem.
  5. Let go and watch. Release both sticks and leave them alone. Each stick should read Centered.
  6. Press the stick clicks. Pressing a stick in should light L3 or R3 on the drawing.

What causes drift

Many sticks measure position with a potentiometer, a resistive track that a wiper moves across. Over many thousands of movements the track and the wiper wear, and the reading can drift or jump. Other sticks use Hall-effect sensors, which read the position of a magnet without a contact track. They have no track to wear, but they still need calibration in some cases.

Dust, sweat and worn grips do not cause drift on their own, although they can make a stick feel stiff or catch. Opening a controller can void its warranty, so check that first, and only do it if you know how the parts fit together.

What to try before you replace it

  • Calibrate in the operating system. On Windows, search for "Set up USB game controllers" and use the calibration page to recentre the sticks. macOS has no equivalent built-in page for most controllers, so use the manufacturer's software if it has one.
  • Check the game. Many games have a dead zone setting for sticks. A larger dead zone hides a small drift in play. It does not repair the sensor.
  • Test on another computer or cable. Drift that shows on two machines points to the controller. Drift that appears in only one app points to that app's controller support.
  • Check the warranty. A stick that drifts within the warranty is a repair or replacement case. A worn sensor does not recover with use.

Buttons and sticks fail in different ways. A dead button is usually a switch under the pad, and a sticky one can sometimes be cleaned. A drifting stick is usually a sensor. Test the two separately so you do not mix them up.

Vibration and battery

Vibration is a separate feature. The test enables its button only when the browser exposes a vibration actuator for the controller. When the button is greyed out, that controller or browser does not offer vibration here. It is not in itself a fault.

Low battery can cause odd readings on wireless controllers. Charge the controller fully and test again before you judge the sticks.

Quick answers

Why does my controller not show up in the test?

Press a button on it. Browsers report a controller only after a press, so an idle controller stays hidden.

Is a little drift normal?

Some noise is normal. A steady offset that does not return to center is drift.

Can the test fix drift?

No. It shows the reading. Calibration in the operating system or the manufacturer's tool can compensate for some offsets, but a worn sensor needs repair or replacement.

Cover of HARDWARE THEORYHARDWARE THEORY

Twenty years of computing hardware explained: cores, clocks, memory and storage, and why your devices behave the way they do.

$4.99 Get it on Gumroad →