ООооо, обожаю данные темки, давай разбираться
1) Используем либку - pip install keyboard
2) Вот пример кода:
import keyboard
# Словарь для хранения состояния num-pad клавиш
num_pad_state = {
'num_lock': False,
'num_0': False,
'num_1': False,
'num_2': False,
'num_3': False,
'num_4': False,
'num_5': False,
'num_6': False,
'num_7': False,
'num_8': False,
'num_9': False,
'num_decimal': False,
'num_enter': False,
'num_add': False,
'num_subtract': False,
'num_multiply': False,
'num_divide': False
}
# Функция для обработки нажатий num-pad клавиш
def on_num_pad_press(event):
key =
event.name if key in num_pad_state:
num_pad_state[key] = True
print(f"Нажата клавиша num-pad: {key}")
# Здесь можно добавить обработку нажатия клавиши
# Функция для обработки отпускания num-pad клавиш
def on_num_pad_release(event):
key =
event.name if key in num_pad_state:
num_pad_state[key] = False
print(f"Отпущена клавиша num-pad: {key}")
# Установка обработчиков событий нажатия и отпускания клавиш
keyboard.on_press(on_num_pad_press)
keyboard.on_release(on_num_pad_release)
# Блокировка num-pad клавиш
for key in num_pad_state:
keyboard.block_key(key)
# Основной цикл программы
try:
print("Нажмите Ctrl+C для выхода.")
keyboard.wait('ctrl+c')
except KeyboardInterrupt:
print("Программа завершена.")
Немного обьясню работу:
Словарь num_pad_state: Хранит состояние каждой клавиши num-pad.
Функция on_num_pad_press: Обрабатывает нажатие клавиши num-pad.
Функция on_num_pad_release: Обрабатывает отпускание клавиши num-pad.
Блокировка клавиш: Используется keyboard.block_key() для блокировки каждой клавиши num-pad, чтобы система не видела их нажатия.
Основной цикл: Программа работает до тех пор, пока не будет нажата комбинация клавиш Ctrl+C.
P.s Этот код работает в среде, где у вас есть права администратора, так как перехват и блокировка клавиш требуют повышенных привилегий. по этому запуская от прав администратора прогу