In my opinion, yes. - There is a lot of things that should be initiated/done, before developing the keyboard driver, - or at least if you want to do it properly. You need to provide good and secure functions to transfer data from kernel space to user space, interrupt handling, and some nice functions to do I/O processing :).
Good luck,
Benjamin.


