Hook and simulate keyboard events on Windows and Linux
Take full control of your keyboard with this small Python library. Hook global events, register hotkeys, simulate key presses and much more.
API docs: https://github.com/boppreh/keyboard#api
- Global event hook on all keyboards (captures keys regardless of focus).
- Listen and sends keyboard events.
- Works with Windows and Linux (requires sudo).
- Pure Python, no C modules to be compiled.
- Zero dependencies. Trivial to install and deploy, just copy the files.
- Python 2 and 3.
- Complex hotkey support (e.g. Ctrl+Shift+M, Ctrl+Space) with controllable timeout.
- Includes high level API (e.g. `record <#keyboard.record>`__ and `play <#keyboard.play>`__, `add_abbreviation <#keyboard.add_abbreviation>`__.
- Maps keys as they actually are in your layout, with full internationalization support (e.g. Ctrl+ç).
- Events automatically captured in separate thread, doesn’t block main program.
- Tested and documented.
- Doesn’t break accented dead keys (I’m looking at you, pyHook).
- Mouse support coming soon.
import keyboard # Press PAGE UP then PAGE DOWN to type "foobar". keyboard.add_hotkey('page up, page down', lambda: keyboard.write('foobar')) keyboard.press_and_release('shift+s, space') # Blocks until you press esc. keyboard.wait('esc')
This program makes no attempt to hide itself, so don’t use it for keyloggers.
Release history Release notifications
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size keyboard-0.9.3-py2.py3-none-any.whl (42.5 kB)||File type Wheel||Python version 3.5||Upload date||Hashes View hashes|
|Filename, size keyboard-0.9.3.win-amd64.exe (645.1 kB)||File type Windows Installer||Python version any||Upload date||Hashes View hashes|
|Filename, size keyboard-0.9.3.win-amd64.zip (84.7 kB)||File type Dumb Binary||Python version any||Upload date||Hashes View hashes|
|Filename, size keyboard-0.9.3.zip (48.1 kB)||File type Source||Python version None||Upload date||Hashes View hashes|
Hashes for keyboard-0.9.3-py2.py3-none-any.whl