Thinkpad USB キーボード(0B47208) Mac で Fn を有効にする方法

リモートワークなんで私物の mac と 会社の mac があり、デスクの上にキーボードが(bluetooth)2つ、マウス(bluetooth)が2つあり、
キーボードとマウスでデスクを占有してしまい。どうにか改善できないか考えていました。

bluetooth のキーボード、マウスを2台のPCで切り替えるのはいろいろ問題ありそうなんで、
もう USB切り替え器を購入して、USBのキーボード、USB受信器のあるマウスにすることにしました。

USB切り替え器:https://www.amazon.co.jp/gp/product/B071NM5GRW/ref=ppx_yo_dt_b_asin_title_o06_s00?ie=UTF8&psc=1
USBマウス:https://www.amazon.co.jp/dp/B005EUU1NW/ref=cm_sw_r_tw_dp_dlT2_D7a.FbPCQRKSN?_encoding=UTF8&psc=1
購入したUSBキーボード:https://www.amazon.co.jp/gp/product/B00DLK4GR4/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1

キーボードで問題発生

レノボ・ジャパン ThinkPad トラックポイント・キーボード – 日本語 0B47208 Lenovo

  • https://www.amazon.co.jp/dp/B00DLK4GR4/ref=cm_sw_r_tw_dp_9Oa.FbXQBKJPB?_encoding=UTF8&psc=1

  • mac キーボードのキーマップ設定には、Karabiner-Elements が必須だと思うんですが、まず最初に Fn のボタンを command へ変換しようと設定しようとしたらどうも設定できない。

  • Fn キーはなにが送信されているか Evnet Viewr で確認

なにも送信されない!!

どうにか設定できないか調査

  • 価格comのレビュー:https://bbs.kakaku.com/bbs/K0000551094/SortID=17703409/
    • だめなのか、なにも解決方法の記載はなし
  • Karabiner-Elements の github の issue を確認:https://github.com/pqrs-org/Karabiner-Elements/issues/999
    • Logitech のキーボードでも fn キーの同じ問題があり、Karabiner-Elements 側では fn の code がPCへ送信されていないのでどうしようもないというコメント
  • キーボードを分解して、配線を改造する:https://forums.lenovo.com/t5/Displays-Options-and-Accessories/External-Thinkpad-Keyboard-KU-1255-switch-Fn-Ctrl-on-non-thinkpad-PC/m-p/2192639?page=3#3954879
    • これは無理だろ。ここまでしないといけないなら、他のキーボード買う。
  • ファームウェアを修正:https://github.com/lentinj/tp-compact-keyboard/issues/32#issuecomment-687659110
    • ほんまにこれでできるのか? でもこれを試してみるしかない。他に方法はないし。

Thinkpad USB キーボードのファームウェアを更新する exe ファイルをバイナリエディタで修正

  • 「Fn」と「Ctrl」の入れ替えはしない。「Ctrl」にはなにか割当てするので。「Ctrl」キーが効かなくなるのは問題です。
  • どうせ、Karabiner-Elements でキーの変更をするのでなんでもいいから「Fn」を押下したとき、キーの Code を送信したい。

設定内容

  • Fn → 右ALT
  • 右ALT → Fn

右ALTはどうせ使わないし、とにかくなにか code が送信されればOKなんでこんな設定。

WindowsのPCを起動

ファームウェアを更新する exe ファイルをダウンロード

  • https://support.lenovo.com/jp/ja/solutions/pd026745
    • のサイトから「ThinkPad Compact USB キーボード with トラックポイン ファームウェア(505.1 KB) リリースレター (1.4 KB)」を押下し、tp_compact_usb_kb_with_trackpoint_fw.exe ファイルをダウンロードする。

バイナリーエディターのFavBinEditをダウンロード

  • https://www.vector.co.jp/soft/winnt/util/se504539.html

FavBinEditでexeファイルを開く

  • FavBinEditを起動して、tp_compact_usb_kb_with_trackpoint_fw.exeを開く

Fnの修正

  • アドレス:0x740BA (475322 decimal) F5(0xf5) を BC(0xbc) へ修正

右ALTの修正

  • アドレス:0x7409E (475294 decimal) BC(0xbc) を F5(0xf5) へ修正

参考URL

  • Fn:https://github.com/lentinj/tp-compact-keyboard/issues/32#issuecomment-687659110
  • 右ALT:https://github.com/lentinj/tp-compact-keyboard/issues/32#issuecomment-751218294

Fnのアドレスへ移動

Fnの修正前

Fnの修正後

右ALTのアドレスへ移動

右ALTの修正前

右ALTの修正後

上書き保存する

WindowsのPCにキーボードを接続してファームウェアを更新する。

  • tp_compact_usb_kb_with_trackpoint_fw.exeをダブルクリックする。

アップデート完了後の画面

Mac にキーボードを接続してEvnet Viewr で確認

right_option が送信された!! あとは Karabiner-Elements でゴニョゴニョしてカスタマイズしよう。

  • Fn に Command を設定し、 Fn + v で貼り付けをしようとしたら指がギリだ!!