HaskeyLogger

About

This is a linux keylogger written in Haskell to practise bitwise IO. Simply sits reading an event file and outputting to stdout, according to a config file that converts from scancodes to output strings.

Download

Download Haskeylogger.tar.gz.

Usage

This is staggeringly simple. Once compiled, run the binary with both a pattern file (one for my keyboard included) and a source of event data (either the /dev/input file or a binary dump thereof):

$ ./sc config.keys event-log-test.bin 
<Enter><Esc>qwertyuiop<LCtrl><LCtrl>c
^C

Whack ^C to exit. To read device files you'll probably need root access, so break out the sudo for real fun.

Keymaps

If your keyboard is not the same as mine, either buy a new one or see if one of the other keylogger tools has produced a pattern file for you. I got mine from logkeys — below is what they have to say on keymaps.

Download

Here are convenience keymap files provided that you can use. Be aware that using the keymap that matches your keyboard layout doesn't necessarily mean that all keys are covered or that the characters match to those that you type in ¿ the keymap used by your system (loaded by loadkeys command for console, and setxkbmap command for X) may be set completely arbitrarily. In most cases, though, these should work fine.

(right-click "Save Target As...")

... (upload yours as a new issue)

You can easily create keymaps for your layout by taking one example and then modifying it with the help of keyboard layout tool by Microsoft.