Driver keyboard

Rewrote the keyboard driver. Handles most things.