Circumvent the keyboard matrix limitation by injecting a diode to each key.



For a home-makers.

Shortly : it is impossible to remake your existing matrix keyboard from 2kro to a higher value or unlimited.
Now, in details.
To avoid short circuits between the controller outputs which are eventually done by the matrix, there are used diodes, by one diode at each output line of the controller.
Instead of connecting those diodes at each output, they could be connected at every key. An article which describes how this matrix looks like is on http://www.dribin.org/dave/keyboard/html/ and thus I don't need to show pictures of this idea here.
As it there is being said, but, don't go to a shop to buy diodes to begin fix that; with all my soldering experience (which is enough solid) I am saying - this is a bad idea; I have failed to solder a broken thin metal tracks (they probably are done of silver) - the layer dissolves in the alloy in a moment;
with much better success would be possible to assemble/get a vacuum pump plus a metallizer (so that could connect those diodes) than use a soldering iron.
I have succeeded with electrolysis of CuSO4 solution once though, but this is another case, - there was just a restoration of a single broken track, while here are necessary "keys_num * 2" (by 2 connection per key/diode) = 202 connections.
And more than this : even if you will succeed to recreate properly the keyboard matrix, the keyboard controller you have (ordinary it could be i8042 chip; the same chip as in a ps/2 controller of a computer, but with another, of own purpose, program) most probably will know all those combinations of pressed keys which are impossible to read in a matrix, and still will protect against them (it will send a special code into the computer that it would beep, plus it will not register the key it thinks it can't read).
If the keyboard matrix bug is a problem to you, then my advice : go into a shop where you can test a product before buy, or where a seller can test it, open the test html page and try it.
Another solution : buy the product you know it is free of this limitation.

For a manufacturers.

Yep, you might implement this.
I though wouldn't recommend it, but instead it would be better to use another solution which I mentioned in the main article.


Besides a theoretic model done of diodes, there also is a horrible theoretic tricky model with the matrix being shorten with resistors (of same value; on every key) instead of plain contacts/leads of low resistance, but it requires a special horribly advanced hardware and a horribly complicated algo to work, which of course will not be reliable (I promise :)).