first working driver for keyboard 2 version
code refactoring