jlo62/KeyHeatMap

GitHub: jlo62/KeyHeatMap

一个基于 Linux evdev/udev 的键盘按键频率与时长统计工具,可将按键数据可视化为热力图。

Stars: 0 | Forks: 0

# KeyHeatMap 一个小巧的工具,用于统计在 linux 上你按下各个按键的频率和时长。 ![统计](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/31017fc625175808.svg) ![时间](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/ced67ab013175813.svg) ## 编译并运行 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 文件。 ## 为什么? ![好问题](https://images.meme-arsenal.com/40385ba60c1d1938e51258c6ae0a21b9.jpg) 图表以及数据本身通常都很酷,加上我当时正好闲着无聊,所以就制作了这些酷炫的热力图。
标签:evdev, Rust, 可视化界面, 系统工具, 网络流量审计, 行为统计, 通知系统, 键盘记录