記号列のタイピングを矯正する

数字記号列のタイピングが作業効率のボトルネックになっているように感じはじめ、かつこれは簡単に取りのぞける類いの障害のように思えたので、遅い理由を解明して改善した。

まずは記号列のタイピング練習ができるサイトで、現状を確認する。

数字記号のタイピング練習サイトの入力画面
手元を見ずにどれだけ正確に打てるのか試してみてほしい (Online Typing Tutor)

ここでじっくり自分の打ち癖を分析してみたところ、弱いのは以下の点であった。

  1. 57 の記号順が完璧に記憶できていない
  2. 6 を左右どちらの指で打つのか定まっていない
  3. -= を打つときの小指がたまにブレる
記号列の苦手なキー

それぞれの弱点に対して、改善のための対策を立ててみる。

弱点分析

57 の記号順が完璧に記憶できていない

数字との連想を強化することで記憶を固められそう。

  • 5% → 有意水準、イオンのCMジングル
  • 6^ → hex(16進数、16^n)、六芒星
  • 7& → セブン&アイ・ホールディングス、ダンスのカウントイン

6 を左右どちらの人差し指で打つのかが定まっていない

軽く調べた感じでは〈右手〉だとする教材が多いが、国によっても違うようだ。分離型のキーボードを見ても、左右どちらのバージョンも存在する。絶対的な距離でいうと、右手のほうが少し遠いことが多い。

本来は前後に打っている文字列のシフトキー状況に応じて左右どちらの手でも打てたほうが効率はよさそうだが、ここはいったんフォーム矯正が目的なのでしばらくは〈右手〉固定とする。

考えてみれば、6 はタイピングフォームとしてはいちばん難しいかもしれない。前方移動だけでなく斜め移動もあり、ホームポジションをいちばん見失いやすい遠くのキー。

さまざまな動きを試した結果、速度・正確さの両面で最適と感じたのはこのようなフォームだった。

中指〜小指をホーム列にひっかけるように触れたまま手首を少し浮かせ、手首を前に押し出すように人差し指で 6 を打ち込む。ホーム列に触れたままなのでスナップが利かせやすく、反復動作がいちばん速かったのはこれだった。しばらく右手で固定するとは言ったものの、いずれ左手でもとるようになった場合、このフォームなら同じ速度でできる。

勢いよくクイックに打ち込むこの感じ、6 の上にアクセント記号がついているように見えてきたぞ。

各四分音符にアクセントのついたCメジャースケールと、6のキー。

-=を打つときの小指がたまにブレる

現状のフォームを確認してみると、どちらのキーでもだいたい同じぐらいの角度まで肘を出した上で、- のときは小指をほぼ前方に突き出すだけであり、= のときは小指伸筋・小指外転筋で外に広げている。

これで十分な正確性が稼げてないということは、もう少し腕側の動きを意識したほうがいいかもしれない。

腕を肩関節から内側に回転させるのが内旋、外側に回転させるのが外旋動作
Original by Genusfotografen & Wikimedia Sverige (CC BY-SA 4.0)

実験してみると、腕の内旋角度をほんの少し変えることで、小指の届く範囲を制限することができる。- のときは内旋気味、= のときは外旋気味になるような肘の位置をとることで、小指がブレてもミスタッチをしないフォームとなる。(そもそも 0 のときも、人差し指を軸に明らかな内旋動作をとることで普段から正確に打てていることに気づいた)

基本的に大きい筋肉(腕、肩など)のほうがコントロールがきくので、なるべく指(伸筋)に頼らないことで速度・精度・持久力を上げていくのはピアノ鍵盤の扱い方と似てると思う。腱鞘炎の予防にもよい。

もう一度フォーム分析

ここまでわかったところでもう一度自分のタイピングを観察してみる。新しいフォームを意識するために、慎重に打てる速度まで落とす。

結果、第1ラウンドで立てた対策はすべて十分な効果があった。前述の3パターンのミスタイプはだいたい克服したといっていいだろう。

そこで次の弱点が見えてきた。

  1. % を打つつもりで $ を打ってしまう(逆は間違えない)
  2. # を打つつもりで * を打ってしまう(逆は間違えない)
間違えるキーペア

面白いほどピンポイントな間違い方をしている。

紐解いてみると、どちらにも明確な理由があり、そして間違いの根源は同じだった。

% を打つつもりで $ を打ってしまう

なんと 15 の記号をすべて左シフトでとる癖がついていた。13 はまだよかったが、これで 45 がどうなるのかを見たら何が悪いのかは一目瞭然であった。

左シフト4 の時点で限界まで脇がしまっているので、人差し指のこんな小さな違いだけで打ち分ける羽目になっている。おまけに、小指を曲げ込むほかないので指先の肉がほとんどシフトキーに接地しておらず、爪だけの状態でまったくグリップが足りていない(これもピアノと同じで、肉で鍵盤を捉えないと滑る)。そんな不安定な状態で指を大きく開くのだから、ものすごく届きづらい。

試しに右シフトで $% を打ってみると、断然打ちやすい。そもそも数字の 45 は特に打ち間違えないのだから当たり前である。4 はやや外旋、5 はニュートラルの突き出し動作で、間違えようがない。

