以前、ポメラのキーボードをメカニカルキーボードに改造した「メカポメラ」を作りましたが、それは毎日便利に使っています。
Wi-Fiに繋がることと、モバイルバッテリー対応にしたことで利便性が増して、すっかりFreeWriteの座を奪ってしまいました。
すぐに起動して、文字を打つことに集中できるポメラを、19㎜ピッチの大きなキーで打てるのは心地良いです。
ですが、そんな「メカポメラ」を使いながらも、このキーボード部分がHappy Hacking Keyboard(HHKB)の静電容量スイッチだったら、などという妄想がふつふつと沸いてきました。
メカニカルキーボードの打ち心地も申し分ないのですが、HHKBの打ち心地は他に代えがたいものがあります。
HHKBでポメラを使えたら最高です。
そこでさっそく、HHKBをポメラに繋ぐ方法を考えてみました。
大まかなイメージとしては、HHKBをarduinoなどのマイコンボードと繋いで打ったキーを取得し、その信号をポメラに送れば、それが実現できそうです。
さらに、今回はHHKBを改造せずに、そのままUSBケーブルでポメラに繋ぐことができればと思います。
USBケーブルで繋げるようにしておけば、HHKBに限らず、好みのUSBキーボードを繋げるようになるからです。
HHKBをマイコンボードに繋ぐ方法はすぐに分かりました。
USBホスト機能があるマイコンボードか、マイコンボードにUSBホストシールドを付ければ、簡単にそれが実現できます。
一方で、そこで得た信号をポメラに送ってポメラを動かす方法は中々分かりませんでした。
ポメラを分解して中の基板を眺めていましたが、ポメラのキーボードのフラットケーブルから続く配線は、黒い樹脂の中に封入されたCPUらしき部品に繋がっていて、中がどうなっているのか分かりません。
私の技術ではhackすることもできません。
そこで、単純に、リレースイッチなどにマイコンから指示を出してスイッチを押す、というアナログな方法を考えました。「メカポメラ」のキースイッチ部分を、外部からの信号で操作できるリレースイッチに置き換える方法です。
HHKBで打ったキーをマイコンボードが読み取り、マイコンボードがポメラのキーを打つ形です。
ポメラのキーボードの配線は、「メカポメラ」を作るときに調べてあるので、それが利用できます。
しかし、HHKBの全てのキーの分、70個近いリレースイッチを揃えるのは現実的ではありません。
70個のリレースイッチがカチャカチャと動いてキーを打つその姿は馬鹿馬鹿しくて壮観でしょうが、実用的ではないので、もう少し小型化するために、リレーの代わりにアナログスイッチICを使うことにしました。
用意したのはTC74HC4066APというアナログスイッチICです。
このICには、一つの中に4つの双方向スイッチが入っていて、外部からの信号を受け取ってスイッチのオンオフを制御します。一つのICに4つのスイッチということは、キーボード一つ分、約70個のスイッチをまかなうには18個のICが必要な計算です。
リレーを70個並べるのに比べれば規模は小さくなりましたが、18個のICで、一つのICに足が14本付いているので、はんだ付けなどを考えたら気が遠くなりそうです。
そこで、もう少し効率が良い方法を考えます。
これは、メカポメラを作るときに、ポメラのキーボードを分解してスイッチの配線を確かめたときの配線図です。ここから、キーボードのマトリックスというようなものを表にしてみました(配線の番号は私が上から数えた任意の番号です)。
1 | 2 | 3 | 4 | 5 | 6 | 8 | 9 | 11 | 15 | 16 | |
7 | shift右 | ||||||||||
12 | 電源 | ||||||||||
13 | alt | ||||||||||
17 | ctrl | ||||||||||
18 | shift左 | ||||||||||
20 | F9 | space | menu | → | V | 無変換 | caps | ||||
21 | F8 | del | B | ¥ | ↓ | C | X | tab | |||
22 | N | F7 | ins | G | ^ | BS | ← | F | Z | 2 | |
23 | H | 8 | F10 | Y | = | [ | ↑ | D | S | 1 | |
24 | U | I | 9 | T | 0 | ; | \ | R | A | F2 | |
25 | 7 | J | O | 6 | @ | / | enter | E | W | F1 | |
26 | F6 | M | K | 5 | P | . | ] | 4 | Q | 半 | |
27 | F5 | 前候 | , | F4 | L | kana | : | F3 | 3 | esc |
この表のように、たとえばキーボードの「A」のキーが押されると、15番と24番の配線が接触してキーが押されたことになります。
ということは、ポメラから出ている28本の配線の一端を全部繋いでおいて、28本に一つずつスイッチを配し、キーを押したときに2個ずつスイッチを開ければ、配線が繋がってキーを押したのと同じ状態になります。
表をよく見ると、シフトキーやコントロールキー、Altキーなどの同時押しが必要なキーは別系統にまとめられているので、混線することもありません。
電源用の線や、使っていない線などを省いて、ポメラで使用するキーの分だけピックアップすると、最低で22個のスイッチが必要で、結果、6個のICで十分だと分かりました。
これくらいなら配線できそうです。
方向性が決まったので、次回は、使用するマイコンボードを選んで、回路やそこで動くプログラムなどを考えてみようと思います。
ポメラにHHKBをつなげる②に続きます。
<Sponsered Link>