Задать вопрос
TheMaxai
@TheMaxai

Как отловить нажатие клавиши ESC в консоли?

Я пробовал разные модули. Остановился на from pynput import keyboard
Но этот модуль отлавливает нажатие ESC даже если активировано другое окно...

Примерные вид конечной программы:
check=False
def key_check():
    global check
    if key == esc: check=True

timer = 30
key_check.start()
while 1:
    if check and timer > 10: sys.exit(1)
    timer-=1
key_check.stop()
  • Вопрос задан
  • 1067 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
TomasHuk
@TomasHuk
Нужно добавить проверку на класс окна:
import win32gui

def now():
    class_activ_window=win32gui.GetClassName(win32gui.GetForegroundWindow())
    if class_activ_window=='my_console': # изменить на реальный класс окна
        activ_window='my_consoler'
    else:
        pass
    return activ_window

Ваш код, например:
import get_activ_window

if key == esc and get_activ_window.now() == 'my_console':
    check=True
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы