PyDirectInput
Python mouse and keyboard input automation for Windows using Direct Input.
Decision gist · record as of 2026-08-14
Yes, but with caution. Install if you need DirectInput-based input automation for a Windows game or DirectX application where PyAutoGUI doesn't work, and you are comfortable maintaining the code yourself. The permissive MIT license and low install friction are positives. However, the abandoned status (no releases since 2021, last commit 2023) means no bug fixes, security updates, or compatibility work—you are on your own if issues arise with newer Windows or Python versions.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Windows only; requires Python 3.4 or later.
- DirectInput and SendInput are Windows-specific APIs, so this package will not work on macOS or Linux.
- Low install friction with no runtime dependencies.
License · maintenance · safety
permissive license (permissive) — MIT license (permissive) means you can use, modify, and distribute the package freely with minimal restrictions, though you must include the license notice.
last release 2021-02-02 (2019 days) · last repo commit 2023-07-04 · 585 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 108,635 downloads/mo, #12,548 on PyPI
Alternatives
Verify before relying
pip install pydirectinput
import pydirectinput
pydirectinput.moveTo(100, 150)
pydirectinput.click()
pydirectinput.press('esc')- Whether the package works reliably with current Windows versions and modern Python 3.x releases, given the 2021 release date and 2023 last commit.
- Compatibility with recent DirectX versions and whether DirectInput scan codes remain stable across Windows updates.
- Whether pull requests are actually accepted and reviewed, despite the abandoned maintenance status.
What it is and what it does
PyDirectInput provides mouse and keyboard input automation for Windows by using DirectInput scan codes and the SendInput() win32 function instead of the older Virtual Key Codes and deprecated mouse_event()/keybd_event() functions. This makes it suitable for automating input in applications that rely on DirectX, such as video games, where PyAutoGUI often fails. The package is designed as a drop-in replacement for PyAutoGUI's input functions—you can use both libraries together, substituting PyDirectInput only where PyAutoGUI doesn't work.
The library implements core input functions like moveTo(), click(), press(), keyDown(), keyUp(), and write(), but omits some PyAutoGUI features like scroll, drag, and hotkey functions. It has no external runtime dependencies and installs with low friction, but the project is abandoned: the last release was in February 2021 and the last commit in July 2023, so no maintenance or updates should be expected.
Use it for
- Automate mouse and keyboard input in video games or DirectX applications where PyAutoGUI fails to register inputs.
- Create bots or automation scripts for Windows games that require direct input simulation rather than virtual key codes.
- Test game UI or input handling by programmatically simulating player mouse clicks and key presses.
- Build automation tools for Windows applications that ignore standard input APIs and require DirectInput.
- Supplement PyAutoGUI with DirectInput-based input for specific applications while keeping PyAutoGUI for other tasks.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, but with caution.
Install if you need DirectInput-based input automation for a Windows game or DirectX application where PyAutoGUI doesn't work, and you are comfortable maintaining the code yourself. The permissive MIT license and low install friction are positives. However, the abandoned status (no releases since 2021, last commit 2023) means no bug fixes, security updates, or compatibility work—you are on your own if issues arise with newer Windows or Python versions.
Install
pydirectinput on PyPI
Before you install
Low install friction with no runtime dependencies. However, the package is abandoned—last release was 2021-02-02 and last commit 2023-07-04—so expect no maintenance, bug fixes, or compatibility updates for modern Python or Windows versions.
Windows only; requires Python 3.4 or later. DirectInput and SendInput are Windows-specific APIs, so this package will not work on macOS or Linux.
License in practice
MIT license (permissive) means you can use, modify, and distribute the package freely with minimal restrictions, though you must include the license notice.
Quickstart
pip install pydirectinput
import pydirectinput
pydirectinput.moveTo(100, 150)
pydirectinput.click()
pydirectinput.press('esc')
Verify before relying
- Whether the package works reliably with current Windows versions and modern Python 3.x releases, given the 2021 release date and 2023 last commit.
- Compatibility with recent DirectX versions and whether DirectInput scan codes remain stable across Windows updates.
- Whether pull requests are actually accepted and reviewed, despite the abandoned maintenance status.
Package facts
| License | permissive license permissive |
| Python support | Supports the current Python release >=3.4 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | None |
| Maintenance | Abandoned 2,019 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 108,635 / month, #12,548 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Intended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseOperating System :: Microsoft :: WindowsProgramming Language :: Python :: 3 |
Evidence: PyDirectInput-1.0.4-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “directinput input simulation”
- PyDirectInputAutomates mouse and keyboard input on Windows using DirectInput scan…
- pyocseAutomates simulation workflows for organic crystal mechanical…
- openfermionpyscfBridges OpenFermion quantum algorithm library with PySCF electronic…
Give your agent the search over MCP, or paste the wish link into any chat.
More Software Development packages
Provides backported and experimental type hints for Python 3.9+, allowing use of newer typing features on older Python versions and enabling early experimentation with type system PEPs before they enter the standard library.
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Distlib provides low-level packaging utilities for building, distributing, and managing Python software—including metadata handling, version specifiers, wheel support, script installation, and dependency resolution.
See also PyAutoGUI · pywinauto · PyAutoIt · inputs · keyboard · pynput · pynput-robocorp-fork · vncdotool · MouseInfo · pyglet