Skip to main content

Keep Microsoft Teams status online by periodically jiggling the mouse via WSL PowerShell interop

Project description

keepmeawake

Keep your Microsoft Teams status active by periodically jiggling the mouse — runs from WSL using PowerShell interop.

How It Works

keepmeawake calls the Windows mouse_event API via PowerShell to move the mouse 1 pixel right and then 1 pixel left on a loop. This tiny, invisible movement is enough to prevent Teams (and Windows) from marking you as idle.

Requirements

  • WSL (Windows Subsystem for Linux) with Windows interop enabled
  • Python 3.12+
  • uv (recommended) or pip

WSL interop must be enabled so that powershell.exe is accessible from within WSL. This is the default, but if you've changed it, ensure /etc/wsl.conf contains:

[interop]
enabled = true

Installation

git clone https://github.com/<you>/keepmeawake.git
cd keepmeawake
uv pip install -e .

Usage

# Run with default settings (jiggle every 60 seconds)
uv run keepmeawake

# Jiggle every 30 seconds with verbose logging
uv run keepmeawake --interval 30 --verbose

Press Ctrl+C to stop.

Options

Flag Description
-i, --interval Seconds between each mouse jiggle (default: 60)
-v, --verbose Log each jiggle with a timestamp

Troubleshooting

powershell.exe not found on PATH You're either not running inside WSL, or WSL interop is disabled. Check /etc/wsl.conf and restart your WSL instance.

ModuleNotFoundError: No module named 'keepmeawake' The package isn't installed in your environment. Run uv pip install -e . to fix it.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

keepmeawake-0.1.0.tar.gz (3.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

keepmeawake-0.1.0-py3-none-any.whl (4.3 kB view details)

Uploaded Python 3

File details

Details for the file keepmeawake-0.1.0.tar.gz.

File metadata

  • Download URL: keepmeawake-0.1.0.tar.gz
  • Upload date:
  • Size: 3.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.9

File hashes

Hashes for keepmeawake-0.1.0.tar.gz
Algorithm Hash digest
SHA256 d6b5827046ca19d1b76fcc2a9a90af5d100c399ad0fab2567ea928271bee0648
MD5 8a4cca1924bce180e90d322a64aae36b
BLAKE2b-256 6e6501e9eeb5ee12a23175182fcc444fa99347960afe702e84f7adf0f891cfef

See more details on using hashes here.

File details

Details for the file keepmeawake-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: keepmeawake-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 4.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.9

File hashes

Hashes for keepmeawake-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2548d16cd3b2fd248e38410ddc011fa43b7602ce74ec3a1da580b6f139fbb6a1
MD5 2c3662df148e9f1fed1c276185a6aba4
BLAKE2b-256 9c37911a4f18fbf77d0b055168ed610961a91949f92836cf114e4ac57a9bd5d7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page