Обнаружение цифровых клавиш с помощью клавиатуры pynput - PullRequest
0 голосов
/ 21 октября 2019

Я использую модуль клавиатуры 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 Ответ

1 голос
/ 21 октября 2019

Вы можете использовать атрибут 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()
...