来自pynput的键盘侦听器



我正试图将一个键盘监听器导入到我的类中,但一直得到一个

NameError: name 'on_press' is not defined

这是我的代码:

from pynput import keyboard
class game_code:
with keyboard.Listener(on_press=on_press) as listener:
listener.join()
def check_key_press(self,key):
try: k = key.char
except: k = key.name
if k in ['up', 'down', 'left', 'right']:
self.key = keys.append(k)
return True
else:
return False

也不能100%确定with语句是如何工作的。

我使用了他们在线文档的格式:

https://pythonhosted.org/pynput/keyboard.html

from pynput.keyboard import Key, Listener
def on_press(key):
#print('{0} pressed'.format(
#key))
check_key(key)
def on_release(key):
#print('{0} release'.format(
# key))
if key == Key.esc:
# Stop listener
return False
def check_key(key):
if key in [Key.up, Key.down, Key.left, Key.right]: 
print('YES')
# Collect events until released
with Listener(
on_press=on_press,
on_release=on_release) as listener:
listener.join()

最新更新