Como detectar pressionamentos de teclas globais

3

Eu tenho um laptop Asus que tem uma chave especial que pode ser configurada para iniciar qualquer software (pelo menos no Windows).

A pergunta geral é: como posso detectar qualquer tecla pressionada (globalmente)?

Então, como posso detectar quando o usuário pressiona essa tecla?

    
por Ionică Bizău 18.03.2014 / 12:57

1 resposta

8

Eu normalmente usarei xev para determinar o scancode da chave e, em seguida, mapeá-lo para qualquer ação que eu queira usando xdotool ou XBindKeys .

xev

$ xev | grep -A2 --line-buffered '^KeyRelease' \
    | sed -n '/keycode /s/^.*keycode \([0-9]*\).* (.*, \(.*\)).*$/ /p'

Depois de executar o comando xev acima, você verá uma pequena janela branca que aparecerá. Você vai querer colocar o mouse sobre esta janela e pressionar a tecla do problema. O nome da chave deve aparecer no terminal enquanto você pressiona as várias teclas.

Screenshot

mapeandoachaveparaalgoútil

Vocêpodecriarcombinaçõesdeteclasdeatalhoqueiniciarãocomandosusandoxbindkeys,porexemplo.Eutenhousadocomsucesso XBindKeys no GNOME 3.8.4 para este propósito.

Meu uso tem sido modesto, mas gosto de criar atalhos de teclado para o Nautilus iniciar com determinados diretórios abertos.

Exemplo

Você precisará primeiro certificar-se de que os pacotes xbindkeys estejam instalados.

Em seguida, você precisará executar o seguinte comando, apenas uma vez, para criar um arquivo de configuração xbindkeys do modelo.

$ xbindkeys --defaults > /home/saml/.xbindkeysrc

Com o arquivo criado, você pode abri-lo em um editor de texto e adicionar uma regra como esta:

"nautilus --browser /home/saml/projects/path/to/some/dir"
  Mod4+shift + q

Com a alteração acima feita, precisamos matar xbindkeys se ela já estiver em execução e, em seguida, reiniciá-la.

$ killall xbindkeys
$ xbindkeys

Agora com isto em execução sempre que eu digitar Mod + Deslocamento + Q O Nautilus abrirá com a pasta correspondente aberta.

Usando o miniaplicativo de teclado do GNOME

Se você passar pelas configurações ( Configurações do sistema Teclado , selecione a guia Atalhos e adicione um novo atalho personalizado ao seu navegador.

Usando as etapas 1 a 5 como no diagrama, você pode mapear um comando para sua chave especial também.

    
por 18.03.2014 / 13:18