It's not so much a driver, as a state machine. PS/2 protocol is pretty simple but time based. At idle, control/data line is held high, the keyboard sends data by pulling it down in a specific sequence. You just have to decode the down pulses.
You can do with with a state machine as logic w/ clock, or you can use a softcore processor and decode via software state machine. I recommend software on a microcontroller / softcore processor, since a pure hardware-only logic state machine would be crazy for the amount of different things coming from a keyboard.