Python 用pynput键盘检测numpad键

Python 用pynput键盘检测numpad键,python,keyboard,hotkeys,pynput,numpad,Python,Keyboard,Hotkeys,Pynput,Numpad,我正在使用pynput键盘模块检测python应用程序中的击键 目前我无法区分numpad键和常规数字键,它们都返回为“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()

我正在使用pynput键盘模块检测python应用程序中的击键

目前我无法区分numpad键和常规数字键,它们都返回为“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()

您可以使用
key
对象的
vk
属性来获取,从numpad键输入的数字范围为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()
从pynput导入键盘
def on_按(键):

如果hasattr(key,'vk')和96,则可以使用
key
对象的
vk
属性来获取,从numpad键输入的数字范围为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()
从pynput导入键盘
def on_按(键):

如果hasattr(key,'vk')和96,我应该在这里看一下,但我确实通过查看keycode dict找到了答案。因此在我的实现中,我使用keyboard.keycode(0x60)来查看keycode是否为num0(0x60为num0)。无论如何,这个答案是正确的,非常感谢。希望它能帮助一些人,因为通过谷歌搜索这个问题,我浏览了数百页,以前找不到答案。我应该早点看这里,但我确实通过查看keycode dict找到了答案。所以在我的实现中,我使用keyboard.keycode(0x60)来查看keycode是否为num0(0x60为num0). 无论如何,这个答案是正确的,非常感谢。希望它能帮助一些人,因为通过谷歌搜索这个问题,我浏览了数百页,以前找不到答案。