我想分析我在日常打字时按下某个键的频率,因此我想设置键盘跟踪。(也可能有人质疑我最常按的键是退格键,我想用确凿的事实证明这一点是错误的。)
我对完整的字符串不感兴趣,它们不应该存储在磁盘上的任何地方。我所寻找的不是完整的键盘记录器,最好避免黑帽用例。
我的快速搜索显示:
xinput --test-xi2
但这很原始:
EVENT type 13 (RawKeyPress)
device: 3 (12)
detail: 37
valuators:
EVENT type 13 (RawKeyPress)
device: 3 (12)
detail: 54
valuators:
我必须亲自进行统计。
有什么方法可以获得按键的统计信息吗?
进一步搜索后,我偶然发现克雷夫雷克,但我还没有深入研究过。
答案1
你可以使用开箱轻松定义键绑定,将任意键绑定到某个操作:
<keybind key="0x41">
<action name="Execute">
<execute>echo "A\n" >> keylog.txt</execute>
</action>
</keybind>
您可以在 rc.xml 文件中定义映射,然后运行openbox --reconfigure
以应用新绑定。每次您按下与映射条目之一相关的键时,它都会将相应的字符写入 keylog.txt 文件。最后,如果您想知道您敲击每个键的次数,请计算 keylog.txt 中的条目:
sort keylog.txt | uniq --count
我知道它不符合您的要求,因为它将输出保存在您的硬盘上,您必须自己计算数量。但它看起来很简单,我不知道您正在寻找哪种进一步的统计数据。在我看来,如果您说:您应该重新考虑您的意思
我对完整的字符串不感兴趣并且它们不应该存储在磁盘上的任何地方。
如果程序不应该将输入存储在文件中的某个地方,那么您期望程序如何处理您的所有击键?
上面的草稿又引出了一个问题。lubuntu 16.04 中是否有一个文件,openbox 或标准输入 (stdin) 会重定向到该文件。我的意思是它们在哪个接口/端口上监听当前击键?