I am building a new OS as a learning experience, and after trudging through intel architecture manuals and osdever tutorials I still have no idea how to write a keyboard device driver- using BIOS calls and interrupts is outdated and I have no idea how to directly interface the keyboard or know when someone has typed something-how do I begin writing a device driver and where can I go to get help on it?

Also, I am aware that in out ports to 60h are how to access the keyboard, but I have no idea how to handle int 09h (keyboard hardware interrupt which is called when a key is pressed/released) and polling to see if the keyboard buffer is non-empty is horribly slow and inefficient