There are various commercial hardware keyloggers from KeeLog (feel free to check their page) but they are releasing their older but still fully functional PS/2 keylogger design as a open source. There is source code for microcontroller too! Check it!

Hardware keylogger are good, they don’t leave footprint in the operating system, don’t use system resources and can’t be detected by software… But you still must physically access them to retrieve logged data.
There are wireless keyloggers too, and here is one of them Wireless Keylogger - Do It Yourself!
3dd0c084-50ae-4e6d-97d1-1b2d49154180|3|4.0