自作キーボードについて

ここでは、私が現在使用しているキーボードについて述べます。

多くの方はパソコンのキーボードの事はあまり気にしないかもしれません。 動作すればそれで良い、確かにそういう意見もあります。 普段それほど長い時間パソコンを扱わない方はもちろんそれで良いと思います。

但し、私のように長時間パソコンをプログラミング等でいじっていると、 キーボードからの入力の時間はtotalで見るととても長くなりますので、 可能な限り効率的に入力できるキーボードが欲しいと考えるのは自然な流れです。 例えて言うならば、料理人が包丁を選んだり、外科医であれば手術の機器を選んだり、 眼科医であれば診療をする際のレンズを選ぶようなものだと思います。 他の人から見ると違いが分からないかもしれませんが、それを選ぶには様々な理由があるのです。

windows3.1→windows95の登場した当初、私は大学生で、 その時から英語キーボードを愛用しておりました。
なぜ日本人なのに英語キーボードを使用するのかと疑問に思われる方もいるかもしれません。
現在ほとんどの方はカナ入力ではなく、ローマ字入力で日本語を入力されていると思います。 確かにカナ入力の場合には日本語キーボードが必要ですが、そもそも、ローマ字入力では日本語キーボードでも英語キーボードでもどちらでも良いのです。
日本語キーボードは親指付近に押しにくい多数の小さなキーがあり、 また右手の小指から遠く離れたブラインドタッチほぼ不可能な部位にも多数のキーが散りばめられています。 キー入力を行う基本は、手元を見ないでブラインドタッチが原則ですが、 日本語キーボードでは英語キーボードに比べてそれが難しいのです。 そのため、ブラインドタッチを行う事から考えると、英語キーボードを選択するのが自然だと思います。
但し、企業や医院等のパソコンでは日本語キーボードの事が多く、 職場側のポリシーでユーザー側が自分で変更できない場合には仕方ないです。 職場で日本語キーボード、自宅で英語キーボードでは混乱してしまいますので、 日本語キーボードに統一するしかないかもしれません。 私は自宅も医院も、自分で使う端末は英語キーボードで統一しております。
スタッフ向けの端末は「英語キーボードにして欲しい」という要望がありませんので日本語キーボードです。 そんな訳で、たまにスタッフ向けの端末をいじると混乱します・・・。

私は当初は101(or104)英語キーボードを使用しておりました。 確かに英語キーボードの方が日本語キーボードよりもホームポジション率が高いのですが、それでも矢印キーやテンキーやhome/endキーを押す度に右手がホームポジションから外れてしまいます。 これも何とかしたいと考えておりました。

その欠点をOS側からソフトウエア的に何とかする為に、 viエディタを使用すればhjklキーでカーソル移動ができますので、 ホームポジションを保ったままカーソルの移動ができます。とても合理的です。 viエディタ以外でも同様のカーソル移動ができればもっと便利になります。 そのようなソフトが無いかと申しますと、AutoHotkeyというwindowsのソフトを使用すれば、 キーを自由に割り当てる事ができますので、例えば 「左Altキー」+「hキー」でカーソルを左へ移動、等という事も自由に設定できます。 但し、AutoHotkeyはあくまでwindows上でのソフトですので、 例えばLinux仮想マシンを遠隔操作してPythonのプログラミングを行うなどという状況ではうまく動作しません。 色々なソフトを試しましたが、それぞれの環境で微妙にキーが異なってしまい混乱してしまいますので、 ソフトウエア上でキーを入れ替えるのは仮想マシンを遠隔操作で使用する人にとっては難しいと考えました。

次に、OS側からソフトウエア的に変更するのではなく、キーボード側からハードウェア的に何とかすれば良いのではと考えまして、 色々探しました。
次にたどり着いたのは、 system76 Launch Keyboard
tel_thumb.png
海外からの輸入品のコンパクトキーボードです。もちろん英語配列です。 当時はsystem76 Launchのみでしたが、system76 Launch Liteモデルも発売になったようですので、新たに購入するのであればLiteの方が良いかもしれません。
キーマップ変更機能が搭載されており、物理キーを入れ替えてキーボードに記憶させる事ができます。 従来のキーボードとの一番の違いは、右スペースと左スペースが分割されている事です。 例えば左スペースをファンクションキーに割り当てる事により、様々な物理キーのリマップが可能です。 そもそも、従来の英語配列のキーボードのスペースキーは無駄に大きいと思います。 一般的に、キーがあまりに小さい場合には押し間違いが発生しますが、 スペースキーは誰も間違えようがないほどに大きすぎです。 スペースキーを中央で2つに分割して、右手と左手の親指で別々のキーとして押せたほうが合理的です。 もしくは、2つではなく3つや4つに分割という方法も有りかもしれません。 そのうちの1つをファンクションキーに割り当てれば、 指の移動距離が短くなり、より高速にタイピングする事が可能になります。 逆に、スペースキーを2つに分割する事によるデメリットも無いと思います。 従来通りに右手・左手とも親指をスペースキーとして使用したい方は、 そのままスペースキーとして使用すれば良いです。

