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.5.tar.gz (13.9 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

keyboard-0.6.5.linux-x86_64.zip (48.0 kB view details)

Uploaded Source

keyboard-0.6.5-py2.py3-none-any.whl (20.6 kB view details)

Uploaded Python 2Python 3

File details

Details for the file keyboard-0.6.5.tar.gz.

File metadata

  • Download URL: keyboard-0.6.5.tar.gz
  • Upload date:
  • Size: 13.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for keyboard-0.6.5.tar.gz
Algorithm Hash digest
SHA256 a4cc3bed64d30b1b213b3268aeca7b1683d85ed36477b5fbb4a50cf934293ead
MD5 96664b10ffb113ca3c824793b3fff46d
BLAKE2b-256 8f0bbf66590de586f3e9ee7c48bf495c4cc21762aec6aa9afd8c286c56a834ea

See more details on using hashes here.

File details

Details for the file keyboard-0.6.5.linux-x86_64.zip.

File metadata

File hashes

Hashes for keyboard-0.6.5.linux-x86_64.zip
Algorithm Hash digest
SHA256 5734bb9fb1304faacaa517678bdedfa7e4b2e7d7c2a89c7bfbbb38083ff30c40
MD5 669767d20890e73ff727a0c50eddde07
BLAKE2b-256 125a582e47dfbfce1214e638bb9654a5a25d9f953ca9e151f8b0e0f6347dedb1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for keyboard-0.6.5-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 d3a18b1f61179813795e0e369c0daea47542c905db61b7ece7cf246899ff3f18
MD5 ab98c8d288d1cbc1c247516d65fb7a6d
BLAKE2b-256 66b6aa98ba52605de767f5d36cd9414cb1d1bcda39025dc007fe98fa93d74728

See more details on using hashes here.

Supported by

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