skillfed

pynput-robocorp-fork

Monitor and control user input devices

pynput-robocorp-fork v5.0.0 339.9K downloads/30d#7,417 on PyPI7
Copyleft license LGPLv3 Abandoned released

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-fork

uv

uv add pynput-robocorp-fork

poetry

poetry add pynput-robocorp-fork

Installing 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

Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)Operating System :: MacOS :: MacOS XOperating System :: Microsoft :: Windows :: Windows NT/2000Operating System :: POSIXProgramming Language :: PythonProgramming Language :: Python :: 2.7Programming Language :: Python :: 3.4Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Software Development :: Libraries :: Python ModulesTopic :: System :: Monitoring

Tags

mouse control and monitoringkeyboard input controlsimulate mouse clickslisten for keyboard eventsautomate user inputcross-platform input controlmouse listener threading
input-automationcross-platformabandoned

More Python Modules packages