Skip to content

Latest commit

 

History

History
98 lines (72 loc) · 3.15 KB

File metadata and controls

98 lines (72 loc) · 3.15 KB

Python Caps Lock Indicator

License: MIT Python 3.6+ PyQt5 Platform

A lightweight PyQt5-based visual indicator that displays real-time status of Caps Lock, Num Lock, and Scroll Lock keys on Windows systems. Features a modern translucent overlay with color-coded display and configurable auto-hide functionality.

Quick Start

# Clone and run
git clone https://github.com/ZacharyArthur/pythonCapsIndicator.git
cd pythonCapsIndicator
pip install -r requirements.txt
python caps_indicator.py

Features

  • Real-time monitoring of Caps Lock, Num Lock, and Scroll Lock states
  • Modern, translucent overlay window with color-coded display
  • Auto-hide functionality (configurable timeout)
  • Always-on-top display
  • Frameless, centered window design
  • Command line argument support for easy configuration
  • Cross-platform compatibility (optimized for Windows)

Installation

Prerequisites

  • Windows operating system
  • Python 3.6+

Setup

# Clone the repository
git clone https://github.com/ZacharyArthur/pythonCapsIndicator.git
cd pythonCapsIndicator

# Create and activate virtual environment (recommended)
python -m venv venv
venv\Scripts\activate  # Windows
# source venv/bin/activate  # Linux/macOS

# Install dependencies
pip install -r requirements.txt

Usage

Basic Usage

python caps_indicator.py

The application runs in the background and displays a translucent indicator whenever you toggle lock keys. The indicator shows status in the format: "CAPS: ON | NUM: OFF | SCROLL: OFF"

Command Line Options

python caps_indicator.py --help
Option Description Default
--hide-time Display duration in milliseconds 1500
--polling-rate Key state check interval in milliseconds 250

Examples

# Extended display with faster polling
python caps_indicator.py --hide-time 3000 --polling-rate 100

# Quick display
python caps_indicator.py --hide-time 1000

Technical Notes

  • Platform: Windows-optimized using ctypes for Windows API access
  • Performance: Configurable polling (default 250ms) for responsive updates
  • Display: Color-coded translucent overlay with auto-hide functionality
  • Compatibility: Graceful handling of non-Windows platforms

Limitations

  • Primary support for Windows systems
  • Requires GUI environment (not suitable for headless systems)

Contributing

Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.

License

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

Note: This application uses PyQt5 (GPL v3). For commercial distribution, consider PyQt5's commercial licensing options.