I had this problem and fixed it. Here are some things to try:
# Find the large keyboard encoder chip at location '''D-14''' on the motherboard. It will say “'''AY-5-3600-PRO'''” on its label. Pull the chip out of its socket and push it back in a couple times. This will scrape through any potential corrosion that developed on the pins.
# If that doesn’t make a difference, use a multimeter to check the two prongs on each keyboard switch. They should be nearly 0 ohms when the key is pressed, and “OL” or open, otherwise. If any of the switches are letting some current through when they shouldn’t, or not enough when they should, this can trip-up the keyboard encoder. If you do have bad key switches, you’ll need to have soldering skills to remove them to clean or replace them.
# If there’s still a problem, the next thing to try will also require soldering skills. Replace the disc capacitors '''C70''' (47pf) and '''C71''' (22nf) at location '''E-14''', right under the chip.
# If that still doesn’t work, then the keyboard encoder chip is probably bad. You can replace it with parts: '''AY-5-3600-PRO''' or alternatively '''KR3600-PRO''' will work too.
When I had this problem, I replaced the keyboard encoder chip first and that didn’t solve the problem completely. For me it ended up being a combo of some of the key switches internally shorting out slightly, and bad C70 and C71 capacitors. Once I fixed those, the original keyboard encoder also worked just fine.