This question already has an answer here:

How do the buttons (like A, B, X, Y, and D-Pad) on game pads (such as the Xbox controller) interact with the PCB? If my question sounds vague, refer to the pictures below:

gamepad PCB

Are A/B the same as C/D? In game, the D-Pad (left) shows up as "Axis", while the buttons (right) just show up as "button".

What are A/B/C/D called, and what are they made of? It all looks and feels like rubber, but if that were the case then it wouldn't have any effect on the electrical properties of the PCB in that area (right?).

How does the logic of A/B and C/D work? How does B pressing on A (or D pressing on C) send a signal to the computer saying "button X has been pressed"/"D-Pad UP has been pressed"?

For reference, I know how a push-button works; it makes and breaks physical connections, which in turn impedes or allows electrical current to flow. But I can't see how that happens in this picture.

Also, here's a picture of the other side of the PCB (it might help).

enter image description here

marked as duplicate by Ignacio Vazquez-Abrams, brhans, Daniel Grillo, pipe, Bence Kaulics Oct 11 '16 at 9:58

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

  • 7
    I believe the answer is the same as this: electronics.stackexchange.com/questions/177196/… Those black circles inside the rubber/silicone are conductive and bridges the gaps on the PCB when pressed down onto the board. – DigitalNinja Oct 6 '16 at 23:33
  • 1
    To answer your other question about the logic (how the system knows which button has been pressed); U1, which is covered up, is probably the controller. – DigitalNinja Oct 6 '16 at 23:52
  • @DigitalNinja That makes mush more sense. Thank You! – Max Jacob Oct 7 '16 at 0:24
up vote 2 down vote accepted
  • using carbon conductive polymer material contact with a conductive carbon print, you get a reliable switch useful for many operations (100k)
  • consider that a 10k switch can be acceptable for a logic interface with a 100k pullup .

  • implementation values can vary widely with pullup up to 1M practical, but more sensitive to stray fields.

Not the answer you're looking for? Browse other questions tagged or ask your own question.