Обработчик клавиш F1-F12 python 3.x

if win32api.GetAsyncKeyState(ord('R')):
   print("hello")

Как мне сделать обработку на клавиши F1-F12.

Пробовал так:

keyboard.add_hotkey('F7',lambda: (print("hello")))

Но вообще не понимаю как это работает. При запуске программы один раз пишется hello. А при нажатии зацикливается. А мне надо,чтобы было нажатие и один раз выполнилась функция.


Ответы (2 шт):

Автор решения: gil9red

Проблем с обработкой нажатия не было замечено.

Попробуйте:

import keyboard

keyboard.add_hotkey('F1', lambda: print("F1"))
keyboard.add_hotkey('F2', lambda: print("F2"))
keyboard.wait()
→ Ссылка
Автор решения: Oleg Tsvetkov

Проблему,что выполнялась lambda до нажатия клавиши, я решил так:

keyboard.add_hotkey('F5',lambda: a())

А проблему состоящую в том,что программа зацикливается - моё не понимание того,как работает эта функция. Я кидал это все в бесконечный цикл, хотя сама функция уже зациклена.

→ Ссылка