Verificando se uma tecla específica é pressionada no shell script

4

Existe uma maneira de verificar se uma tecla específica é pressionada em um script de shell que está sendo executado em segundo plano. Considere eu estou executando um script de shell que tem que jogar uma lista de reprodução de músicas, assim que eu pressionar uma tecla ou combinações de 2 ou 3 chaves. Este script de shell será adicionado ao crontab, então não será executado no terminal. Então é possível capturar as chaves pressionadas neste script de shell?

    
por Deepak K M 23.05.2015 / 15:39

1 resposta

0

Seus requisitos não são muito claros. Mas, se bem entendi, sugiro que você primeiro experimente o autokey-gtk . É um aplicativo baseado em Python no qual você pode escrever seus scripts em Python, que será executado sempre que você pressionar um conjunto de chaves pré-definido. Veja se isso se adequa à sua necessidade.

Então, se você quiser fazer manualmente, existem basicamente duas maneiras:

Solução # 1: Abordagem do Keylogger

Você pode escrever um script que continuaria a registrar suas teclas do teclado e iniciar um evento sempre que uma determinada combinação fosse pressionada. Para registrar chaves, você pode ver o código do pykeylogger .

Solução # 2: abordagem de encadernação

Primeiro de tudo você precisa ligar suas chaves usando algum método. Um dos métodos é usar o keybinder . Ou você pode simplesmente vincular suas chaves usando "Atalhos de teclado" nas suas configurações. Agora, sempre que você pressionar um determinado conjunto de chaves, será executado um script que gravará algum texto em um determinado arquivo XYZ em sua pasta inicial.

No segundo plano, seu script que foi iniciado usando o crontab estaria lendo este arquivo XYZ a cada 1 segundo. De acordo com o conteúdo do arquivo, esse script iniciará ações diferentes.

    
por 27.05.2015 / 07:02