理想のキーボード配列を求めて

一言で

ベストかはともかく、今は JIS 配列キーボードを US 配列と認識させて使う方法に落ち着いている。両配列の良いとこ取りできるのがメリット。

模索

ここ 1,2 年自分が最も快適だと思えるキーボード配列を模索しており、結論は出てないものの一旦現状をまとめる。 といっても全然違う配列に慣れるのは大変なので、あくまで QWERTY ベースの配列を数種類試しただけ。

自分の主なキーボード用途:

  • プログラミング
  • 日本語の文章作成
  • 英語の文章作成

試したキーボードと各 pros/cons

これまでに使ってきたキーボードは大きく 3 種類:

それぞれの良し悪し:

  • JIS 配列
    • ❤️ かな・アルファベットを切り替えやすい (英数・かな or 無変換・変換)
    • ❤️ アンダースコアがシフトいらず
    • ❤️ コロンがシフトいらず
    • 😢 シングルクォート・ダブルクォートが入力しづらい
    • 😢 イコールにシフトが必要
  • US 配列
    • ❤️ シングルクォート・ダブルクォートが入力しやすい
    • ❤️ イコールがシフトいらず
    • 😢 かな・アルファベットを切り替えづらい
    • 😢 アンダースコアにシフトが必要
    • 😢 コロンにシフトが必要
    • 😢 バッククォートが遠い
  • カスタマイズド
    • ❤️ どの文字も好きなキーにマッピングできる
    • 😢 カスタマイズするほど普通のキーボードと併用しづらい

自分にとっての争点:

  • 記号の入力しやすさ
    • プログラミングでは頻繁に使うため重要。
    • JIS, US それぞれに入力しづらい記号がある。
  • かな・アルファベットの切り替えやすさ
    • 日本でコード書く仕事をしてるとどちらの入力も常用する。
    • US 使用時は Space 左右のキー (Command/Win/Super) 単押しに切り替えを割り当て凌いでたが、 JIS の英数・かなに比べると遠い。
  • ポータビリティ・互換性
    • 特定のキーボードじゃないとろくに作業できない、という状態にはなりたくない。
    • 必要に応じてノート PC だけでも作業したい。特定のキーボードを常に持ち歩くのは面倒。
      • 外出先とか、オフラインのミーティングを会議室でやる時とか。

元々は相対的に辛みの少なかった JIS キーボードを使っていたが、 2020年からほぼフルリモートになったのを機に ErgoDox を本格運用し始めた。 キー配列を好きにカスタマイズできれば、通常キーボードにおける記号入力への不満を解消できると考えた。 よく使う記号を押しやすいキー (の別レイヤー) に割り当てる事で、最終的にはそれなりに満足いく配列に辿り着けた。

しかし通常キーボードとの乖離が大きい点に迷いが残り、独自の配列に習熟しきれなかった。 仕事などで Macbook 単体で作業したい機会は 0 ではなかったし、長期的な視点で考えても ErgoDox がないとパフォーマンスを出せない状態になるのは不安だった。 そのような思いもあり、独自配列のおかげでタイピングの快適さが大きく増したかと考えると、残念ながら大差ないと感じていた。

良いとこどりを目指す

ErgoDox の場合はそもそも通常キーボードなら右側にある記号キー列がなかったりと (代わりに親指部分にたくさんキーがあるものの半分は遠くて押しにくい)、物理的なキー配列が通常キーボードとは既に乖離していた。実際に使ってみてそれが自分にとってはペインだとわかったので、改めて通常のキーボードベースで満足いく方式を探し始めた。

今の自分の感覚:

  • 記号の配列はどちらかというと US 配列の方が好きだが、アンスコと英数かなキーがない点をどうしても受け入れられない。
  • JIS 配列を使いつつソフトウェアでキーマッピングを変えても良いが、やりすぎるとまた独自色が増える。カスタマイズは最小限にしたい。

