c++ integration ifdefs + more keyboard driver tolerance

1. added extern-C guards for integration in c++ projects
2. added more tolerance to the keyboard driver (some keyboards report undefined but work just as they should)