Keyboard driver improvements

Punctuation marks and most symbols recognized.
TODO: error detection (what do you mean?)