はじめに
さらです。
近年、キーボードを使っていると、だんだんと小指が痛くなることが知られています。(要出典)
(出展: http://happylilac.net/sy-keyboard03.html)
キーボードの配列にも依りますが、少なくとも一般的な
qwerty配列のキーボードで文字を入力する時、各指の稼働には必然的にばらつきが生まれます。
脳死して殆どスペースキーを叩くだけの親指、
文字・数字・記号の入力にしか用いられない人差し指・中指・薬指、
そして、
文字・数字・記号の入力に加え、shift・ctrl・altなどの押下&ホールド、return・backspace・tab・escapeの入力、時には英語・日本語切り替えにまで用いられる、小指とかいう哀れな指。
こうして見るとなかなかにすごい仕事配分です。まるで日系IT企業の現場ですね。
これで例えば小指という指が、5本の指の中で最も力の込めやすい指なら、このような一局集中にも合点がいきますが、
実のところ小指というのは、薬指と並んで力が入りにくい2本の指に入ります。(要出典)
むしろ小指の用途は文字・数字・記号の入力くらいに留めておき、他のキーに仕事を押し付けるべきです。
では逆に力を込めやすい指はどれでしょうか。
親指と中指です。(要出典)
中指さんはそこそこ仕事をしていますし、主に他者に対して悪意・攻撃性を表明する際に用いられたりで忙しいです。
一方その頃、親指さんは無心でスペースキーを叩いています。ひらすらスペースキーを叩いています。
たまにcommandキーなんかも押しますが
スペースキーの重さをreturnの6倍にでもしないと割に合いません。
ここまでを一旦まとめますと、
実のところ一般的なqwerty配列は
理想的とは言えず、
手近な解決方法としては
"小指でしか押せないキーを可能な限り親指で押せるようにする"
ことに尽きるのです。
解決策としてのキーボード設計
実は似たようなことを考える人は世の中に多数いるもので、
上記のような解決策をとるために配列が工夫されたキーボードが売られています。
(出展: https://www.massdrop.com/buy/infinity-ergodox, https://www.kinesis-ergo.com/shop/advantage-for-pc-mac-refurbished/)
Ergodoxや
Kinesis Advantageといったキーボードは、基本的にはqwerty配列を踏まえつつも、親指で押せる位置に大量のカスタムキーを搭載しており、ここに好きなキーを割り当てることことができるようになっています。
うまく割り当てることで、
returnやshiftといったキーを全て親指で押せるように設定し、小指の稼働を最小化することができます。
変態配列だの慣れが必要だの色々言われていますが、実のところ根本にある思想は極めてシンプルに合理的です。見た目がキモいとか言ってはいけません。
解決策としてのキーマッピング
キーボードをErgodoxなどに置き換えることで解決できるなら、それに越したことはありません。
しかし現実的には、様々な障害が存在します。
- - そもそもこういったキーボードは"高い"です。「キーボードに3万円以上出すのなんて普通」みたいな感性でないときついものがあります。
- - 仮にキーボード自体を入手できたとしても、例えば外出先でノートパソコンを使う場合などは、結局ノートパソコンについている普通の配列を使うことになってしまいます。
なお、外出時までkinesisを持ち運ぶような男前な方は恐らくこんな記事は読んでいないと思うので基本的に無視しますが、それにしたって外付けキーボードを広げられる環境ばかりではありません。
- - 上記のような特殊配列キーボードは、基本的に全てメカニカルキーボードです。
HHKBやRealforceといった静電容量無接点方式のキーボードを愛する人は、乗り換えが極めて困難です。
……いや別に誰の話というわけではないですよ?
(かつてはμTRONという静電容量無接点の特殊配列キーボードが存在したのですが、現在は入手が困難です。欲しい欲しい欲しい欲しい)
そこで活用できるのが
ソフトウェアによるキーマッピングです。
キーボードの機能をソフトウェアにより擬似的に書き換えて、小指で押さないといけない機能をなるべく親指で押せる位置に持っていきます。
これなら無料でできます。とってもお得です。
なおキーマッピングについては、本ブログでも
一度書かせていただいておりますので、もし丁寧な解説が必要ならご参照下さい。
私は、主にスペースキーの両側にある
commandキーにマッピングを設定しています。
commandキーというのは、例えば"c"と同時に押すことでコピーができたり、"v"と同時に押すことでペーストができたりするキーです。
altキーはちょっと押しにくいので、今のところあまり使っていません。
ここで例えば、右commandキーをソフトウェアでreturnに置き換えてしまえば、親指でreturnが押せるようになりますね。
しかしながら、commandキーは左右の2つしかないので、一方にreturn 一方にctrl みたいな割り当て方をするとキーの数が足りません。
そもそもそんなことをすればcommandが入力できなくなってしまいます。ショートカットを使う時などに不便なので、commandキーとしての機能を完全に失ってはいけません。
2つしかないcommandキーに様々な動作を割り当てるためには、commandキーを
単体で押した時と、他のキーと一緒に押した時とで、細かく挙動が変わるように設定する必要があります。
以上を踏まえまして、現在私の使用するPC(mac/windows)は全て、大体以下のようなキー配置になっています。
・左commandキーを単体で押すと英語入力に切り替わる
・右commandキーを単体で押すと日本語入力に切り替わる
・左commandキーを他のキーと一緒に押すと原則"commandキー"として機能する
・右commandキーを他のキーと一緒に押すと原則"ctrlキー"として機能する
・左functionキーは"右commandキー"として機能する
・右commandキーをスペースキーと同時に押すと"return"が入力される
・右commandキーを"e"と同時に押すと"escape"が入力される
・右commandキーを"d"と同時に押すと"backspace"が入力される
・右commandキーを"t"と同時に押すと"tab"が入力される
・左commandキーと"h" "j" "k" "l"を同時に押すと、それぞれ "←" "↓" "↑" "→"が入力される
完全に脳トレですね。
しかしこれでshift以外は全て小指から離すことができますし、commandキーのショートカットも左右にさえ気をつければ全て使えますし、手の位置を一切動かすことなく矢印キーまで入力することができます。
一見かなりごちゃごちゃしていますが、慣れると普通に無意識で打てるのでご安心下さい。
たまに他の人のパソコンを操作する際には、改行しようとしてスペースキーを連打したりしますが、少し発狂したあとで「ハッ そうかreturnキーというものがあるのか」と人生で初めてPCを触った時点に立ち返るだけなので、それほど支障はありません。
私はUS配列のキーボードを使っているのでこうなっていますが、日本語配列のキーボードは親指で押せるキーが少し多いので、shiftキーもうまいこと親指に持って行くことができるのではないでしょうか。
現在は左altキーを"shift"に置き換える作業を頑張っていますが、windows上でうまく動かなくて苦労しています。
さいごに
もちろん、こういう変則的なキーボードやマッピングは、ある程度の慣れが要求されます。
例えば、command+スペースキーでreturnが入力されるように設定したとしても、結局いつも慣れで普通にreturnを叩いてしまい、一向に新しいマッピングに慣れることができない、という状況になりがちです。
私は、敢えて本来のreturnキーをソフトウェアで潰して一切機能しないようにすることで新しいマッピングに慣れました。それが面倒なら、returnキーに画鋲を貼り付けるなどの手法により、該当キーを叩くたび痛みが伴うようにすると良いと思います。改革には痛みが伴うものです。
それでは良いマッピングライフを!
FAQ
Q. ソフトウェアって具体的に何?
A. windowsはkeyhac, macはkarabinerを使っています。他にもいくつか選択肢があります。
Q. 例えば特定のキーを2回連打した時にreturnが入力される、とかは?
A. 可能ですし似たようなことをやっている人もいますが、該当のキーを叩くたびに遅延が発生するので個人的にはおすすめしません。例えば"j"を2回連打するとreturnが入力されるようにすると、jを打つたびにほんの一瞬文字入力が固まるようになります。人によると思いますが、私は結構ストレスが溜まりました。
Q. mac/windowsでできるらしいけど、linuxは?
A. linux母艦を捨ててしまったので検証していません。理論上は同様のことができるはずです。
Q. 設定ファイルよこせ
A. githubにあります。個別に連絡いただければ対応します。
Q. μTRON持ってるよ
A. よこせ
Q. 日本語配列キーボード使えば?
A. 返す言葉もございません。それでもぼくはUS配列がすき