Skip to content

A Windows desktop application built with Tauri that tracks keyboard and mouse Actions Per Minute (APM) in real time, featuring a draggable in-game overlay, session statistics, shortcuts, and system tray support.

License

Notifications You must be signed in to change notification settings

LeSoviet/APM-Counter

Repository files navigation

APM Counter

APM Counter is a Windows desktop application that tracks Actions Per Minute (APM) by monitoring keyboard and mouse inputs. It provides real-time APM tracking with an overlay that can be displayed on top of games and other applications.

Features

  • Real-time APM tracking for keyboard and mouse actions
  • Minimal overlay that stays on top of games
  • Draggable overlay positioning
  • Global shortcuts for quick access (Ctrl+Shift+O to toggle overlay, Ctrl+R to reset)
  • Dark/light theme support
  • Session statistics and history tracking
  • System tray integration

Installation

Prerequisites

  • Windows 10 or later
  • Node.js (v16 or higher)
  • Rust toolchain

Development Setup

  1. Clone the repository:

    git clone <repository-url>
    cd APM-Counter
  2. Install dependencies:

    npm install
  3. Add the required Rust target:

    rustup target add x86_64-pc-windows-msvc
  4. Start the development server:

    npm run tauri dev

Building for Production

To build the application for production:

npm run tauri build

This will generate an MSI installer in src-tauri/target/release/bundle/msi/.

Usage

  1. Launch the application
  2. The main window shows detailed APM statistics
  3. Click "Show Overlay" or use Ctrl+Shift+O to display the game overlay
  4. Drag the overlay to position it where you want on screen
  5. Use Ctrl+R to reset statistics

Project Structure

APM-Counter/
├── src/                 # Frontend React code
│   ├── components/      # UI components
│   ├── contexts/        # React contexts
│   ├── App.tsx          # Main application component
│   ├── overlay.tsx      # Overlay component
│   └── main.tsx         # Entry point
├── src-tauri/           # Backend Rust code
│   ├── src/
│   │   └── main.rs      # Main Rust file
│   ├── Cargo.toml       # Rust dependencies
│   └── tauri.conf.json  # Tauri configuration
├── package.json         # Frontend dependencies
└── README.md            # This file

Technology Stack

  • Frontend: React + TypeScript + Vite
  • Backend: Rust (Tauri)
  • Styling: Tailwind CSS
  • Charts: Recharts
  • Build Tool: Tauri CLI

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Commit your changes
  4. Push to the branch
  5. Create a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Troubleshooting

Overlay not showing in games

If the overlay is not visible in fullscreen games:

  1. Try running the application as administrator
  2. Check if your game has overlay restrictions
  3. Try windowed or borderless windowed mode

Development server issues

If the development server fails to start:

  1. Ensure all prerequisites are installed
  2. Try clearing the cache: npm run tauri clean
  3. Check the console for specific error messages

About

A Windows desktop application built with Tauri that tracks keyboard and mouse Actions Per Minute (APM) in real time, featuring a draggable in-game overlay, session statistics, shortcuts, and system tray support.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published