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?