LoginSignup
35
26

More than 5 years have passed since last update.

キーボードで記号がめっちゃ入力しやすくなる強化版Dvorak配列作った

Last updated at Posted at 2016-08-01

変更履歴

(16/08/13)Mac用のキー配列設定ファイルを追加しました。

(18/11/13) 画像がリンク切れしていたので再アップしました。

(18/12/01)Karabiner-Elementsの設定ファイルへのリンクを追加しました。

記号は打ちづらい

プログラムを組んでいると、とにかく大量の記号を打ちます。

  • 配列やリストを作る[]
  • 行末の;(セミコロン)
  • 全ての言語でどこにでも現れる()
  • JQueryの$地獄。。。

等等……

ソースコードはこんなにも記号に溢れているのに、記号はとにかく打ちづらい。
人間の手の構造は、SHIFTを押しながら数字キーを押したり、右小指を目一杯伸ばして[]を押したりするのには、あまりに不器用すぎます。

そこで、ほとんどホームポジションから手を離さずに記号を打てる配列を考えました。
改良を重ねつつ1年ほど使っておりますが、最近は全くストレスなく記号を打つことができます。
他の方にとっても役に立つこともあろうかと思って晒すことにしました。
その配列がこちらです。

キーボード配列.png

この配列のポイントは2つです。
ベースはDvorak配列
記号を打つにはSymbol修飾キー

ポイント1. ベースはDvorak配列

Dvorak配列とは、伝統的なキーボード配列(QWERTY配列)があまりに打ちづらいことを嘆いたDvorakさんが発明した配列です。

  • 左手に母音、右手に子音を集めることで、左右交互にタイピングできる
  • 出現頻度の高いキーほど打ちやすい場所にある

という特徴から、アルファベットが非常に打ちやすい配列になっています。
タイピングコンテストの世界チャンプがDvorak配列を使用していたことはあまりに有名ですね。

なお、上記の配列は本来のDvorak配列とは異なる点があります。この差異に関しては、補足にまとめましたので、そちらを御覧ください。


ポイント2. 記号を打つにはSymbol修飾キー

非常に使いやすいDvorak配列ですが、残念ながら打ちやすくなるのはアルファベットだけで、ごく一部の記号を除いては、記号の打ちづらさが改善していません。

そもそもなぜ記号が打ちづらいかと言うと、「大文字も記号もShiftキーを使って出力する」という前提があるからです。
アルファベットだけで26文字もあるのですから、これでは記号が端っこに追いやられるのは必然の理です。

そこで登場するのがSymbolキーです。
Shiftキーの代わりにSymbolキーを押しながら各キーを押すと、下図の右上の記号を出力することができます(記号にフォーカスするためアルファベットは省略しています)。

キーボード配列_記号のみ.png

Symbolキーを使うことにより、以下の利点が得られます。

  • ホームポジションから殆ど手を動かさずに全記号を入力可能。
  • SymbolキーはShiftよりも押しやすく、右手小指の負担が減る。
  • Symbolキーより右にあるキーを押す必要がない。右手小指の負担がますます減る。
  • 単体で記号を出力するキー(ハイフン等)とShiftキーの組み合わせが空くため、ここに好きなショートカットを割り振ることができる。

さて、ではどうやってSymbolキーを実装するのかという点ですが、MacではKarabiner-Elements、WindowsではAutohotkey、Linuxではxmodmapというソフトで実装可能です。
Karabiner-Elementsでの設定ファイルはこちらにございます。
このファイルはJISキーボードでのみ動作確認しておりますので、USキーボードだとkey_codeを微修正する必要があるかもしれません。ご注意ください。

最後に

正直個人的には、もうSymbolキーがなければ生きていけないレベルになっています。
シフトキーを押しながら数字キーを押すとか、そんな拷問には耐えられません。
プログラマはどこまで行っても記号から逃れることはできませんので、タイピングをもっと効率化したいと思っている方は、ぜひお試しください。

補足1. Dvorakとの差異

私の使用している配列は、オリジナルのDvorakとは一部配列が異なります。
「なぜ本家と違うんだ」と訝る方もいらっしゃると思いますので、一応理由を説明します。

理由1. 出現頻度の高い子音が左手にあると打ちづらい

右手だけで全ての子音をカバーできないため、本家Dvorakでは子音のうち「P, Y, Q, J, K, X」は左手で打つことになっています。
しかし左右交互に打つリズムが崩れると、想像以上に打ちづらいものです。
(半母音のYを除くと)PとKの2つはこの中では比較的出現頻度が高いため、私はこの2つのキーを押すたびにイライラしていました。
そこでPとKを右手に移動し、代わりに頻度の低いZを持ってきました。

理由2. Yをもっと打ちやすくあるべき

Yは半母音なので出現頻度が相当高いのですが、奥まった場所にあって、打ちやすくありません。
Pの場所が空いたので、出現頻度の高いYをここに置き、もとYがあった場所にZを置きました。

理由3. Symbolキーとの兼ね合い

Symbolキーを導入することで、記号の配列を一新しましたので、それに伴って記号関係は殆ど変えてあります。

補足2. 記号の配列について

正直に言って、最適な記号の配列は人によって異なります。
文末にセミコロンをつけるかどうかで、セミコロンの位置を変える等しても良いでしょう。
せっかく各OSともに簡単にキーマップを変えられるソフトがありますので、ぜひ自分だけの記号配列を作ってみてください。

35
26
6

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
35
26