Остановка Вводит нажатие с экрана блокировки, который будет получен сфокусированным приложением на рабочем столе

Когда мой экран заблокирован (например, из-за неактивности или путем нажатия Super+L), и я разблокировал его путем ввода моего пароля и нажатия Enter, то последнее нажатие клавиши также получено сфокусированным приложением на теперь разблокированном рабочем столе.

Например, если у меня есть свой открытый браузер, и в настоящее время редактирую комментарий здесь о, Спрашивает Ubuntu и затем быстро блокирует и разблокировала экран, как описано, комментарий становится отправленным прямо после разблокирования, которое не желаемо.

Тестирование поведения с xev контролируя мои нажатия клавиш, походит, если я нажимаю Enter чрезвычайно вскоре для разблокирования экрана, это не становится полученным на dektop. Однако этого "чрезвычайно вскоре" трудно достигнуть и помнить.

Может так или иначе быть добавленная задержка, например, на экран блокировки так, чтобы это осталось включенным еще для 100 мс или так или пока клавиша Enter не выпущена? Или там другой путь состоит в том, чтобы мешать этому событию клавиатуры пройти?

1
задан 1 February 2017 в 13:42

1 ответ

Создайте сценарий монитора dbus Ubuntu 16.04

, Вы могли создать этот сценарий, который вызывается dbus после того, как экран разблокирован. Назовите сценарий от Вашего Приложения Запуска , и он будет всегда работать.

#!/bin/bash
dbus-monitor --session "type=signal,interface=com.canonical.Unity.Session,member=Unlocked" | 
  while read MSG; do
    LOCK_STAT=`echo $MSG | awk '{print $NF}'`
    if [[ "$LOCK_STAT" == "member=Unlocked" ]]; then
        logger "Screen unlocked"
        # Flush keyboard buffer
        while read -e -t 1; do : ; done.
    fi
  done

Примечание это для Единицы в соответствии с Ubuntu 16.04. Ubuntu 14.04 и более ранние версии имеют различные методы. Различные настольные среды могут иметь различные методы также.

Этот код работы для других утилит однако эти #Flush keyboard buffer раздел является новым и не протестирован.

0
ответ дан 8 December 2019 в 06:48

Другие вопросы по тегам:

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