🖱️ Local Control
Let you steer the computer's mouse, keyboard from any device's browser.
The server is written in pure Python with minimal dependencies and ships with a mobile-friendly frontend.
Features
- Mouse cursor movement and click controls from touch or mouse devices.
- Realtime input field streams keystrokes (including Backspace/Delete) as you type.
- OS-level lock, and shutdown shortcuts (best-effort across Windows, macOS, Linux).
- Authentication that reuses the current OS account credentials, remembers trusted devices, and rate-limits brute-force attempts.
- Build with GPT-5-Codex, easy to customize and modify with vibe coding.
Requirements
- Python 3.9 or newer.
- Desktop environments capable of receiving simulated input (X11/Wayland, Windows, or macOS).
- Linux/X11 hosts require the
libX11andlibXtstsystem libraries (commonly present on desktop distributions; Wayland sessions need XWayland support). - macOS hosts must grant the Python process accessibility permissions (System Settings → Privacy & Security → Accessibility).
Installation
pip install local_control
Usage
local-control --help
local-control --port 4001
Open http://<host-ip>:4001 from your phone, tablet, or another computer on the same LAN. Sign in with the current desktop user's username and password. Devices marked as trusted skip future logins under the same secret.
Metadata
Release files for local-control 0.1.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| local_control-0.1.5.tar.gz | 40.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| local_control-0.1.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 83.3 kB
Release files / local_control-0.1.5.tar.gz
| Download URL | local_control-0.1.5.tar.gz |
|---|---|
| Size | 40.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
16b08238f5d05c287ee7c9aebd5d67b1140994a391d30b9d1e65d8573036adb1
|
|
BLAKE2b-256 checksum How to use checksums |
4e4c90afe749d779a3c7ea35792605feb77a564c6f05476c5d8cbd2be368f74a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.7
|
Release files / local_control-0.1.5-py3-none-any.whl
| Download URL | local_control-0.1.5-py3-none-any.whl |
|---|---|
| Size | 42.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ce6bd1df73b7aa8a1b3f51a5f5d4f2a9e706d7083eab0bdc1e343268a35ee9d0
|
|
BLAKE2b-256 checksum How to use checksums |
43ddc6519d85a325aa852449a4499015e9d2c25d6e85d40e48ae3e53090d82d4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.7
|