D-pad Construction
- Some D-pad construction methods:
- Membrane contact switches (most D-pads). These have traces on the PCB which are connected by a carbon pad when it is pushed into the PCB.
- Some sort of force sensitive resistor (HORI octo).
- Tactile dome switch (Series X|S)
- Micro switches (Razer products and others)
- D-pads need some way to return to center, and this is often done using the membrane itself as a spring.
This is what a membrane D-pad looks like in the resting state:

When you push an edge as intended, it fulcrums not at the center point, but on the opposite edge of the controller shell. This means the D-pad itself is only pushed into the controller.

When you mash the center, the "SOCD" knob in the center prevents it from activating all of the directions. This knob does not need to touch the bottom at all for regular operation.

In order for this to work as intended, the "SOCD" knob in the center must be longer than the membrane distance and short enough that the D-pad can fulcrum correctly on the opposite side. If this wears out you might end up with unintended simultaneous presses. - Floating D-pads fundamentally work the same, except the D-pad is divided into two parts, so the fulcrum point is closer to the center of the D-pad. This makes them feel a little bit more like joysticks.
- There must always be some dead space above the switches or they will have too many accidental triggers.
- The Xbox Series X|S controller uses an actual pivot point in the center. There is a disc-like spring that pushes down on the D-pad shell to keep it level, because the tactile dome switch is very short and cannot also be the D-pad center spring like with the membrance contact switch. The opposite edge actually does raise up when you press the D-pad. Any D-pad with microswitches would probably benefit from this design.
- The shape of the D-pad itself makes a big difference on how inputs feel. A diagonal requires activating two switches. A cross shape requires you to press up and down explicitly. A disc like input will make diagonals easier but make it harder to know where cardinal directions are. A hybrid shape like the Saturn/M30/Series X|S seems to be the best for me as I don't like thinking when doing inputs.
- Some complaints about D-pad shells "wiggling" because of large tolerances in the design (DualSense) should have no impact on accuracy as the shell itself is unrelated to the contact points. These shells are usually floating and could spin freely if not for notches or other design features to keep the directions aligned.
- Diagonals always have input issues because the D-pad has to be pushed further for both cardinal directions to trigger. The D-pad sensitivity zone looks something like this:

The red zone is the cardinal direction trigger area and the blue is where diagonals would be activated if you pushed it down that much in that direction. If you were to 'draw' this green arrow with your thumb it would miss the diagonal zone.
A motion input "circle" motion is actually more of a "square" as a result. Sticks also have this same trigger zone and square gates match this reality more.
The Paradise Arcade 'Magenta' analog to digital joystick can fix this issue, but it would be interesting to see analog D-pads that do the same thing.
There are a lot of factors that go into making a good fighting game D-pad and it's not surprising that many fail in some way. It is more like a tuning an instrument than hitting a checklist of features.
- If it's too sensitive unintentional diagonals will come out, and if it's not sensitive enough they are missed.
- The shape of the D-pad needs to have clear cardinal direction markers but also make it easy to press diagonals.
- There needs to be tactile feedback so you can feel a successful input.
USB Poll Rates
USB operates via polling, which means the USB host (your computer) asks the device what the current state is during fixed intervals. The desired polling rate is requested by the device in millisecond increments, and can go down to 1, meaning 1000 hz polling rate.
The poll rate for the Xbox 360 gamepad is 8 ms, which has been reduced to 4 ms on the Xbox One and Series X|S. Devices that use the Xbox Controller driver (and the majority of them with xinput mode do) copy the poll rate as well for maximum compatibility, but the USB driver seems to still work if devices request it to be higher. Older devices with xinput compatibility may still be using an 8 ms poll rate.
The poll rate does not divide evenly into the frame time. If you were to press a button exactly every 1/60th of a second (16.666 ms) it can only be represented as 4 or 5 USB frames, which is 16 or 20 ms. This means that it is possible for a game to miss a 16 ms input if it falls between the sampling times.
In order to have reliable inputs with a 4 ms poll rate, you must take at least 20 ms between presses, which means in-game you have a 24% chance of an input being two frames. With a 1 ms poll rate you must take 17 ms between presses and you then have a 6% chance of an input being two game frames. In practice this affects things like missed diagonals and cardinal directions when going too fast. A higher poll rate will give you more reliable inputs.
The polling rate introduces unpredictable latency up to that poll rate. If you pressed a button in the beginning of a 4 ms frame you have 4 ms of lag, but if you pressed it at the end, you have 0 ms lag. So a controller will will average to half of this poll rate, and a 1 ms poll rate meaning 0.5 ms latency.
There may be additional latency on top of this poll rate, the controller also operates at a fixed frequency. Many USB devices (like Pro Micros) use a separate USB controller chip which has a small buffer on it. This means it returns ready data immediately when the USB host asks for it. But this also means there is additional lag based on the update rate of the controller. If it operates at 1000 hz the exact same logic applies, with it adding an extra 0.5 ms average latency.
For a while I thought polling rate might have something to do with frame perfect inputs (e.g. Tekken Electrics, SF links, or just timing an input via spacing) but it turns out the math all cancels out. If you are 5 ms off you will have a 30% chance of dropping no matter the polling rate.
Device RecommendationsBack to Home
2024 MotionInputs.com