Как отключить все клавиатуры и мыши (кроме одной), пока какая-либо клавиша не будет введена с любой клавиатуры?

Я написал программу, которая открывает Adobe Acrobat и быстро нажимает кучу кнопок в пользовательском интерфейсе. Программа также печатает некоторые вещи. Проблема в том, что если пользователь случайно нажмет клавишу клавиатуры или дернет мышь во время работы программы, это может исказить результаты.

Желаемое поведение состоит в том, чтобы подавлять/игнорировать ввод со всех клавиатур и мышей, кроме одной пары. Клавиша выхода по-прежнему будет разрешена на всех системных клавиатурах. Неотключенные клавиатура и мышь являются виртуальными, а не физическими. Эта неотключенная мышь и клавиатура будут выполнять все процедурные щелчки и ввод текста. Если на какой-либо клавиатуре (включая отключенные) есть событие нажатия клавиши выхода, этот ввод не будет подавлен. Я привяжу к нему какую-то функцию «паузы программы».

Вы можете предположить, что ОС - это Windows. Как мы напишем код на питоне для этого?


person Toothpick Anemone    schedule 09.11.2019    source источник
comment
stackoverflow.com/ вопросы/7529991/   -  person KmcASI    schedule 09.11.2019
comment
Проблема с вопросом, на который вы ссылаетесь, заключается в том, что он блокирует весь ввод с клавиатуры. Мы не хотим этого делать. Мы хотим заблокировать весь ввод с клавиатуры, кроме клавиши выхода на большинстве клавиатурных устройств, но затем разрешить весь ввод с одного конкретного устройства с клавиатурой. Это сильно отличается от блокировки всего ввода со всех клавиатур.   -  person Toothpick Anemone    schedule 11.11.2019
comment
Является жестким. Я думаю, что будет возможность просто сделать для этого перерыв или дать им закончить работу, а затем разблокировать ключи ... Я никогда не пробовал что-то подобное, поэтому у меня нет такого большого опыта.   -  person KmcASI    schedule 12.11.2019