Несколько модулей решают эту проблему
Pynput (pip install pynput
)
Простой модуль для обработки и управления общими входами
from pynput import keyboard
from pynput.keyboard import Key
def on_press(key):
#handle pressed keys
pass
def on_release(key):
#handle released keys
if(key==Key.enter):
function_x()
with keyboard.Listener(on_press=on_press,on_release=on_release) as listener:
listener.join()
(см. документы pynput )
Клавиатура (pip install keyboard
)
Простой модуль длямоделирование и обработка ввода с клавиатуры
keyboard.add_hotkey('enter', lambda: function_x())
(см. Документация по клавиатуре )
Tkinter
Интегрированный модуль пользовательского интерфейса, может отслеживать входы в сфокусированном потоке
from tkinter import Tk
root = Tk() #also works on other TK widgets
root.bind("<Enter>", function_x)
root.mainloop()
Имейте в виду: Все эти решения так или иначе используют Threading.Возможно, вам не удастся выполнить другой код после того, как вы начали слушать ключи.
Полезные темы: KeyListeners , Связывание в Tkinter
Не стесняйтесь добавлять больше решений