2
$\begingroup$

I changed one laptop keyboard on the new one and while changing it I noticed that it has 30 line bus. enter image description here

But from my VLSI practice, I know that keyboard can use only 1 data line and 1 clock line (PS/2) or 2 data lines on (USB).

enter image description here

The question is why it has such number of lines? Is it because it doesn't have a microcontroller in it and it is presumably located on the motherboard? Please explain the structure in detail if you can.

$\endgroup$
2
$\begingroup$

The keyboard contains many switches (100 in my keyboard at this moment) and the simplest solution for a keyboard assembly that contains no decoding circuitry would be for each switch to have its own line going to the motherboard, plus one common ground. This is inefficient.

The simplest scheme to minimize the burden of all those wires in the interconnect would be for the key wires to be arranged into a square array of vertical and horizontal wires and a switch positioned wherever any two wires cross over one another. Pressing a key then connects a specific vertical line with a specific horizontal line and when the motherboard "sees" that connection occurring, it interprets it as a specific key press. This is called square matrix encoding and it allows a reduction in the number of address lines from N+1 to 2*(sqrt(N)) or, in this case, 20 lines.

However, a problem occurs if two keys are pressed simultaneously because then the motherboard "sees" four redundant possibilities instead of two and cannot tell which are real. This is called the phantom key problem and requires a more complex encoding scheme than a square matrix, which means more lines are required to resolve redundancies.

There are various schemes to eliminate redundancies like this and I do not know which was used by the manufacturer of your keyboard, but the result will be more than 20 lines.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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