Lenovo ThinkPadトラックポイント・キーボードのファームウェアを改造
「Fn」キーを使えるようにしてみた
ThinkPadトラックポイント・キーボードの困ったちゃん「Fn」キーだが、やはり同じことを考えていた先人達がいるもので、ファームウェアを改造する(パッチを当てる)ことでキーコードを送出させるようにできるようだ。情報元は
Customise USB Compact Keyboard Firmware #32
で、「Fn」キーの送出キーコードを変更する話は、ここが参考になろう。この情報を元に、日本語でやり方を解説しているサイトも幾つか見つかった。
大まかな方法は、
- LenovoのホームページからThinkPadトラックポイント・キーボードのファームウェアアップデータを入手する
- バイナリエディタでファームウェアアップデータを編集
- ThinkPadトラックポイント・キーボードのファームウェアを更新
となる。作業にはWindows PCが必要になる(Parallels Desktopの仮想マシンではファームウェアアップデータがThinkPadキーボードを認識してくれなかった)。
ワタシの方針としては、
- 「Fn」キー機能は使えなくても構わない
「Fn」キーとファンクションキーの同時押しによる音量、輝度調整などはできなくても良い
- 「CapsLock」と「左Ctrl」キーは Karabiner-Elements で入れ替える
「CapsLock」→「左Ctrl」
「左Ctrl」→「CapsLock」
- したがって、「Fn」キーを「CapsLock」として使うためには「Fn」キーが「左Ctrl」のキーコードを送出するようになればよい
1.ThinkPadトラックポイント・キーボードのファームウェアアップデータを入手する
以下のホームページから "ThinkPad Compact USBキーボード with トラックポイント ファームウェア"をダウンロードする。現時点でリリースされているのは、Ver.3.30, 2015年5月12日リリースのもの。
ThinkPad トラックポイントキーボー ド - 製品の概要とサービス部品
2.バイナリエディタでファームウェアアップデータを編集
ダウンロードした "tp_compact_usb_kb_with_trackpoint_fw.exe" を任意のバイナリエディタを使って書き換える。今回は Stirling を使用した。書き換える箇所は アドレス 0x740BA(ここが「Fn」キー)。
の値 "0xF5" を、
値 "0xBA"(「左Ctrl」のキーコード)に書き換えて上書き保存する。
3.ThinkPadトラックポイント・キーボードのファームウェアを更新
Windows PCに ThinkPadトラックポイント・キーボードを接続し、上で書き換えた "tp_compact_usb_kb_with_trackpoint_fw.exe" をダブルクリックして起動する。
「Start」ボタンをクリックするとプログレスバーが進み、
ファームウェア更新が成功すると、このように表示される。
以上で「Fn」押下で「左Ctrl」のキーコードが送出されるようになったはずなので、ThinkPadトラックポイント・キーボードを Macに繋ぎ変える。後は Karabiner-Elementsで「CapsLock」と「左Ctrl」キーを入れ替えればOK。
今、ファームウェア改造した ThinkPadトラックポイント・キーボードでこれを書いているのだけど、キーボード左下隅に左手小指を伸ばしてキーを押せば日本語かな/英語が切り替わる。うん、なかなか快適。ただ、このキーボードには「CapsLock」LEDがないので、今どっちの状態なのかが判りにくいのが難点かな。まぁ、このへんは追々考えるとしよう。
「Command (Win)」キーと「Option (Alt)」キーもKarabiner-Elementsで入れ替え、ついでにキートップも入れ替えて Mac風ThinkPadキーボードの出来上がり(^_^;)。
|