Thanks. This PDF is very useful but I don't understand something about Figure 1 in pg3 - why do I need a data and inverted data and clock and inverted clock?You could implement the shift register in software. I looked up the specification for "PS2 keyboard protocol" and found this link. You may find this link easier to follow than the video but the video gives you a good understanding of what is required by using hardware to do the serial to parallel conversion. I think you could also use the built in UART on the microcontroller to do the serial to parallel conversion. I have never tried to interface to a PS2 keyboard myself but I think the video and the link would be enough information to get me started.