Stop Pressione para entrar na tela de bloqueio para ser recebido pelo aplicativo focado na área de trabalho

1

Quando minha tela está bloqueada (por exemplo, devido a inatividade ou pressionando Super + L ) e eu a destranco digitando minha senha e pressionando Enter , esse último pressionamento de tecla também é recebido pelo aplicativo focado na área de trabalho agora desbloqueada.

Por exemplo, se eu tenho o meu navegador aberto e atualmente estou editando um comentário aqui no Ask Ubuntu e rapidamente bloqueia e desbloqueia a tela conforme descrito, o comentário é enviado logo após o desbloqueio, o que não é desejado.

Testando o comportamento com xev monitorando minhas teclas, parece que se eu pressionar Enter extremamente rapidamente para destravar a tela, ela não será recebida no dektop. No entanto, isso "extremamente rapidamente" é difícil de alcançar e de lembrar.

Pode de alguma forma haver um atraso adicionado, por ex. para a tela de bloqueio para que ela permaneça ativada por mais 100ms ou até que a tecla Enter seja liberada? Ou há outra maneira de impedir que esse evento de teclado seja exibido?

    
por Byte Commander 01.02.2017 / 11:42

1 resposta

0

Criar script do monitor dbus Ubuntu 16.04

Você pode criar este script que é invocado pelo dbus depois que a tela é desbloqueada. Chame o script dos seus Aplicativos de inicialização e ele sempre estará em execução.

#!/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

Note que isto é para o Unity no Ubuntu 16.04. O Ubuntu 14.04 e versões anteriores possuem métodos diferentes. Ambientes de área de trabalho diferentes também podem ter métodos diferentes.

Este código funciona para outros utilitários, no entanto, a seção #Flush keyboard buffer é nova e não foi testada.

    
por WinEunuuchs2Unix 01.02.2017 / 12:54