親指シフトだろうが、薙刀式だろうがEucalynだろうが、
配列を変えるには、
キーの触れたスイッチからPCが受け取る信号の間に、
何かを噛ませることで実現している。
どこに噛ませるかという整理をしておこう。
キーボード内部
キーボードとPCの配線の間
PC内部でソフトウェア的に変換
OSレベル
キーボード内部
親指シフトキーボード(物理)、
自作キーボードなど。
PCはキーコードという定められた信号を受け取ることで、
「今○○のキーが入力された」と理解する。
それをキーボード側から送ればよい。
通常のキーボードはJISで定められた配置に、
信号が対応しているが、
親指シフトキーボードや自作キーボードでは、
別の位置のキーは別の信号を出すように、
プログラミングされている。
親指シフトキーボードは配線レベルで決まっているか、
配線は普通で、内部にマイコンが内蔵されていて随時変換しているかは知らない。
自作キーボードの場合、
配線は普通にしておいて、
内部のマイコン(ProMicroやATMegaなど)が、
○○のオンを検知したら○○を出す、のようにプログラミングされている。
それは自由にプログラミングできる(ファームウェア)。
c++言語で記述された、QMK_firmware形式で書けばよい。
既成キットにはデフォルトファームウェアが用意されているので、
それをチョチョイと書き換えれば、
好きなようにキーマップを弄れるわけだ。
また、プログラミングできるということは、
そのメモリ限界内で、複数の配列を搭載することも可能なわけだ。
切り替えキーなどをプログラミングして、
qwerty、colemak、薙刀式、親指シフト、などを切り替えられるようにプログラミングしてしまえば、
複数配列の入っているキーボードが出来上がる。
(積極的にはそのように格納し、
消極的利用としては、Win用配列とMac用配列を切り替える、
などの小さいやり方もある)
物理キーボード内ですでに書き換えが終わっているのが、
一番強い。
どのPCと繋いでも、その配列が使えるわけだ。
キーボードとPCの配線の間
キーボード内に書き換えるマイコンを持たないものの場合、
キーボードから出力された信号を受け取り、
望みのものに変換するコンバーターで変換する手もある。
「かえうち2」「OyaConv」がそれにあたる。
USBなどで結線して信号変換するとよい。
かえうちは、独自のGUIでプログラミング可能だ。
どんなキーボードであったとしても、
コンバーターさえ噛ませばその配列になるので、
キーボードを選ばない利点がある。
また、AのキーボードでもBのキーボードでもCのキーボードでも成り立つような、
配列を組むこともできる。
もちろん配列切り替えもだ。
また、「USB2BT」はキーボードUSB接続、
PCはBTで接続でき、親指シフトにも対応しているそうだ。
PC内部でソフトウェア的に変換
入力信号をある配列に変換する常駐ソフトウェアを、
エミュレータという。
Windowsでは、DvorakJ、やまぶきR、のどか、紅皿などが有名。
独自のプログラミング言語でプログラムすることが前提。
AutoHotKeyのような、キー入力をハックするためのプログラミング言語もあるよ。
(DvorakJはAutoHotKeyで書かれた実行ファイル)
プリセット配列を使うこともできる。
Macでは、Karabiner-elements、Lacailleが有名。
どんなキーボードでも受け取った信号を変換するだけだから、
そのPCにインストールしていればその配列になる。
ただし昨今のセキュリティ強化により、
インストールが難しくなっている。
(DvorakJはUSBメモリからでも起動可能)
また、OSアップデートについていけず開発が止まったエミュレータも累々とある。
OSレベル
たとえばMacには、デフォルトでDvorak配列に切り替えることができる。
また、US配列、JIS配列、
qwertyローマ字、JISカナの切り替えもOSレベルだ。
MS-IMEでは、操作系をユーザー定義に変更できる。
またローマ字定義テーブルを書き換えられるので、
それを利用した独自配列定義も可能なものがある(月配列系)。
Google日本語入力では更にバラエティに富むことが出来る。
(らしいが詳しくないのでここまで)
色々なレイヤーで、配列を変えることができる。
僕は、
DvorakJとWinで薙刀式を使っている。
(USBメモリにも入って、持ち歩いている)
MacでMiniAxe薙刀式を使うためのQMKを準備中。
かえうちとお気にのキーボード(リアフォ一択?)で、
色んなマシンに挿している人もいるだろう。
PCは、据え置き、ノート、タブレット、スマホと、
さまざまな形がある。
キーボードにも、物理配列が違うものがたくさんある。
そのどれでも同じように使えるために、
みんな色んなレイヤーで組み合わせを苦労しているよね。
一台のマシンでしか使わないならエミュレータ、
複数のマシンなら、かえうちかQMKが、今のところ最強かもしれない。
かえうちは3キー同時押しに非対応。
QMKはかなり自由度が高く、しかしなかなかのプログラミング能力が必要。
ただ、色んなパターンで先人が用意してあるものが多いので、
調べる力さえあれば見つけることができるはず。
2020年07月11日
この記事へのコメント
コメントを書く