名前はまだない

とりあえずの思考や学習のアウトプットの場

キーボード配列について考えたことがありますか?

1. はじめに

小学校で野球を始めて数年が経つと、バットやグローブが身体の一部になる瞬間があった。中学でサッカーを初めて1年ほどで、ボールが身体の一部になる瞬間があった。その瞬間を迎えると、何も考えずに自分の思うがままに操ることができるようになった。

今まで物心がついたときから20年以上パソコンに触れており、人生の9割以上をパソコンとともに過ごして来たのに、キーボード操作でその瞬間を未だに迎えていない。無意識に操作できるようにはなったが、ミスが多く、どこかつっかえながら操作をしている感覚があった。

その事実に気付かされたのは、知人が自作キーボードでEucalyn配列を使っていると知ったときだった。今まで「キーボード配列を変えるなんてよっぽどの物好きがすることだ」と敬遠していたけど、一度調べてみようと重い腰を上げたのが1時間前で、今ではDvorak配列でこの記事を書いている。そんなお話。

2. QWERTY配列である必要性?

そもそもなぜQWERTY配列なのか。今のパソコンでQWERTY配列を使う必要はあるのか。気になって調べたところ、そんなものはどこにもなかった。QWERTY配列の歴史を調べると諸説あったが、ソースがきちんとしていたのが以下の記述。

京都大学安岡孝一氏安岡素子氏による論文によると、初期のタイプライターのテスターとして活躍したのは、電報のオペレーターであり、彼らのニーズに合うようにできたのが、QWERTYという不思議な配列だということです。Zを表す符号は、SEを表す符号と混同しやすく、特にそれが単語の始めだったりすると余計に判別しにくいのだそうです。そこでSはZやEの近くにある必要がありました。当然の事ですが、モールス信号の受け手は送り手と同じスピードでタイプライターを打つ必要があるわけですから、キーボードの配列は非常に重要だったと考えられます。キーボードがあって、それに人間が合わせるようになったのではなく、人間のニーズに合わせてキーボードが発展したのです。

(QWERTY配列が生まれた本当の理由 - GIZMODO)

Gigazineの記事にその発展の過程が紹介されているので興味がある人はどうぞ。他にも「タイプライターの都合に合わせた」などの当時の技術的な理由が挙げられていたが、現在でも採用し続けることを正当化してくれる理由はなかった。

3. Drovak配列

多分そんなことに気付いたであろうワシントン大学のDravokというおっさんが発明したのがDravok配列です。

打鍵の誤りを低減して、入力速度を向上させ、入力従事者疲労を軽減する、ことを目的に、英文でアルファベットの出現頻度と相関性を分析し、英文入力に特化して設計された。他言語の使用は想定していない。

上段と下段の使用頻度を低く、運指距離を短く設計し、母音は左手側中段、子音は母音に連接する出現頻度の降順で右手側、それぞれに配置し、右と左を交互に打鍵させて効率的で高速な入力を企図している。

キーボードを用いる文字入力速度の世界記録で、本配列が用いられた[要出典]。

(Wikipedia)

こちらがその配列。

f:id:yuuy_blog:20181123214152p:plain

頑張って発明したものの当時は受け入れられず、おっさんはこの配列をそっ閉じして別の研究に移ってしまったらしい。

この配列打鍵効率は良いものの、現代使われている多くのショートカットキーの場所が変わってしまうというデメリットがある。例えばおなじみのコピペコマンドが、QWERTY配列の「Ctrl+i」「Ctrl+.」の位置に変わってしまう。Vimキーバインドも何もかもが変わってしまう。

4. Eucalyn配列

そんな悩みを解決してくれるのがEucalyn配列だ。ショートカットでよく使うキーの配列はそのままに、打鍵効率を挙げるような配列が考案されている。詳しくは作者のブログで。

Eucalyn配列について

本当はこのEucalyn配列を採用したかったのだが、断念した。

5. 移行コスト

もちろんキーボード配列を変更すると導入コストと学習コストが発生する。しかし、今後数十年のキー入力操作の効率が改善されるなら移行コストなんて安いものだと思い、キーボード配列を変えることにした。上記以外にもいくつかのキーボード配列を調べたが、導入コストと学習コストがともに低い、手首の手根管症候群(タイピングによる負荷で痛みを発症する)を防ぐために利用する人がいるという理由でDvorak配列を採用した。先程のEucalyn配列を始め魅力的なキーボード配列はたくさんあったが、どれも導入時の設定が面倒だったので諦めた。今後キーボード配列への熱い想いが芽生えれば移行を検討したい。

ちなみにLinuxでのDvorak配列への移行はコマンド1つで完了する。

$ setxkbmap dvorak

後はdvorakjp-romantableを入れてK→C/拗音のY→H,Nにすると、日本語の子音がほとんど左手で入力でき、ホームポジション手を置いたまま文章が打てるようになる。

Dvorak配列に移行するデメリットと各OSでの移行方法について、プログラミングでDvorak配列を使いたい人のためのガイドラインという記事にまとめられているので、興味がある人は参考にどうぞ。

6. 移行した感想

キーボードのレイアウトを見ながらA〜Zまで打ち続けること15分、なんとなくどのキーがどこにあるかがわかり始め、30分経つとアルファベットの歌を等速で歌いながらA〜Zまで打てるようになった。それから記号の位置を確認し、日本語の適当な文をいくつか書いた後、この記事を書いている。

最初はかなり頭を使いながら打っていて、混乱することも多かった。利き手ではない左手で初めて文字を書いたときに混乱し、鏡文字と混ざりながら文字を書いてしまうのと全く同じ感覚を覚えた。途中からはあまり頭を使わずに打てるようになったが、今度はミスが多くなった。多分慣れてきてある程度感覚で打てるように分、慣れているQWERTY配列での手グセと混ざってきたのだろう。そこからしばらくミスを連発する時間が続いたが、2700字を過ぎたころからミスが減り始め、現在3,000時現在ではだいぶ快適に打てるようになった。

使い始めて30分のキー入力にあまり慣れていない段階でも「QWERTY配列ってめちゃくちゃ手を動かしてたんだ」って気付けるくらい手を動かずして入力できるキー配列だった。

なんか初めてフリック入力に切り替えたときと似てるなと思った。

追記

QWERTY配列Dvorak配列のヒートマップの比較を見つけたので載せておく。 Dvorak, QWERTY, COLEMAK で DvorakJPかつSKK

また10年間Dvorak配列を使っている人の動画(英語)も見つけたので載せておく。 Dvorak Keyboard: My Thoughts After 10 Years