好奇自己对键盘各键的使用频率,写了个能统计按键并生成热力图的程序 Keyboard Heatmap

2023-01-03 16:43:40 +08:00
 werifu

https://github.com/werifu/keyboard-heatmap

如题,出发点是想知道自己哪些按键用最多,又想直观看到效果,所以采取了热力图的样子,做成键盘的布局,实现使用的是 Rust 的 egui ,原理其实就是监听键盘事件然后统计映射到热力图上而已。

效果大概如下,是大概半个小时内的按键统计情况,主要做的事是在水群(也就是打汉字拼音,不过我用的是双拼,所以猜测跟全拼可能会有比较大差异,欢迎 po 出来)

有个缺陷是按键的热力图深度到 150+基本就人眼不可区分了,我是用 HSL 颜色空间来做热力图深度的,空间也比较有限,没有特别好的办法,有好做法的话也欢迎建议。

3188 次点击
所在节点    分享创造
22 条回复
AoEiuV020CN
2023-01-03 17:04:14 +08:00
深度这个, 为什么用 sigmoid ,感觉第一反应应该是线性的,把当前最高作为线性最大值,映射到 0-1 ,有什么不好的吗?
wdy3334
2023-01-03 17:05:49 +08:00
ctrl c v
opengps
2023-01-03 17:06:11 +08:00
Ctrl ,C ,V ,Enter
enzyme
2023-01-03 17:37:19 +08:00
不错。

有个其实没什么用的小建议。为了增加趣味性,鼓励用户分享。可以考虑输出下最常用的字母案件是什么。最接近的英文词是什么,最接近的中文词汇是什么。
loading
2023-01-03 17:37:53 +08:00
想法不错,有空我也试一下仿一个出来。
PerFectTime
2023-01-03 18:38:36 +08:00
那自然是 CV 最多了
EngAPI
2023-01-03 18:44:04 +08:00
装了个 kmcounter v3.7 也差不多类似的,刚开始看看,后来直接废弃了
hertzry
2023-01-03 20:16:12 +08:00
直接除以最大值变成 0~1 。
luckykong
2023-01-03 21:06:54 +08:00
可以增加一个功能,按照空格将输入分隔开,然后进行词频统计,把最高的几个词标出来。这样就能简单的实现 4 楼的想法了。反正只是图好玩,准不准确无所谓
LuxChen
2023-01-04 08:53:46 +08:00
这个工具开着之后,不知道为什么,打字总会多出来几个字母,就好比现在这样,不确定是不是这个原因 iidi
missdeer
2023-01-04 09:05:33 +08:00
改成立体的,越多越高
liuidetmks
2023-01-04 10:44:41 +08:00
加强版,鼠标点击的分布。 (想不出有什么现实意义。
lxms2021
2023-01-04 15:36:41 +08:00
每个键上面能显示按键次数么
Picmen
2023-01-05 16:55:04 +08:00
数量多了之后颜色不好分辨的话,建议增加数量显示
Picmen
2023-01-05 16:57:11 +08:00
@Picmen 我错了,这个是有的
shantongxu
2023-01-05 17:22:23 +08:00
可以记录按键寿命, 键盘一直宣传几千万次的点击寿命,用个几年看看能不能达到 😐
pagict
2023-01-05 22:28:54 +08:00
3D 柱状图,高度为频次
werifu
2023-01-06 14:19:21 +08:00
@AoEiuV020CN 我其实是取了半个 sigmod ,让导数单调递减,不用线性的理由是我想加大按键次数比较少时的颜色变化,因为有些按键的频率是非常低的,可能很长时间只会按到一两次,按线性去平分颜色会让这些键非常不明显,而对次数比较多的键,对多一两次感知并不敏感
werifu
2023-01-06 14:22:35 +08:00
@missdeer 我觉得是个可以的思路,做成类似 https://skyline.github.com/ 的 3D 柱状图
werifu
2023-01-06 14:23:30 +08:00
@LuxChen 好像没有发现过这种情况,开个 issue 详细描述下?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/906299

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX