Skip to content

FuseSyntax/Event_Tracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Event Tracker

Event Tracker is a desktop application built in Rust that monitors mouse and keyboard events and logs them into a CSV file. The project leverages Rust libraries such as rdev for capturing input events, csv for handling CSV file operations, and eframe/egui for the graphical user interface.

Demo Video

Demo GIF

Features

  • Event Tracking: Captures keyboard and mouse events in real-time.
  • CSV Logging: Writes event data along with timestamps to a CSV file (events.csv).
  • Desktop UI: A simple UI displaying a status message ("Tracking active") using eframe/egui.
  • Background Processing: Uses a background thread to ensure UI responsiveness while tracking events.

How it works

  • Event Capturing: The application spawns a background thread that listens to keyboard and mouse events using the rdev crate. Depending on the event type (e.g., key press, mouse move), the event is logged with a timestamp.

  • CSV File Logging: If the events.csv file does not exist, it is created and initialized with appropriate headers. Otherwise, new event data is appended to the file.

  • User Interface: A minimal GUI built with eframe and egui displays a simple message indicating that the event tracking is active.

Prerequisites

Before building the project, ensure that you have the following installed:

  • Rust Toolchain: You can install it via rustup.

  • Linux Dependencies: On Debian-based distributions (like Kali Linux), install the XCB development libraries:

    sudo apt-get install libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages