Skip to main content

Hook and simulate keyboard events on Windows and Linux

Project description

Take full control of your keyboard with this small Python library. Hook global events, register hotkeys, simulate key presses and much more.

  • Global event hook (captures keys regardless of focus).

  • Simulates key presses.

  • Complex hotkey support (e.g. Ctrl+Shift+A followed by Alt+Space) with controllable timeout.

  • Maps keys as they actually are in your layout, with full internationalization support (‘Ctrl+ç’).

  • Events automatically captured in separate thread, doesn’t block main program.

  • Pure Python, no C modules to be compiled.

  • Zero dependencies. Trivial to install and deploy.

  • Works with Windows and Linux (if you have a Mac, pull requests are welcome).

  • Python 2 and Python 3.

  • Tested and documented.

  • Doesn’t break accented dead keys (I’m looking at you, pyHook)

  • Mouse support coming soon.

Example:

import keyboard

# Press PAGE UP then PAGE DOWN to type "foobar".
keyboard.add_hotkey('page up, page down', lambda: keyboard.write('foobar'))

# Blocks until you press esc.
wait('esc')

This program makes no attempt to hide itself, so don’t use it for keyloggers.

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

keyboard-0.6.8.zip (20.7 kB view details)

Uploaded Source

Built Distributions

keyboard-0.6.8.win-amd64.zip (48.1 kB view details)

Uploaded Source

keyboard-0.6.8-py2.py3-none-any.whl (18.7 kB view details)

Uploaded Python 2Python 3

File details

Details for the file keyboard-0.6.8.zip.

File metadata

  • Download URL: keyboard-0.6.8.zip
  • Upload date:
  • Size: 20.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for keyboard-0.6.8.zip
Algorithm Hash digest
SHA256 e7e44a73561c0f337bf144c8e233553a1217bd17253fa247ea00bb9148dd447a
MD5 dd271f496110c51b754fc798ec55f7a9
BLAKE2b-256 28ef8eca1d61d4280a50771d2581d8a82a1978f40b5d90499e2eb46575ca1368

See more details on using hashes here.

File details

Details for the file keyboard-0.6.8.win-amd64.zip.

File metadata

File hashes

Hashes for keyboard-0.6.8.win-amd64.zip
Algorithm Hash digest
SHA256 e947578bce911b8b966373701b42fb4525a50d3861be256799426d24cbc26112
MD5 6bc378565673516abada41a383bc7f35
BLAKE2b-256 8eaf49253c2a9cfb0c698718e93fb3665f6418af89b5d7158d7441226a6be18b

See more details on using hashes here.

File details

Details for the file keyboard-0.6.8-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for keyboard-0.6.8-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 a88f5ca760245f91407704d1f1a6c48cad1e716257f30116e8aa51deeb8f875d
MD5 0b3f1ff31b9a6021426339b1733ab0a3
BLAKE2b-256 a247c0e6ea336ca0800d871b4ddbff609f7d8658e975ccca461867fdca94b764

See more details on using hashes here.

Supported by

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