Skip to content

Windows keyboard lock utility - block input when cats walk on your keyboard. Hotkey toggle, system tray, multi-monitor overlay.

License

Notifications You must be signed in to change notification settings

timothywarner-org/pawgate

 
 
PawGate Logo

PawGate

CI Release Coverage Author

PawGate is a simple utility designed to prevent accidental keyboard input, particularly when your feline friend decides to grace your workspace. Currently only supported on Windows.

Attribution

PawGate is a fork of CatLock by @richiehowelll. The original project provided the foundation for this utility. This fork adds documentation, testing infrastructure, CI/CD, and a rebrand while maintaining GPL v3 licensing as required.

If you appreciate the original work, please consider supporting the original author.

Features

  • Lock your keyboard with a hotkey (Ctrl+B by default)
  • Semi-transparent overlay shows keyboard is locked while you monitor your screen
  • Unlock by pressing the hotkey again
  • System tray menu for quick access to settings:
    • Adjust overlay opacity (5% to 90%)
    • Enable/disable lock notifications
  • Blocks all 256 keyboard scan codes plus multimedia keys
  • Single-instance enforcement (won't run multiple copies)

Installation

Option 1: Build Locally (Recommended)

Building locally avoids Windows SmartScreen warnings that can block downloaded executables.

Easy method - Just run the build script:

build.bat

Manual method:

pip install -r requirements.txt
pip install pyinstaller
pyinstaller --onefile --add-data="./resources/img/icon.ico;./resources/img/" --add-data="./resources/img/icon.png;./resources/img/" --add-data="./resources/config/config.json;./resources/config/" --icon="./resources/img/icon.ico" --hidden-import plyer.platforms.win.notification --noconsole --name="PawGate" "./src/main.py"

The executable will be in the dist/ folder.

Note: If Windows Defender flags your locally-built exe, add the dist folder to Windows Security exclusions.

Option 2: Download Pre-built Release

Pre-built executables are available on the Releases page. Note that Windows SmartScreen may warn about unsigned executables from the internet.

Caveats

  • Relies on https://github.com/boppreh/keyboard/ which only has full support for Windows
  • OS bound hotkeys take precedence such as ctrl+alt+del (this way you don't get locked out if something goes wrong)

Feature Backlog

Future enhancements planned for PawGate. Contributions welcome!

Tier 1: Automatic Cat Detection (The Dream)

Feature Description Status
Webcam cat detection Use YOLOv8 to detect cat approaching keyboard Planned
Auto-lock on detection Lock keyboard automatically when cat detected Planned
Configurable cooldown Prevent lock/unlock spam with cooldown timer Planned
Detection confidence threshold Adjust sensitivity to avoid false positives Planned
Screenshot on detection Capture photographic evidence of the culprit Planned

Tier 2: Quality of Life

Feature Description Status
Run on Windows startup Option to launch PawGate at login Planned
Lock on screen saver/sleep Auto-lock when user steps away Planned
Scheduled lock times "Lock 9am-5pm on weekdays" Planned
Quick-toggle global hotkey Enable/disable protection without menu Planned
Configurable unlock method Choose: hotkey only, click only, or both Planned

Tier 3: Fun & Engagement

Feature Description Status
Cat activity log "Fiona attempted 47 keypresses today" Planned
Statistics dashboard Charts of cat activity over time Planned
Custom sounds Play meow on detection (or deterrent sound) Planned
Desktop widget Show cat detection status at a glance Planned
Achievement system "Blocked 1000 cat keypresses!" Planned

Tier 4: PowerToys Integration (C# Port)

Feature Description Status
Native C# implementation Port to C# for PowerToys submission Planned
Windows 11 Settings UI Native settings page integration Planned
Keyboard Manager integration Remap keys while locked Planned
FancyZones awareness Lock specific screen zones Planned

Support the Original Author

PawGate builds on the work of @richiehowelll. If you find this utility helpful, consider supporting the original creator:

Tested by:

Fiona the Cat 🐱

About

Windows keyboard lock utility - block input when cats walk on your keyboard. Hotkey toggle, system tray, multi-monitor overlay.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 72.3%
  • Rust 26.2%
  • Batchfile 1.5%