Friendly keystroke logger?
June 27, 2005 7:49 PM   Subscribe

Can you help me find a usable, friendly keystroke logger for Windows that isn't creepware?

I can't find one for Windows. I'd prefer freeware, but I'm willing to pay a small amount of money, up to $20.

All of the keystroke loggers I've found are designed to be hidden from the user and are apparently for nefarious purposes like spying on people and surreptitiously stealing their passwords, or geared toward parents who want to spy on their children, or cheating spouses, or whatever. I'm not interested in that; I just want a friendly and simple keystroke logger that gives me a form of backup protection when applications crash and take with them all of my hard work when I've not saved recently. I can't deal with shady, creepy software, which is all that Google's turning up for me.

I want a visual indication that it's running with a systray icon. I don't want it to hide or be capable of being hidden, there's plenty of that creepy junk for sale. If someone else sits down at my computer in my absence, I want it to be obvious that I have a keystroke logger running. Maybe after a few minutes' inactivity, for the first couple hundred keystrokes, a systray popup tooltip pointing out that "a keystroke logger is running on this computer, click here to disable". That would be totally sweet and completely awesome. I don't want it to be aware of the network or capable of sending its log file anywhere. I just want it to hook the keyboard and record my keystroke activity for my use on the local machine ONLY.

I want to be able to right click on it and have it suck the contents of the clipboard into the log; that way if I've worked on a piece of text for a while in separate sessions but it's in a single textarea/textbox control, I can select all, copy, click the tray icon, and have the whole thing appear in the log at once as if I'd typed it on the spot.

I also want it to display the keystrokes it's logged, and I want it to be smart enough to group keystrokes by the window title that they were typed in. So in other words if I have a Scite code editing window, a word processor window, a cygwin bash shell and a browser window, and I've typed in all of them, it should know to group everything I've typed in each application's document together.

It should also have a "keystrokes playback" mode that "types" a given section of a keystroke log into an active window , because I have AllChars and I use it to enter symbols and accented characters by chord-composing them, Mac and Unix style. So to get é I type ctrl;e;' and to get ö I type ctrl;o;" and to get € I type ctrl;e;=. The ;s are short pauses, I didn't use notation like "ctrl-e-=" because you might think I was holding ctrl down. I do NOT want it to record or play back keystrokes where two or more keys are held down, like ctrl-tab, alt-tab, alt-space, alt-f4, ctrl-q, etc because I don't want it to trigger unexpected application behavior when it's playing the keystrokes back. The only exception to this is ctrl-v. I don't want it to record the ctrl-v itself, but I do want it to notice that I pasted text in, and I want it to append the pasted text to the log file.

It would be nice if it had an exclusion list by window title and logged everything else, or alternately, if it logged nothing except what's typed into specifically designated windows.

Bonus if it runs off a usb stick, so I can take it with me if I'm on the move.

Is there any chance of finding something that does even a tenth of this?
posted by evariste to Technology (3 answers total) 1 user marked this as a favorite
I think your best bet for such a piece of software is to pay a developer to write you it custom (or do it yourself if you're of the programming type). None of your requirements are too difficult to do, just unlikely to be found together.

Alternatively, check out this hardware logger which actually meets a handful of your requirements and is nicely portable + removeable.
posted by thebabelfish at 6:10 AM on June 28, 2005

Best answer: Just chiming in as a user of the keykatcher device mentioned above. I have one on my home PC. It has saved my ass a few times when I couldn't remember a previously typed password or when I lost a big chunk of entered text

Let's run down your checklist and see how the keycatcher measures up:

1. Friendly and simple: Well, I dunno what you define as friendly, but it is dead simple.

2. Visual Indication of running in Systray: NO. It's a hardware only device that sits between your keyboard and PC Keyboard port and records keyboard signals. There is no accompanying software that runs on the PC.

3. Announces presence after a certain period of time: NO. However, you could always stick a note near the screen to warn other users that a keyboard logger is active.

4. Unable to communicate via Network or transmit log: YES.

5. Right click and suck contents of selected text into log: NO

6. Display keystrokes logged: YES, but you have to ask it to "replay" the keystrokes it's logged in notepad or some other text editor. Depending on the amount of memory it has, this can take a long time (couple of minutes).

7. Group keystrokes by application window title: NO. It has no knowledge of what's "going on inside the PC". It's just recording keyboard signals.

8. Will type a subset of recorded keystrokes back into a window: NO. You can search for a string in the memory and it will return the line(s) the string appeared in. You can then copy/paste that into another application, but that's not the same it simulating "typing" the characters back.

9. Records chord composed characters: NO. It doesn't record control/alt/shift/Fkey/arrow key presses at ALL. If you type ctrl followed by e, it will only record "e". If you type shift+s, it will record "S". The only non-character key it will record is backspaces, which are displayed in the log as "< bs>"

10. When ctrl-v is pressed will record text contents of clipboard instead of the actual "ctrl+v" press: NO. It will simply record "v"

11. Option to exclude or include recording by window title: NO. Again, it has no way to determine what application text is being typed into. It only knows that keys are being pressed on the keyboard.

12. Runs off USB stick (and/or is portable). NO to USB, but otherwise is extremely portable; it's about the size of a tootsie roll.

Caveat - the keycatcher only works when it can sit between an external keyboard and a keyboard port. This would not work for a laptop, unless you were using an external keyboard.

Looking back, it looks like we got 3 out of your 12 criteria. (2 definite yes, 2 "half" yes). That's at least a tenth, I believe. ;-)
posted by de void at 7:01 AM on June 28, 2005

thebabelfish is right, the best way is to write one yourself (if you are the programming type), or get someone to do it for you.

In fact, I had some similiar needs recently, and wrote a simple keylogger, but it only does two things now:

a) Log keystrokes to a text file
b) Group keystrokes by the window title

The code is in VC++, and would be happy to share it. Email me if you need it.
posted by vjz at 7:46 AM on June 28, 2005

« Older Can Dogs have human painrelievers ?   |   identify this boot? advice on online boot shopping... Newer »
This thread is closed to new comments.