なんとなくシフトを左右でバタつかせるのが非効率的なように感じて、できる限り左シフトをキープする癖がついていたが、まさか逆手シフトにこんな合理的な根拠があったとは気づかなかった。

# を打つつもりで * を打ってしまう

これはどうだろう。どちらも中指でとるキーなので、同指混同のような現象だろうか。しかし逆方向の間違いは起きないのは不思議である。

# と* のキーペア

そこで先ほどの左シフト問題に目を向けてみると、左シフト3 も打ち間違えこそしないものの、そこそこ打ちにくいことに気づく。グリップのきいてない小指を支柱にした外旋動作で、なんとも心許ない。

見るからに不安定な左シフト3

対して右シフト3に変えてみると、何の無理もない自然な動作である。「左シフト3という不自然な動きをしたくなさすぎて、無意識に左シフト8 を打ってしまう説」が濃厚になってきた。

どうもこれは同手シフトを完全にやめて、逆手シフトを徹底したほうがいいのではないかと思いはじめる。

最終検証

今日学んだことをまとめるとこうだ。

  1. 記憶が固まっていない記号は、数字との連想を強化する。
  2. 6 を打つときは、ホーム列から中指を離さないフォームを探す。
  3. 指を伸ばす動きよりも、腕の角度(内旋外旋、内転外転)をよく意識する。
  4. 必ず逆の手でシフトをとる。

これを踏まえて再度テストを行ってみると、もちろん完璧ではないが最初に比べれば見違えるほどの正確さになっていた。

チェリーピッキングが起きないよう、この動画は撮り直しなしの一発勝負とした

記憶もフォームも定着していない、ほぼ直後の段階でこれだけ改善されるとなると、最終的な仕上がりもかなり期待できる。実際にはランダム文字列を高速で打てる必要はないので、スピード面は実用的なコロケーションに合わせて身体を慣らしていけばよい。

タイピングミスの主な原因を診断して修正する術もこれで身についたので、通常の文字タイピングもさらに良くなっていくと思う。

最後に、新しいフォームの定着を補助するため一部のキーに凸シールを貼った(5, 7, 0, =)。これ自体でタイピング速度を上げることはできないが、低速練習をしているときに手元を見ずにフォームの崩れを確認できるので有用。

透明な凸シールが一部の数字キーに貼ってある Apple Magic Keyboard

元々タイピングが速めの人や、それこそ無刻印キーボードを買うような層でも記号列だけは苦手という人が多そうなのを見ると、30分程度の時間を割いて計画的に取り組むだけで苦手を克服できるというのは朗報だと思う。

相乗効果

数字記号列を苦なく打てるようになることで期待できる相乗効果としては以下のようなことを想定している。

  1. テンキーの使用に踏み切るまでの閾値が上がる。これは往復の移動距離が大きい分、一度回避するだけでも価値が高い。
  2. 記号列の出現頻度が高い文脈(正規表現、SCSS、PHP、Elixir、数式など)でも、常に無意識レイヤーで安定した入力ができる。ミスタイプして削除して打ち直してまた間違えて手元を見て……のような悪循環をなくし、もっと大事なことに集中できる。
  3. 数字列の入力精度が甘かったり、テンキーまで移動していては割が合わないようなテキスト操作方法が選択肢に入ってくる。62G などと打って62行目に移動する、Vim の Go to line など。
  4. 相対的にホームポジションにいる時間が長くなることで、ホームポジションに居続ける慣性が強くなる。つまりマウスやファンクションキーなどに移動したくない気持ちがより高まる。今までなら覚える気にならなかったような新しい操作方法(コマンド、ショートカット、スクリプト)を覚えてみよう、作ってみようという動機が増す。
  5. 通常の文字と数字記号が同じ速度でシームレスに打てることにより、「マイクロ・フロー」とでも呼べるような、途切れることのないひと連なりの動作が長くなる。人間は意識的に行っていた複数の小さな動きを無意識下に送りクラスター化することで単一の動きに抽象化することができる。これの積み重ねによってより高次の動き(ないしは概念)を扱えるようになる。もしかすると今まで認識することのできなかったようなサイズの「単一の動き」が現れはじめ、より高次の問題を扱えるようになるかもしれない。

あわせて読みたい

  • Some reasons to work on productivity and velocity — Dan Luu(作業速度改善に取り組むことをそもそも良しとしない人や、意味がないと主張する人たちへの反論。具体的にプログラミング行為におけるタイピング速度の例で出ている Vim の bdw vs. diw とか、自分はそのぐらいでもわりと大きな差というか、フローの詰まりを感じてしまう)
  • Speed matters: Why working quickly is more important than it seems — James Somers(速度が上がると10のものを生産するのにかかる時間を短縮できるのは当然として、10しか生産する気のなかったものを100生産する気になるので、固定量の生産効率だけでなく生産量自体が上がるという話)
  • Mastering Piano Technique — Seymour Fink (鍵盤状のものを扱う上での解剖学的・物理的なノウハウが詰まっている)

トーク版ができました

この記事を元にしたトーク “Your Typing Sucks: A Pianist’s Approach to the (Computer) Keyboard” Video | Slides(英語)を2024年7月に Nerd Nite Tokyo で発表しました。