これを踏まえて試行錯誤した結果、 JIS 配列のキーボードを US 配列と認識させて使う手法に魅力を感じるようになった。 こうすると物理的には JIS 配列でありながら US 配列の入力になる。例えば p の右キーが @ ではなく [ になったり。 以前からキーボードの認識ミスでこういう事象に出くわす事はあったが、それを意図的に活用するのは思いつかなかった。 この方法の良いところは、 JIS のキー数を保ちながらカスタマイズなしで US 配列の入力ができる点。 すなわち US 配列でありながら英数かなやアンスコキーが使える。これにより自分の不満のメイン部分が解消すると気づいた。 といっても US として認識させるとこれらのキーは反応しないので、そこだけソフトウェアでのマッピングが必要にはなる。 けど頑張って独自の配列を考えセットアップするよりは全然マシだと感じた。

あとは残りの不満部分だけをソフトウェアによるキーマッピングで解消する方針にした。このくらいのカスタマイズならデメリットは少ないと思っている。これで大分満足いく状態になった。

  • ; -> :
  • : -> ;
  • _ + Shift -> バッククォート
  • CapsLock -> Ctrl (これは JIS でもよくある)

シングル・ダブルクォートは入力しやすく、コロンやアンスコを単押しで入力でき、英数かなキーもある。便利。

といっても不満がないわけではない。それは記号入力の負担が右小指・薬指に集中しすぎる点。 ErgoDox の時は各指に分散できてたので余計にそれを感じた。 しかしレイヤー機能を使わずに記号の配置を分散するにはアルファベットキーと入れ替えるしかなく、これは相当勇気がいる。
Dvorak 配列 だと一部の記号が左に置かれてて良さそうに見えるが、今更 QWERTY から離れるのは怖い…。

今は Dygma Raise と併用

JIS を US と認識させる方式を使い始める少し前に、 Dygma Raise という新しいメカニカルキーボードを買っていた。 分割型でカスタマイズもできる、一般的な US か JIS 配列のキーボードを探して見つけた (JIS でカスタマイザブルなキーボードは少ない印象)。 Dygma Raise は US 配列だが、通常のキーボードに比べると親指部分にたくさんキーがあるのが特徴的。 通常なら Space バー 1 本のところに 4 つのキーがある (その下にも独自のキーが更に 4 つある)。 すなわち US 配列でありながら英数かなに相当するキーを持っていて、これは割と珍しい気がする。この点に魅力を感じ購入した。

結果割と快適に使えている。分離型で肩が楽だしパームレストが良い感じだし見た目も好きなので、今はこちらも常用中。 ただ US 配列なので追加のカスタマイズを加えている。

  • アンスコキーの代替
    • キーがないため右シフトを単押し時のみ _ にしている。この方式は誤入力がありえるのが難点だが、設定値を調整してほぼ誤入力なく使えるようになった。
  • 英数かなキーの代替
    • Dygma Raise は 2022-02 時点だと英数・かなキーに非対応なので (無変換・変換キーはあった) 、該当位置のキーに F20 など適当なキーを割り当て、それをソフトウェア側で更に英数・かなにマッピングしている。
  • チルダ (~) の代替
    • Dygma Raise のデフォルト配列だとチルダがないので、迷ったが Shift + Backspace~ に割り当てている。

Macbook というか JIS 配列キーボードと併用してもスイッチングコストは許容範囲で、気になる差分はバックスラッシュキーの物理的な位置が違う点くらい。

ちなみに Dygma Raise は Bazecor という専用のアプリでキー配列をカスタマイズする。ボタン 1 つで変更を適用できて使いやすかった。 独自のレイヤーを作る機能はもちろんあるが、前述の経験により自分は Function キーや矢印キーなど、一部の入力のみにレイヤーを使っている。 ロックインされない安心感はあるが正直ちょっともったいない。


ついでに ErgoDox のカスタマイズ備忘録

最後に、恐らくはもう使わないだろう ErgoDox のカスタマイズ内容をメモしておく。

https://configure.zsa.io/ergodox-ez/layouts/z9gOa/latest/0

目指したのは「やろうと思えば通常キーボードでも真似できるレイヤー使い」。
各種記号や矢印キーなどを集めたレイヤーを作り、そのレイヤーへのシフトキーを左右の親指の位置に置いた。 これは通常キーボードなら Space に当たる位置なので、通常キーボードでも Space をカスタマイズすれば擬似的にレイヤーを作り出せる。

例えば h キーには | (bar) を割り当てていた:

  • h + ShiftH
  • h + Shift to Layer1|

これを通常キーボードで真似する場合は、キーマッピングソフトウェアを使い Space を right option など普段使わないキーに割り当てた上で right option + h| となるようにすれば、同じような操作感を実現できる。この方法は中々上手くいった。ただし Space を潰す事になるので以下の変更をセットで行った:

  • かな → Space
  • Space 単押し → かな

Space と他のキーを組み合わせたショートカットを Vim に多数持っており「単押し時のみ Space 」ではダメなので、かなに Space を割り当てた。個人的に英数・かな・ Space は最も押しやすいキーであり、かなキーでの Space 入力は何も問題なくすぐに慣れた。 親指によるレイヤーシフトは押しやすいし、他のどの指の操作とも組み合わせやすいし、通常キーボードでも頑張れば真似できる点は気に入っていた。

ところがこのレイアウトでも、しばらく使っていると問題を感じるようになった。 親指レイヤーシフトによる記号入力は楽で最初は感動するものの、慣れるにつれて入力ミスが出てきた。 | を入力しようとして普通のシフトを押し H になってしまうとか、その逆とか。そしてこのミスの頻度が不思議と使い込む程に増えた。これはある種の運動神経の問題なのかもしれないが、 1 つのキーが 3 つ以上の役割を持つと自分の指は混乱してしまうようだった。 この入力ミスが中々なくならず、これもキーボードを再考した一因となった。

何にせよ、キーの配列をあれこれ試すのは楽しい作業だった。