LAZ*_*LAZ 0 python keyboard hotkeys numpad pynput
我正在使用 pynput 键盘模块来检测 python 应用程序中的击键。
目前我无法区分小键盘键和常规数字键,它们都返回为“1”、“2”、“3”等
那么我错过了什么?
代码 :
def on_press(key):
print key
def on_release(key):
return
with keyboard.Listener(on_press=on_press, on_release=on_release) as listener:
listener.join()
Run Code Online (Sandbox Code Playgroud)
您可以使用vk该key对象的属性来获取虚拟键码,对于通过小键盘输入的数字,虚拟键码的范围为 96 到 105:
from pynput import keyboard
def on_press(key):
if hasattr(key, 'vk') and 96 <= key.vk <= 105:
print('You entered a number from the numpad: ', key.char)
with keyboard.Listener(on_press = on_press) as listener:
listener.join()
Run Code Online (Sandbox Code Playgroud)