Posso ativar as teclas de rejeição apenas para determinadas chaves?

8

No meu laptop, estou tendo um problema persistente em que as teclas pressionadas na barra de espaço estão sendo repetidas. Tendo passado por várias substituições, além de ter tentado vários sistemas operacionais, julguei que o problema é de hardware, e não de software.

Felizmente, soube que o Ubuntu tinha um recurso conhecido como teclas de rejeição, o que me permitiria contrabalançar o problema, já que repetidas teclas digitadas seriam filtradas.

No entanto, ativar a solução para todas as chaves às vezes filtra as chaves que eu não quero filtrar. Por exemplo, quando eu digito hello , eu geralmente pressiono os dois l s em rápida sucessão, mas algumas vezes um dos l s é filtrado, o que pode ser muito chato. Eu sei que nunca precisarei pressionar a barra de espaço duas vezes em uma sucessão tão rápida e, como estou tendo problemas apenas com a barra de espaço, só quero ativar as teclas de retorno na barra de espaço.

Então, é possível somente ativar as teclas de retorno na barra de espaço?

    
por Faiz Saleem 12.07.2015 / 21:05

2 respostas

3

xset - utilitário de preferência do usuário para X

r é controlar o autorepeat.

  

xset -r 10

desativará a repetição automática para a tecla "1".

  

xset r 10

ativará a repetição automática para a tecla "1".

  

xset r [código-chave]

no meu caso, o código-chave para a barra de espaço é 65 cheque para o seu com código: xev | grep -A2 --line-buffered '^KeyRelease' | sed -n '/keycode /s/^.*keycode \([0-9]*\).* (.*, \(.*\)).*$/ /p'

Ainda assim, se você precisar alterar a velocidade das teclas, também poderá usar o parâmetro de taxa.

E também adicione este comando ao seu arquivo de script de início de sessão.

    
por Tohid Tamboli 18.07.2015 / 12:57
4

Encontrei uma solução para você, mas ela não envolve as teclas de rejeição. O que eu faço aqui é desativar a tecla de espaço / teclado por um pequeno tempo cada vez que o espaço é pressionado. Então aqui vai:

Usamos xbindkeys para capturar a barra de espaço (neste caso, release) e xdotool para inserir espaços. Instale-os se você não tiver em seu sistema:

sudo apt-get install xbindkeys xdotool

Um arquivo de configuração xbindkeys deve ter aparecido em sua pasta pessoal pelo nome .xbindkeysrc else, crie um assim:

xbindkeys -d > ~/.xbindkeysrc

Copie o snippet e cole-o no seu arquivo .xbindkeysrc.

"xdotool key KP_Space; xinput set-int-prop <kbd-id> "Device Enabled" 8 0; sleep .05 ; xinput set-int-prop <kbd-id> "Device Enabled" 8 1"
     m:0x0 + c:65 + Release
    space

Aqui <kbd-id> é o ID do teclado que pode ser encontrado pelo comando xinput . Agora você quer configurar o xbindkeys para iniciar cada vez que você iniciar seu computador.

Abra /etc/rc.local e adicione a linha xbindkeys antes de exit 0 .

Você terminou. Abra um terminal e digite xbindkeys para iniciá-lo por enquanto. Veja se faz o trabalho. Se ele não detectou os espaços duplos ou os caracteres após a falta de espaços, ajuste o delay em nosso comando em ~/.xbindkeysrc e reinicie.

Referências:

por daltonfury42 17.07.2015 / 15:31