Como ter uma estatística diária de teclas pressionadas?

5

Quero analisar com que frequência pressiono uma determinada tecla em minhas tipagens diárias e, portanto, gostaria de configurar o acompanhamento do meu teclado. (Também pode ser o caso em que fui desafiado que a chave que eu pressionaria com mais frequência era o backspace e eu gostaria de refutar isso por meio de fatos concretos.)

Eu não estou interessado em seqüências completas e essas não devem ser armazenadas em qualquer lugar no disco. O que estou procurando não é um keylogger completo e os casos de uso de black hat devem, na melhor das hipóteses, ser evitados.

Minha pesquisa rápida apareceu:

xinput --test-xi2

mas isso é muito cru:

EVENT type 13 (RawKeyPress)
    device: 3 (12)
    detail: 37
    valuators:

EVENT type 13 (RawKeyPress)
    device: 3 (12)
    detail: 54
    valuators:

e eu teria que implementar as estatísticas sozinho.

Existe alguma maneira de ter estatísticas de teclas pressionadas?

Mais pesquisas me fizeram perder tempo com krefreq , mas ainda não cheguei tão longe nisso.

    
por k0pernikus 07.11.2016 / 15:51

1 resposta

0

Você pode usar openbox para definir as combinações de teclas facilmente, para vincular qualquer tecla a uma ação:

 <keybind key="0x41">
      <action name="Execute">
        <execute>echo "A\n" >> keylog.txt</execute>
      </action>
 </keybind>

Você pode definir seus mapeamentos no arquivo rc.xml e executar openbox --reconfigure para aplicar suas novas vinculações. Cada vez que você pressionou uma tecla em relação a uma de suas entradas de mapeamento, ela grava o respectivo caractere no arquivo keylog.txt. No final do dia, se estiver interessado em saber quantas vezes você pressionou cada tecla, conte as entradas no keylog.txt:

 sort keylog.txt | uniq --count

Eu sei que ele não se ajusta às suas necessidades, porque ele salva a saída em seu disco rígido e você precisa calcular as quantidades por conta própria. Mas parece bem simples e não sei que tipo de estatística você está procurando. Na minha opinião, você deve reconsiderar o que você está querendo dizer se você disse:

  

Não estou interessado em sequências completas e elas não devem ser armazenadas   em qualquer lugar no disco.

Quais são as suas expectativas de como um programa deve lidar com todos os seus toques de tecla, se não deve armazenar a entrada em algum lugar no arquivo?

Uma outra questão surge com o esboço acima. Existe um arquivo no lubuntu 16.04 onde openbox ou a entrada padrão (stdin) redireciona para. Quero dizer, em qual interface / porta eles ouvem a tecla atual?

    
por Hölderlin 07.11.2016 / 21:04