似たような製品として、happy hacking keyboardもキーマップ変更機能が搭載されております。 system76 launchとの大きな違いは2点あり、happy hacking keyboardの特徴は
・スペースキーが1つ(普通です)
・コントロールキーが左下に無い
という点です。
system76 launchを含め、一般的な英語配列のキーボード(一番左下にctrlキーがある)であれば、 私は左のコントロールキーを左手の小指の付け根(手のひらの小指の肉球)で押す事により、 ホームポジションを保ったままコントロールキーを押す事ができます。 良く使用する、undo・カット・コピー・ペーストはctrl+z,x,c,vであり、 happy hacking keyboardの配列ですと、左手の小指でctrlを押しながら 左手の小指や薬指でzやxを押すのは無理です。cやvもやや難しいです。 そうすると、手元を見るか、ホームポジションから手をずらす必要が発生してしまい、 どうしても入力が遅くなってしまいます。 左のコントロールキーを左手の小指の付け根(手のひらの小指側の肉球)で押せば、 ctrl+z,x,c,vはホームポジションを保ったまま、ブラインドタッチで入力できますので合理的です。 私にとって、happy hacking keyboardのctrlの位置は苦手でした。

次に、system76 launchのキー設定についてです。
caps lockは使用しませんし、私の場合にはプログラミングではtabキーを多用しますので、 一般的なcaps lockの位置にはctrlキーではなくtabキーを割り当てております。
テンキーが無いので、左親指+左手の薬指〜人差し指の周囲のキーをテンキーに割り当てております。 通常のフルサイズのキーボードでは、右手でテンキーと同時にマウスも操作するのは無理ですので、移動しながらの数値入力の場合にはどうしても入力が遅くなってしまいます。 そもそも、何故キーボードのテンキーは左手側に無いのかが私には不思議でなりません。 左手にテンキーを割り当てれば、右手はマウス、左手はテンキー入力という形ですので合理的です。
また、普通はシフトキーが右手・左手の小指付近にありますが、 その場合にはシフトキーを押しながら大文字の英語入力を何文字か連続で行うのはなかなか難しいです。 右手のシフトキーを押したり、途中で手を入れ替えて左手のシフトキーを押したりする必要があります。 シフトキーが親指付近にあればもっと入力が容易になるはずですので、 左手のスペースキーのすぐ横のキーをシフトキーに割り当てて使用しております。
その他、ホームポジションから離れたキーは一通り近くにリマップして、 例えば左親指を押しながらhキーで左へカーソル移動、等のように設定しております。 もちろん左スペースやctrlに限らず、全てのキーの入れ替えが可能です。 キー設定はsystem76 launchキーボードの内部のファームウェアに書き込む形ですので、 OSに依存せずにどの環境でも同様の動作が実現できます。Linux仮想マシンを遠隔操作でいじる時ももちろん問題ありません。 慣れてしまうと超快適です。もうこれ無しではとてもパソコンをいじれないです。

system76 launchのキー配列はとても気に入っているのですが、問題なのは打鍵感です。 購入時、当時はRoyalsとJadesの2つの軸がありまして(今はBrownsとPinksが追加になったようです)、Royalsの方が静かで良いかなと思いましてRoyalsの軸を注文しました。 実際に使用してみますと、Royalsでも打鍵音が耳障りで気になってしまいまして、交換する事にしました。
system76 launchのキーの入れ替えは、キートップを外してからマイナスドライバーもしくは専用の工具を上下から挟み込むように押し込んで持ち上げると、スポッと取れます。 下の写真に写っているのはSILENT RED軸です。 キーボードには光る機能も付いていますが、私はoffにしています。
tel_thumb.png

もともと刺さっていた軸は紫色のこのような2ピンのタイプでした。
tel_thumb.png

