So, I got a mechanical keyboard (Ajazz AK33) which had a problem since the start: a row of keys was either unresponsive or typing on its own; after reconnecting it a few times and restating my PC it started working fine, and it did for about three days.
Then I desoldered all the mechanical switches and LEDs, and soldered some other switches in. While the soldering/desoldering process was a bit rough, I don't believe I damaged anything on the PCB. Now, after reconnecting it, the same row which didn't work the first time started not working again.
After some snooping around on the PCB with a multimeter, I figured out what might be the problem (or at least something is different on the non-working row compared to the others): the upper switch contact of every key in the non-working row is directly connected to ground on the mini USB connector.
Here is a picture of the PCB (click the picture for larger version):
(Original image here)
All the little red dots are connected to each other (which I believe is normal, since all of the working rows are connected the same way and the keys are read in a matrix by the microcontroller) and to the same pin on the microcontroller (also normal). However they are all directly connected to ground on the mini USB connector, the bigger red dot, which I believe is not normal since all other rows seem to be connected to ground through a diode (my multimeter gives me a ~.580 to ~.640 one way reading on diode/continuity mode).
This also means that the pin of the non-working row is directly connected to ground on the microcontroller, that can't be good, right?
Also, each diode seems to be connected from the cathode to ground, and the same thing happens in the non-working row: each key in the non-working row gives me a ~.580 to ~.640 one way reading if I measure it from cathode to ground. However, if I measure it from the upper contact of the switch to ground, it gives me a direct connection while all the other working rows give me the same ~.580 to ~.640 one way reading.
There seems to be some kind of connection to ground on the non-working row which should not be there; what would be the best way to identify it, and/or possibly get rid of it? I tried following the traces on the PCB, but they are not clear at all.
EDIT: I did some voltage testing while the board was on, measuring the voltage on the switches' contacts: the working keys stay at a ~2.15 V when not pressed and drop to 0.00 V when pressed. The non-working keys, on the other hand, stay at ~0.08 V when not pressed and drop to 0.00 V when pressed.