Lenovoキーボードをもっと俺好みにしたい1

Lenovoキーボードとは

www.lenovo.com

こちらのThinkpadトラックポイント付きUSBキーボードのことです。
鍵打感がショボいという声もありますが、私は好きです。もちろん赤ポチも。
LenovoのノートPCではBIOS設定で、ファンクションキーとCtrlキーを入れ替える事ができるのですが、こちらの外付けキーボードでは不可能でした。。。。

他のキーも含めてカスタマイズできるようにしたいと考え、分解&再構築に挑戦することにしました。

キーの部分はそのままで、キーボード内部の基板(制御IC)をProMicroマイコンに置き換えることで、自由にカスタマイズできるのではと考えました。
そのためには中身を知る必要があります。

分解して解析

こちらの記事を参考にしながら分解しました。
私の持っていた有線版も、記事の無線版と同様にビスは使われておらず、同じ方法でこじ開けて中身を確認することができました。

asukiaaa.blogspot.com

中に入っていたのは、USBコネクタの付いたメイン基板、トラックポイントと全てのキーが乗った板状部品の2つのみ。
バッテリーは無いのですが、底カバーの所定箇所が空洞になっていたので、無線版と有線版で共通部品と思われます。
キースイッチ板から2つのフレキが出ていて、それぞれメイン基板と繋がっていました。 トラックポイント用フレキは4ピン、キー配列用は28ピンでした。

28ピンがどのキーとどのように繋がっているのかを把握する必要がありますが、板金などで覆われているので見えません。
剝がすと再生不可能っぽいのでソフトウェアで解決したいと考えました。
自作キーボードのDiscordにて諸先輩方から頂いたアドバイスを参考に、マイコンとMCP23017を使ってキー配列をスキャンすることにしました。

配線図(?)とコード内容

アイテム 数量
マイコンProMicro 1個
1.0mmピッチ28ピンFFC変換基板 1個
MCP23017_I2C_IO拡張ボード 1個

配線図は....すみませんが写真で勘弁願います。

写真左の28ピンコネクタのうち、12ピンは写真右下のマイコンと、16ピンは写真上側のMCP23017と配線。マイコンとMCP23017はI2C接続するように配線しました。
左側基板のコネクタにキーボードのフレキを、右側のマイコンにUSB経由でPCと接続します。
Arduinoスケッチは別途Qiita記事に書きましたので、こちらを参考お願いします。

qiita.com

解析結果!

28ピンのうち、4ピンはマウスボタン入力用で、残り24ピンをマトリックスにしてキー入力となっていました。
予想以上にバラバラの配置になっていました。Shift/Ctrl/Altなど同時押しする機会が多いキーだけ列を分けているのも何か理由がありそう。その割には問題のFnキーは独立していません。詳しい人の解説が欲しいですね。
今回は双方向から解析しており行列どちらを出力にしても同じ結果となりました。つまり同時押し対策のダイオードは予想通り入ってませんでした。

トラックポイントの4ピンについても変換基板を購入していて解析しようとしてみましたが、抵抗値の変化が微妙過ぎて捉えきれず。
ひずみゲージを使っていて、メイン基板側にアンプ回路が入っていると推察されます。
ProMicroマイコンに置き換えた場合、感度調整やセンタリング誤差の考慮など、色々と自前でやる必要がでてくるので、トラックポイント部のみは元の基板を流用した方が良いのかもしれません。

次回に続きます。