jlo62/KeyHeatMap
GitHub: jlo62/KeyHeatMap
一个基于 Linux evdev/udev 的键盘按键频率与时长统计工具,可将按键数据可视化为热力图。
Stars: 0 | Forks: 0
# KeyHeatMap
一个小巧的工具,用于统计在 linux 上你按下各个按键的频率和时长。
 
## 编译并运行 daemon
这个工具可能需要 linux 环境,因为它使用了 evdev 和 udev。
```
cargo build --release
sudo cp target/release/keyheatmap-{client,daemon} /usr/local/bin
sudo cp resources/keyheatmap-daemon.service /etc/systemd/system
systemctl enable --now keyheatmap-daemon
```
请使用 `--now` 参数 —— 否则记录的第一条数据将会是你输入密码时按下的按键。
## 创建热力图
```
keyheatmap-client
```
这会生成 `keyheatmap_count.svg` 和 `keyheatmap_time.svg`。目前不支持运行时配置。
## 杂项
重复按键不会被统计,并且鼠标滚轮绑定使用的是其他按键,所以如果 `KEY_SCROLLUP` 出现异常情况,请多加注意。
此外,鼠标和键盘的峰值/最大数值是分开统计的。
如果布局等有误,你可以使用 inkscape 编辑 `resources/template.svg`。然后使用 [Label To Id 插件](https://gitlab.com/inklinea/label-to-id) 将 inkscape 的名称转换为 id,并导出为普通 SVG 文件 `resources/template_plain.svg`。
或者,你也可以直接编辑该 SVG 文件。
## 为什么?

图表以及数据本身通常都很酷,加上我当时正好闲着无聊,所以就制作了这些酷炫的热力图。
标签:evdev, Rust, 可视化界面, 系统工具, 网络流量审计, 行为统计, 通知系统, 键盘记录