import keyboard
def hk(*args):
print "hk", args
r = keyboard.add_hotkey("q, q", hk, suppress=True)
# press q, q somewhere
# type something then remove hotkey
raw_input()
keyboard.remove_hotkey(r)
# keep this script running
raw_input()
# press q somewhere
Traceback (most recent call last):
File "C:\Python27\lib\site-packages\keyboard\_winkeyboard.py", line 544, in low_level_keyboard_handler
should_continue = process_key(event_type, vk, scan_code, is_extended)
File "C:\Python27\lib\site-packages\keyboard\_winkeyboard.py", line 530, in process_key
return callback(KeyboardEvent(event_type=event_type, scan_code=scan_code or -vk, name=name, is_keypad=is_keypad))
File "C:\Python27\lib\site-packages\keyboard\__init__.py", line 236, in direct_callback
if not all(hook(event) for hook in self.blocking_hooks):
File "C:\Python27\lib\site-packages\keyboard\__init__.py", line 236, in <genexpr>
if not all(hook(event) for hook in self.blocking_hooks):
File "C:\Python27\lib\site-packages\keyboard\__init__.py", line 690, in catch_misses
state.remove_last_step()
File "C:\Python27\lib\site-packages\keyboard\__init__.py", line 605, in remove
container[scan_codes].remove(handler)
ValueError: list.remove(x): x not in list
fix this: