Definition
Keystroke logging is the practice of covertly recording input signals into a computer from a keyboard so that the computer user is not aware.
Keylogging can be accomplished by means of various methods - both software and hardware - ranging from low-level rootkits and operating system level API-based programs, to physical devices connected in-line with a keyboard’s connection to a computer and analysis of electromagnetic signals emitted by a target keyboard from up to 20 meters (66 feet) away.