使用 pynput 键盘检测小键盘键
Posted
技术标签:
【中文标题】使用 pynput 键盘检测小键盘键【英文标题】:Detecting numpad keys with pynput keyboard 【发布时间】:2020-02-17 01:21:54 【问题描述】:我正在使用 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()
【问题讨论】:
【参考方案1】:您可以使用key
对象的vk
属性来获取virtual key code,对于从小键盘键输入的数字,其范围从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()
【讨论】:
我应该早点看这里的,但我还是通过查看键码 dict 弄明白了。因此,在我的实现中,我使用了keyboard.KeyCode(0x60) 来查看键码是否为num0(0x60 为num0)。无论如何,这个答案是正确的,非常感谢。希望它可以帮助一些人,因为通过谷歌搜索这个问题经历了数百页我之前找不到答案。以上是关于使用 pynput 键盘检测小键盘键的主要内容,如果未能解决你的问题,请参考以下文章