Редактировать: Приведенный ниже ответ для использования keyboard.on_press (callback, suppress = False) отлично работает в Ubuntu без каких-либо проблем. Но в Redhat / Amazon linux он не работает.
Я использовал фрагмент кода из этого потока
import keyboard # using module keyboard
while True: # making a loop
try: # used try so that if user pressed other than the given key error will not be shown
if keyboard.is_pressed('q'): # if key 'q' is pressed
print('You Pressed A Key!')
break # finishing the loop
except:
break # if user pressed a key other than the given key the loop will break
Но приведенный выше код требует, чтобы каждая итерация выполнялась в наносекундах. Ошибка в следующем случае:
import keyboard # using module keyboard
import time
while True: # making a loop
try: # used try so that if user pressed other than the given key error will not be shown
print("sleeping")
time.sleep(5)
print("slept")
if keyboard.is_pressed('q'): # if key 'q' is pressed
print('You Pressed A Key!')
break # finishing the loop
except:
print("#######")
break # if user pressed a key other than the given key the loop will break