У меня следующий код
from pynput.keyboard import Key, Listener
def on_press(key):
print('{0} pressed'.format(
key))
def on_release(key):
print('{0} release'.format(
key))
if key == Key.esc:
# Stop listener
return False
# Collect events until released
with Listener(
on_press=on_press,
on_release=on_release) as listener:
listener.join()
Если я правильно понимаю, когда я запускаю этот код, он напечатает все клавиши, которые я нажимаю на клавиатуре (я запускаю кодв Mac OS).
Однако, когда я пытался нажать некоторые клавиши, код ничего не печатал. В чем проблема?
Я также пытался запустить этот код
from pynput import keyboard
def on_press(key):
try: k = key.char # single-char keys
except: k = key.name # other keys
if key == keyboard.Key.esc: return False # stop listener
if k in ['1', '2', 'left', 'right']: # keys interested
print('Key pressed: ' + k)
return False # remove this if want more keys
lis = keyboard.Listener(on_press=on_press)
lis.start() # start to listen on a separate thread
lis.join() # no this if main thread is polling self.keys
Все еще не повезло.