業務1日のキータッチ数をカウントしてみた
こんにちは、システムエンジニアのようへいです。
普段お仕事でパソコンに触れる方、多いと思います。
いったい1日でどのくらいキーを押すんだろう?
そんな疑問、抱いたことありませんか?
自分はエンジニアなのでパソコンを1日中使っています。
1日の大半はキーボードに触れているので、どのくらいキータッチしているのかとても興味が沸きました。
そんな疑問を解消すべく、キータッチをカウントするアプリをPythonで作りました。
そんなにヒマじゃなかったのですが、どうしても仕事よりも興味が勝ってしまい、衝動的にアプリを作りました。笑
さて、どのくらいキータッチしたのでしょうか?
キータッチの集計結果
1/12の8時間分のキータッチ数です。
アプリの出力値をそのまま貼り付けました。
2列の表示で、左列が押下されたキー、右列が押下された回数です。
Key Count
---------------------------
0 15
1 46
2 32
3 16
4 5
5 16
6 3
8 23
9 44
A 1947
Num+ 1
B 152
Back 1247
C 322
D 407
Delete 29
Down 426
E 1036
End 25
Esc 15
F 56
F2 71
F5 1
F7 14
F8 11
F9 7
G 286
H 382
Home 20
I 1568
J 119
K 1026
L 30
LCtrl 587
Left 506
Lmenu 70
Lshift 667
Lwin 13
M 438
N 1322
Next 10
Numlock 4
Num1 1
Num8 1
O 1496
: 14
/ 98
@ 2
[ 8
\ 1
] 8
^ 5
, 205
- 148
. 190
; 24
P 112
Prior 10
PrtScr 1
Q 3
R 643
RCtrl 16
Return 2311
Right 564
Rshift 60
S 1026
Space 1471
T 1052
Tab 36
U 1452
Up 509
V 235
W 190
X 23
Y 285
Z 82
---------------------------
合計:25297
こうやって見るとすごい面白い!
8時間で25,297回もキータッチしてたんですね。
これを単純計算で単位時間当たりで見ていくと
1時間あたり3,162回。
1分あたり52回。
1秒あたり0.88回。
秒あたりで見ると結構少ない気がしますが、考え事で固まっているときや打ち合わせもあったので、それがタッチ数が少ない要因ですね。
キーのランキングを見ていきます。
第1位はReturn(Enter)キー、2,311回。
入力文字の確定はEnterキーなので、これは納得です。
そして
第2位:「A」で1,947回。
第3位:「I」で1,568回。
第4位:「O」で1,496回。
第5位:スペースで1,471回。
第6位:「U」1,452回。
ランキング上位は母音が多いですね。
ん?「E」が少ない。
「E」は第10位で1,036回でした。
「E」の音を持つ単語って実はそんなに無いんですかね?
スペースはやっぱりTop5に食い込んできました。
漢字変換ですよね。
回数が多いのは納得感があります。
もう少し別な角度で見ていきます。
シフトキーは、右側シフトキー(60回)よりも左側シフトキー(667回)を押してる。
Excelのショートカットキー(左側シフト + スペースなど)をよく使うからかな?
コントロールキーも同じく、右側(16回)よりも左側(587回)。
補助キーは左手で使うことが多いようです。
文字を消す方法はBackSpaceかDeleteキーのどちらかです。
Deleteキーは29回に対し、BackSpaceは1,247回。
これもクセですね。笑
文字を消す時はBackSpaceで消すのは自覚あります。
こういうくだらない、且つ、どうでも良い情報だけど、実は興味がある情報の数値化って結構楽しくて好きですね。
今度は1日のマウスの総移動距離や、マウスのボタンクリック回数も取ってみようと思います。
クリック回数は取れると思いますが、移動距離は難しいかな?
ピクセル単位なので、それをcmにするとかちょっと難解かも・・・・・。
でも楽しそう!
アプリの作り方
参考にしたのはこのサイトです。
グローバルキーフックという技をPythonで実装しました。
「pyHooked」というライブラリをインストールすれば、簡単にカウントアプリがPythonで作れます。
なお、アプリを作ってる時にハマったところは、キーのダブルカウント。
「キーを押し下げた」「キーを離した」でキーフックと見なされるので、これが原因でダブルカウントしていました。
なので、カウント条件に
if args.event_type == 'key up':
のように、「キーを離した場合」という判断を入れる必要があります。
ちなみにkey downにしなかったのは、シフトキーなどが押しっぱなし場合、ずーっとカウントされないかが心配だったためです。
さいごに
くだらないものを集計してすみません。笑
でも気になりますよね。