Keyboard problems: I spilled a cup of coffee into my reconditioned IBM model M last year.
Dismantle it, take out the circuit board, wash well with unscented dish soap. Use pure water and a soft toothbrush to wash the circuit board. Use a blowdrier (preferably with as little heat as possible) to blow dry. Put a few leftover silica packets (used to keep moisture out of parts when shipping) near the chips, to make sure the chips are really dry. Reassemble the next day.
If the circuit board is shot, get a Teensy (pjrc.com/teensy, costs $16 to $24) or a Minimus AVR USB (ck3.co.uk/minimus-avr-usb-development-board.html, £4.95) and wire the keyboard matrix to it's I/O pins, bypassing the circuit board. The larger Teensy++ would be easier to use, since it has 46 I/O pins; on the smaller one and the Minimus you'll need to arrange the connections to a 10x11 matrix. Expect to Dremel out the unnecessary traces and maybe parts of the circuit board. Scanning and debounce will be done on the AVR. All are obviously small enough to fit inside the keyboard chassis, and they all have a native USB interface. Writing a simple keyboard HID firmware is an exercise in C using gcc-avr. After the thing works, add a couple of layers of waterproof coating to the insides to protect against future spills.
Keyboards suck. I still haven't found one I really like, and I have to dismantle and wash their insides once or twice each year to keep them working at peak condition.
I wish I knew somebody who could etch/pattern some indium tin oxide conductors on clear acrylic for me, so I could build myself a transparent keyboard based on mutual capacitance. (Touch is not enough, I need to detect changes in proximity; I want to be able to rest my hands on it while I'm typing. A microphone takes care of detecting actual taps.)