Skip to content

Track and display mouse and keyboard information for different applications.

License

Notifications You must be signed in to change notification settings

huntfx/MouseTracks

Repository files navigation

MouseTracks

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 Status

I'm actively working on 2.0 now, and will make a release on Github once it's ready.

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

These are the requirements for 1.0. This section will be removed later in favour of using requirements.txt.

  • 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

Windows

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

Linux (WIP)

Mac (WIP)

Icon

I didn't have any plan of what it might look like, so I gave a vague prompt to Copilot to see what would happen.

Can you generate me an icon for my mousetracks app? It records clicks, cursor movement, keyboard presses, gamepad data, etc.

This was the first result, my partner loved it and I think it captures the essence of the application really well.

About

Track and display mouse and keyboard information for different applications.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •