- Added LICENSE.txt file to PyPI packages.
- Fixed typos in docstrings.
- Merged #281 and #259 (thanks @luizeldorado and @schldwcht !).
- [All] Improve release process, fixing #233 and #269.
- [Windows] Fix overflow error on Python 3.7.
- [Mac] Added alt gr -> alt mapping.
- [Mac] Added support for right shift.
- [All] Fixed numlock alias.
- [All] Fixed example code.
- [Mac] Fixed "map_name" error (i.e. implement new backend API).
- [Win] Improve detection of "right alt" key.
- [All] Misc fixes for edge cases.
- [Windows/Linux] Fixed installation.
- [All] New
remap_andblock_functions. - [All] New high-level functions for parsing and converting hotkey names.
- [All] Added
.modifiersand.is_keymapattribute to events. - [All] Event name now matches character typed (e.g. now event from key
1reports as!if shift is pressed). This givesget_typed_stringsmore precision. - [Windows] New key suppression system should fix most bugs with
suppress=True. - [Linux] Added
.deviceattribute to events. - [All] Many, many bugfixes.
- [Windows] Used explicit WinDLL to fix "expected CFunctionType instance instead of CFunctionType".
- [Windows] Added more Windows virtual key codes for key name mapping (should fix .e.g "?").
- [All] Fixed canonicalization removing too much space (thanks @iliazeus).
- [All] Added
start_recordingandstop_recordingfor more flexible macros (thanks @softuser25 for the suggestion). - [All] Added
read_hotkeyfunction. - [All] Added
get_hotkey_namefunction. - [All] Cleaned up
examplesfolder and added more examples.
- [Mac] Added aliases for modifiers (control->ctrl, option->alt, command->windows).
- [All] Add reference to mouse project.
- [All] Use WinDLL for mouse part instead of raw ctypes.windll.user32.
- [All] Fix PyPI readme (pypa/setuptools#1126).
- [All] Remove bdist from release (PEP 527).
- [All] Removed ctypes type-hints to avoid runtime errors in unusual systems.
- [All] Add mention of new
mouseproject. - [All] Add mention of experimental OS X support.
- [All] Fixes to release process.
- [OS X] Added experimental OS X support (thanks @glitchassassin!).
- [Windows] Fixed error on fractional
mouse.wheel()(thanks @bobonthenet!). - [Windows] Fixed name for arrow keys` virtual key codes.
- [Windows] Make backend easier to use in other projects (e.g.
_winkeyboard.prepare_intercept). - [Linux] Fixed mouse support in Mint VirtualBox guest (thanks @foodforarabbit!).
- [All] Added mouse alias
hold = press(thanks @DanMossa!). - [All] Added
mouse.drag. - [All] Added examples on how to use the library.
- [All] Update docs to mention how to differentiate key presses and releases (thanks @TrakJohnson!).
- [All] Change the default value of
add_abbreviation(..., match_suffix).
- [Windows] Fix bug when listening to alt-gr.
- [All] Add
trigger_on_releaseparameter toadd_hotkey. - [All] Make
waitandread_keyinterruptible by ctrl+c. - [All] Small fixes on code/name mapping.
Thanks glitchassassin and BladeMight for the pull requests.
- [Windows] Fixed some incorrect key names (e.g. enter as '\r', and left keys reported as 'right ...')
- [Python2]
longscan codes no longer crash thematchesfunction. - [All] add
read_keyfunction, which blocks and returns the next event. - [All] Added makefile.
- [All] Fixed Python2 compatbility.
- [All] Updated release process to always run both Python2 and Python3 tests before publishing.
- [Windows] Add
suppressparameter to hotkeys to block the combination from being sent to other programs. - [Windows] Better key mapping for common keys (now using Virtual Key Codes when possible).
- [Windows] Normalize numpad and key code names.
- [Linux] Errors about requiring sudo are now thrown in the main thread, making them catchable.
- [All]
wheelmethod in mouse module.
- [Windows] Include scan codes in generated events, instead of only Virtual Key Codes. This allows software like Citrix to receive the events correctly.
- [Windows] Fix bugs that prevented keys without associated Virtual Key Codes from beign processed.
- Allow sending of keypad events on both Windows and Linux.
- Fixed bug where key sending was failing on Linux notebooks.
- [Windows] Fixed a bug where the
windowskey name failed to map to a scan code.
- [Windows] Modifier keys now report 'left' or 'right' on their names.
- [Windows] Keypad attribute should be much more accurate even with NumLock.
- [Windows] Media keys are now fully supported for both report and playback.
- [Windows] Add aliases to correct page down/page up names.
- [Windows] Fixed a bug where left and right key events were being created without names.
- [Windows] Prefer to report home/page up/page down/end keys as such instead of their keypad names.
- Distinguish events from numeric pad keys (
event.is_keypad). - [Linux] Annotate event with device id (
event.device).
- [Linux] Create fake keyboard with uinput if none is available.
- [Linux] Avoid errors when an unknown key is pressed.
- Streamline release process
-
Add
add_abbreviationandregister_word_listenerfunctions. -
Add functions for low level hooks (
hook,hook_key). -
Add
on_pressandon_releasefunctions. -
Add alternative names (aliases) for many functions.
-
Add large number of alternative key names, especially for accents.
-
Make module produce and consume JSON if ran as script (
python -m keyboard). -
100% test coverage.
-
[Linux] Add support for writing arbitrary Unicode.
-
[Linux] Look for Linux keyboard devices in /proc/bus/input/devices.
-
[Linux] Aggregate as many devices as possibles (e.g. USB keyboard on notebook).
-
[Linux] Improved support for internationalized keys.
-
[Windows] Process keys asynchronously to reduce key delay.
-
[All] Too many bugfixes to count.
-
[All] Major backend refactor.
- Alpha version.