pynput-robocorp-fork
Monitor and control user input devices
What it is and what it does
pynput-robocorp-fork is a Robocorp-maintained fork of the pynput library that lets you control and monitor input devices—mouse and keyboard—from Python. It provides a Controller class to move the cursor, click buttons, scroll, and type text, plus a Listener class to capture mouse and keyboard events in real time. The library runs listeners in background threads and supports both blocking and non-blocking event collection.
The package depends on platform-specific backends: pyobjc frameworks on macOS, python-xlib on Linux, and native Windows APIs on Windows. It is classified as Production/Stable but has been abandoned since late 2022, with no recent commits or maintenance. The LGPLv3 license is copyleft, meaning any derivative work must remain under the same license.
Use it for:
- Automate repetitive UI tasks by controlling the mouse and keyboard programmatically across different operating systems.
- Build test automation frameworks that simulate user input for GUI testing without relying on platform-specific tools.
- Create accessibility tools or assistants that monitor and respond to user input events in real time.
- Develop robotic process automation (RPA) scripts that interact with legacy applications or web interfaces.
- Monitor user activity for logging, analytics, or security purposes by listening to keyboard and mouse events.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Controls and monitors mouse and keyboard input devices across Windows, macOS, and Linux, allowing you to programmatically move the cursor, click, type, and listen for keyboard and mouse events.
Yes, but with caution. The package is stable and has low install friction, but it is abandoned (last commit 2022-12-29) and depends on platform-specific libraries that may not be maintained. Use it if you need cross-platform input control and can accept the maintenance risk; otherwise, check whether the original pynput package or a more actively maintained alternative better suits your needs. The LGPLv3 license requires compliance review if used in proprietary code.
Install
pynput-robocorp-fork on PyPI
pip
pip install pynput-robocorp-forkuv
uv add pynput-robocorp-forkpoetry
poetry add pynput-robocorp-forkInstalling pynput-robocorp-fork
Before you install
Low install friction with a pure-Python wheel, but the package is abandoned as of 2022-12-29 with no recent maintenance. It depends on platform-specific libraries (pyobjc frameworks on macOS, python-xlib on Linux) that may require system development headers.
License in practice
Licensed under LGPLv3 (copyleft), which requires that derivative works and modifications remain under the same license; using this in proprietary software requires careful compliance review or linking through a compatible wrapper.
Quickstart
from pynput.mouse import Controller, Button
mouse = Controller()
mouse.position = (10, 20)
mouse.click(Button.left, 2)
from pynput.keyboard import Controller as KbController
keyboard = KbController()
keyboard.type('Hello World')
On macOS, requires pyobjc frameworks; on Linux, requires python-xlib and X11 development headers; on Windows, may require DPI awareness setup for consistent coordinates with system scaling.
Verify before relying
- Whether the Robocorp fork has diverged significantly from the original pynput in functionality or compatibility.
- Current status of platform-specific dependencies (pyobjc, python-xlib) and their compatibility with modern Python versions.
- Whether this fork is actively maintained or if the original pynput package should be preferred instead.
Package facts
| License | LGPLv3 (copyleft) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 6 — six, python-xlib, enum34, pyobjc-framework-ApplicationServices, pyobjc-framework-Quartz, pyobjc-core |
| Maintenance | abandoned — 1,324 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 339,949/month — #7,417 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pynput_robocorp_fork-5.0.0-py2.py3-none-any.whl
Keywords: control mouse, mouse input, control keyboard, keyboard input
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
pynputPynput lets you programmatically control and…
copyleft · top 5,000 on PyPI
sshkeyboardCaptures keyboard input via callbacks in SSH…
permissive · top 15,000 on PyPI
inputsProvides cross-platform Python access to…
permissive · top 15,000 on PyPI
keyboardHook global keyboard events, register hotkeys,…
permissive · top 5,000 on PyPI
PyAutoGUIPyAutoGUI programmatically controls the mouse…
permissive · top 5,000 on PyPI
evdevProvides Python bindings to Linux's evdev and…
permissive · top 5,000 on PyPI
PyDirectInputAutomates mouse and keyboard input on Windows…
permissive · top 15,000 on PyPI
MouseInfoMouseInfo displays the XY coordinates and RGB…
copyleft · top 5,000 on PyPI
ipyeventsipyevents provides a Jupyter widget that…
permissive · top 15,000 on PyPI
pywinautoAutomate Microsoft Windows GUI interactions by…
permissive · top 5,000 on PyPI