Mouse and keyboard input heatmap visualizer and statistics
Project description
InputScope
Mouse and keyboard input heatmap visualizer and statistics.
Runs a tray program that logs mouse and keyboard input events to a local database, and provides a local web page for viewing statistics and heatmaps by day or month.
Details
Logs mouse clicks and scrolls and movement, and keyboard key presses and key combinations; event categories can be toggled off from tray menu.
Provides an option to record named sessions, allowing to group inputs with finer detail than one day.
Keypresses are logged as physical keys, ignoring Unicode mappings. Note: keyboard logging can interfere with remote control desktop, UI automation scripts, and sticky keys.
Non-standard keys can be added in configuration file, as:
CustomKeys = {numeric key code: "text label for key"}
e.g.
CustomKeys = {21: "IME Han/Yeong", 25: "IME Hanja"}
Data is kept in an SQLite database.
The local web page is viewable at http://localhost:8099/, port can be changed in configuration file.
Installation
Works best on Windows, tested on Linux, might work on Mac.
Windows: download and launch the latest release from http://github.com/suurjaak/InputScope/releases.
Or:
pip install inputscope
Three components in source code form:
- main - wxPython desktop tray program, runs listener and webui
- listener - logs mouse and keyboard input, can run individually
- webui - web frontend for statistics and heatmaps, can run individually
Listener and web-UI components can be run separately.
In source code form, data and configuration is kept under inputscope/var
.
The pip installation will add commands inputscope
, inputscope-listener
and inputscope-webui
to path.
Dependencies
- Python 2.7 or Python 3.5+
- bottle
- pynput
- pywin32 (optional, for toggling "Start with Windows")
- wxPython (optional)
If wxPython is not available, InputScope will not have its tray program, and will not recognize multi-monitor setups in mouse statistics.
Attribution
Heatmaps are drawn with heatmap.js, released under the MIT License, (c) 2014 Patrick Wied, http://www.patrick-wied.at/static/heatmapjs/.
Icon from Paomedia small-n-flat iconset, released under Creative Commons (Attribution 3.0 Unported), https://www.iconfinder.com/icons/285642/monitor_icon.
Keyboard image modified from Wikipedia File:ISO keyboard (105) QWERTY UK.svg
,
released under the GNU Free Documentation License,
http://en.wikipedia.org/wiki/File:ISO_keyboard_(105)_QWERTY_UK.svg.
License
Copyright (C) 2015 by Erki Suurjaak. Released as free open source software under the MIT License, see LICENSE.md.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Hashes for InputScope-1.6-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9998691b694704c0e31433b7a1259b4b4b432edfe86b64bf3485a8fdfd7f3398 |
|
MD5 | ca4704e1507e681715dc608fd7121ff7 |
|
BLAKE2b-256 | 73141c276dae812b09c9dbc91e78aba57ccabf7694ff76b055698e319714be03 |