Eric J. Fimbel - Software - home page
Copyright (C) 2006, 2011 Eric J.Fimbel. Contact : basicLabBook@gmail.com. See license terms at bottom
Tecnalia - Fatronik supports this open source software since January 2010
New features: show or hide icon on task bar.
Previous versions : bottom of page
Windows XP and further, 25 Mb disk space.
Note. Basic Key Logger is written in Python but it contains a local installation, i.e., it is standalone.
Basic Key Logger is a standalone key logger. It records mouse and keyboard from any application running in parallel.
Temporal resolution: 10-15ms (depends on CPU and active services)
Events storage: in memory during the recording (so that there is no disk access), written to disk at the end.
key log: input events, e.g., key press, key release, mouse move.
KPC log: operations, e.g., Key typing, Pointing movements, Clicks.
Operations are more concise than input events and they show clearly what a user is doing.
Size of log files: key log, typically 2,5k/second of recording; KPC log, 0.2k/s (depends on what you are doing).
Format of log files: TSV (tab-separated values). Can be opened in spreadsheets (Open Office, Excel(r) ) or in any text editor.
Left: key log. Right: KPC log. Click to enlarge
Additional features: external commands (suspend, resume, add tags, shutdown), configurable by means of configuration files and/or command line arguments, plus (optional): periodic disk write, daily shutdown, absolute or relative time stamps, show or hide icon on task bar...
Basic Key Logger is not a backup system. You cannot play back the logs.
Basic Key Logger is an evaluation tool for human-computer interaction.
Examples of analyses
From the KPC log: number of operations per task, execution time of operations, typing rates, length of pointing movements, pauses...
From the Key log: mouse trajectories, kinematics (velocity, acceleration, jerk ), density of mouse movements and mouse clicks in determined regions, etc.
Left: trajectory of mouse on screen (from key log). Right: amplitude of pointing movements(distance between endpoints vs. actual length of movement; from KPC log).
These results can be obtained directly in a spreadsheet. See another example:
Basic Key Logger is also a tool to build KPC models. A KPC model predicts the average execution time of a task from the number of operations employed by an expert user.
Installation and uninstallation
Installation: unzip the download in any directory.
Uninstallation: delete the installation directory.
Go to the installation directory and execute startkeyLogger.exe. There is now a blue led in the task bar that indicates recording
Do whatever you want (click click key key mouse move click click....).
To stop recording, click on the task bar icon (the led). The following window appears.
Click in the blue panel. The window disappears and the logs are created in subfolder data/
The parameters of the events are presented in the documentation
The operations of the KPC logs are:
The parameters of the operations are presented in the documentation
Each operation is generated from a sequence of events as follows
Table 1. Operations of Basic Key Logger and rules of conversion events-operations
Current version - v1. release 2011 03 01
For Python 2.4 and higher. Required installations: Python, Ctypes, PyWin32 and PyHook.
Python installer Python-2.4.4.msi (9 mb).
Higher versions and documentation at http://www.python.org
Ctypes for Python 2.4. installer ctypes-1.0.2.win32-py2.4.exe (165k)
(ctypes is included in higher versions). Documentation at sourceforge.net/projects/ctypes
PyWin32 installer PyWin32-210.win32-py2.4.exe ( 4 mb ).
Higher versions and documentation at sourceforge.net/projects/pywin32/
PyHook installer PyHook-1.4.win32-py2.4.exe ( 74 k ).
Higher versions and documentation at sourceforge.net/projects/pyhook/
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation version 2 of the License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
Open source software and icons included in this distribution
Python www.python.org license
Ctypes sourceforge.net/projects/ctypes MIT license
Pywin32 sourceforge.net/projects/pywin32 license
Pyhook sourceforge.net/projects/pyhook MIT license
Pygame www.pygame.org LGPL license
MouseRunner www.mouserunner.net Creative Common License