交換する軸は、おそらくCHERRY MX互換であればOKなはずです。
購入は
FICLO
遊舎工房
等から可能です。私は両者から購入しまして、もちろんどちらの商品も普通に動作しました。 10種類ほど色々な軸を試してみまして、最終的に気に入った軸は本家のCHERRY MXではなく、 Kailh Midnight Silent V2 Switch / Tactile です。打った時の打鍵感がある割にはそれほど五月蝿く無く、軸もしっかりしてブレず、心地よい使用感です。 RealForceシリーズの打鍵感にやや近い感じで、Curve diagram(距離−力)の図を見てもRealForceシリーズのような滑らかなカーブを描いています。
キートップは全て共通利用できました。

system76 launchのソフト(Keyboard Configurator)ではF1〜F12までは設定できますが、GUI上からはF13以降は設定できません。 もしF13以降を設定できれば、F13以降のキーにマクロを割り当てる事ができますので便利です。 色々試してみましたところ、Keyboard Configuratorで設定した後にjsonをエクスポートし、そのjsonファイルをエディタで編集して、例えば「F11」と書いてある部分を「F13」に書き換えて保存し、そのjsonファイルをKeyboard Configuratorで読み込めば、無事にF13に割り当てる事が可能でした。 その方法を応用しますと、例えば、

右スペースキーの右の位置
-> system76 launchでF13へ割り当て
-> AutoHotKeyでIME OFFボタンへ割り当て

左スペースキーを押しながら右スペースキーの右の位置
-> system76 launchでF14へ割り当て
-> AutoHotKeyでIME ONボタンへ割り当て

;AutoHotKeyを使用したF14/F13キーでのIME ON/OFFのスクリプト
;同じディレクトリにIME.ahkが必要です。
;-----拡張子を.ahkに変え保存------
#InstallKeybdHook
#UseHook
#Include IME.ahk
exit
$*~F14::Send {Blind}{vk07}
F14 up::
if (A_PriorKey == "F14")
{
IME_SET(0)
}
Return
$*~F13::Send {Blind}{vk07}
F13 up::
if (A_PriorKey == "F13")
{
IME_SET(1)
}
Return
;--------------------------------

などという事も可能です。この方法ですと、仮想マシン上のwindowsでもIME OFFが右スペース、IME ONが左スペース+右スペースの右で可能です。 単純に右スペースの右を押す度にIME ON/OFFでも良いのですが、その場合、IMEがONなのかOFFなのか常に認識している必要がありますので、やや不便です。
AutoHotKeyをインストールしたままにするとセキュリティ上の一抹の不安がありますので(以前AutoHotKey環境で感染するウイルスというのが存在しました)、 仮想マシンへAutoHotKeyをインストールして実行ファイルを作成し、出来上がった実行ファイル(.exeファイル)のみ本番環境にコピーするとより安全です。
尚、仮想マシン上のLinuxでは私は日本語入力を使用しないため、LinuxではF13・F14は不使用です。


============================================
その後、とうとう自作キーボードにハマってしまいました。
現在使用しているキーボードは、Corne Cherryという製品です。 tel_thumb.png
本来は自分で組み立てるものですが、遊舎工房で組み立てサービスもあり、またオークション等で組み立て済のものも出品されておりますので、今はそれほどハードルは高く無いと思います。
全てのキーを自由に割り当る事ができます。親指付近のキーにファンクションキーを割り当てると便利です。
慣れるまで少し時間がかかりましたが、慣れたら従来よりもさらに高速で入力できるようになりました。 ホームポジションから全く手を動かさないでOKです。
キーの数が少ないかな?と考えましたが、使用してみるとちょうど良いです。
キーボードの裏側には振動防止のゴム足(1mm厚のハネナイト粘着付)を、本体がテント状になるように重ねて微調整して貼りました。
液晶はセキュリティ上の面を考えて非表示にしました。
左右のキーを分離すると、打鍵の時の振動で微妙にずれる事があるため、ステレオミニプラグ中継コネクタで連結しました。
当初はキートップに印刷済のものを使用しておりましたが、キー入力を行う時に手元を見る事は無いですので、無印のキートップに変更しました。
遊舎工房の「無刻印104 キートップセット PBT」というキートップです。
美しく、PBTのため打鍵感が心地よい感じです。実際に使用してみると、印字が無くても全く不自由を感じませんでした。
軸は Kailh Midnight Silent V2 Switch / Tactileを使用しております。
自作キーボードはおすすめです。普通のキーボードにはもう戻れません。
診察室にこのキーボードがあると、時々変な目で見られるのが玉にキズです。


何か少しでも皆様のお役に立てる情報がありましたら有り難いです。
皆さんもキーボードをカスタムして快適な生活を送ってみませんか?

2023年12月記載