LoginSignup
4
1

More than 3 years have passed since last update.

1台のBluetoothマウスをマルチブート環境で使う方法

Last updated at Posted at 2020-11-01

はじめに

私は所有するPCをすべてWindowsとUbuntuのデュアルブートにしています。

Unifyingレシーバーのような、専用のUSBドングルであれば問題ありませんが、
Bluetoothマウスの場合、それぞれのOSで毎回ペアリング設定を行う必要があり、
非常に面倒です。

そこで、1台のBluetoothマウスを再ペアリングしなくても、それぞれのOSで使用できるようにするための方法を紹介します。
これに関して説明してくださっている記事はいくつかあるのですが、私の環境では細かなところで詰まったため、補足説明を加えて説明していきます。

環境

  • PC
    • Microsoft Surface Book 2 15''
      • CPU : Core i7 8650U
      • RAM : 16 GB
      • OS : Windows 10 Pro ver.1909 / Ubuntu 20.04 LTS
    • Lenovo ThinkPad T14 Gen1 AMD
      • CPU : Ryzen 7 Pro 4750U
      • RAM : 48 GB
      • OS : Windows 10 Pro ver.1909 / Ubuntu 20.04 LTS
  • マウス
    • Logicool MX Anywhere 2S
      • このマウスは3台を切り替えて使えるタイプですが、1台目をSurfaceのWindows&Ubuntuに、2台目をThinkPadのWindows&Ubuntuに、3台目をUnifyingレシーバーに、それぞれペアリングしました。

手順

【Ubuntu側】マウスをペアリングする

これは普通の手順で行います

【Windows側】マウスペアリングする

これも普通の手順で行います

【Windows側】でペアリング情報を取得

事前準備

その際にPSToolsという物が必要なため、ダウンロードし、展開しておきます。

レジストリから情報を取得

PowerShellを管理者権限で起動し、下記コマンドを実行します。

cd <psexec.exeがあるフォルダ>
./psexec.exe -s -i regedit /e C:\mouse.txt HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\BTHPORT\Parameters\Keys

これにより、C:直下にmouse.txtという、ペアリング情報が記録されたtxtファイルが生成されるので、Ubuntu側で開ける場所に保存します。

この後再起動してUbuntuに切り替える際、必ずマウスの電源を切ってください。そうしないと、私の環境ではWindows側で使えなくなり、最初からやり直しになりました。

【Ubuntu側】ペアリング情報を編集

MACアドレスを編集

下記コマンドで、/var/lib/blutooth/を管理者権限で開く。

sudo nautilus /var/lib/blutooth/

/var/lib/bluetooth/XX:XX:XX:XX:XX:XX/YY:YY:YY:YY:YY:YYというフォルダ構成になっていると思います。このうち、YY:YY:YY:YY:YY:YYHKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\BTHPORT\Parameters\Keys\XXXXXXXXXXXX\YYYYYYYYYYYYYYYYYYYYYYYYと同じになるよう、フォルダ名を編集します。

ペアリング情報の編集

先程のフォルダのinfoファイルをテキストエディタで開きます。
下記の対応になるよう、値をコピペしていきます。
ただし、先程Windows側で保存したデータはUTF-16のため、開いたときは文字化けしている場合があります。その場合は、文字コードをUTF-16に変更して再度開き直してください。

Windowsでの名前 Ubuntuでの名前 備考
LTK LongTermKey
EDIV EDiv 16進数→10進数へ変換してから貼り付けます
CSRK LocalSignatureKey
IRK IdentitiyResolvingKey
Rand ERand エディアン変換をしてから16進数→10進数へ変換し、貼り付けます。(私はここでかなりハマりました。)

16進数→10進数への変換

私は、2進数、8進数、10進数、16進数相互変換ツールを使いました。

エディアン変換とは

要するに、Windowsでの表記と、Ubuntuでの表記で順番が違うため、順番を逆にする必要があるらしいです。

例えば、Windows側で01,02,03,04,05,06,0a,0bとなっていたら、まずはエディアン変換をして0b,0a,06,05,04,03,02,01としてから、これを10進数に変換します。

電源を切り→電源を入れる(再起動は☓)

設定を反映させるために一度電源を落とすのですが、私の環境では再起動だとだめでした。そのため、電源を一旦切ってから再度電源を入れ、Ubuntu・Windowsそれぞれで使えるか確認してください。

参考にしたサイト

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1