Track and display mouse and keyboard information for different applications.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
core
debug
ext
gui
language
AppList.txt
LICENSE.md
README.md
applist_update.py
colours.txt
config-default.ini
debug_options.py
generate_images.py
load_gui.py
start_tracking.py
virtualenv.bat

README.md

Mouse Tracks

Current Status: I've now got a full time job, so development on this has slowed. I still definitely plan to finish it, just have the GUI and website to fully complete along with a few tweaks.

Track and display mouse movements/clicks over time. Old movements will get faded so it can be left running indefinitely.

This was made with the intention of recording mouse movements over multiple resolutions then merging them together. It is used by loading (and forgetting about) start_tracking.py, and using generate_images.py to create the images. All the calculations are done in a background process, so that the tracking part will be able to run constantly without any CPU heavy calculations interfering with it.

By default, the tracking area is limited to the application window, but with no application detected, all monitors will be used, and merged over each other.

Current Features:

  • Track position, clicks, key presses and gamepad usage over multiple resolutions and monitors
  • Generate colourful mouse tracks and a heatmap of clicks or key presses (for everything or just the latest session)
  • Generate an image sequence of the last few hours of use
  • Fade old mouse tracks to keep recent tracks more visible
  • Record and adjust resolution based on the currently focused window
  • Automatically keep separate tracks for different applications (defined in "AppList.txt")
  • Perodically update AppList.txt from the internet, keeping and sorting all the old values, and adding any new ones
  • Edit settings with a config file, or by using the web based API
  • Full Windows support
  • Some Linux support (WIP)
  • Some Mac support (WIP)

Example Output:

Colour Maps:
Chalk:
Citrus:
Demon:
Sunburst:
Ice:
Hazard:
Spiderman:
Sketch:
Lightning:
Razer:
BlackWidow:
Grape:
Neon:
Shroud:

Game Genres:
Twin Stick:
FPS:
RTS:
MOBA:

Requirements:

  • Python 2.7 or 3.6 (written and tested in 2.7, but support for 3.6)
  • Numpy
  • psutil
  • scipy (required to generate images)
  • Pillow (required to generate images)
  • Flask (optional - used for the API)
  • PyCrypto (optional - encrypt API messages)
  • pyglet - included in code

Requirements (Windows):

  • pywin32 (optional - used for the tray icon)
  • xinput (required for gamepad tracking in Windows) - included in code

Requirements (Linux) (WIP):

Requirements (Mac) (WIP):