最近購買了一個(gè)羅技 Pebble 藍(lán)牙鼠標(biāo)和一個(gè)高斯 GS87D 藍(lán)牙機(jī)械鍵盤咆蒿,結(jié)果在雙系統(tǒng)中就遇到了問題呀页。一旦在其中一個(gè)系統(tǒng)中配對(duì)成功,在另一個(gè)系統(tǒng)中就沒法使用了浊闪。在網(wǎng)上找了半天原因泌枪,才明白這是因?yàn)椴煌到y(tǒng)配對(duì)的時(shí)候生成的密鑰概荷,地址這些都會(huì)有所不同,造成了不能共享的問題碌燕。參考了網(wǎng)上的一些解決方案误证,終于實(shí)現(xiàn)了共享继薛,現(xiàn)將過程記錄如下。
首先需要下載 PSTools 工具雷厂,以訪問注冊(cè)表中一些需要超級(jí)管理員權(quán)限才能看到的東西惋增。
在 Archlinux 中安裝 bluez 和 bluemen,命令如下:
sudo pacman -S bluez blueman
sudo systemctl enable bluetooth.service
重啟后使用 blueman 圖形界面配對(duì)藍(lán)牙鼠標(biāo)鍵盤改鲫,確保能夠使用诈皿。
在 Windows 系統(tǒng)中將藍(lán)牙鍵盤鼠標(biāo)配對(duì)成功,并保證能夠使用像棘,此時(shí) Linux 下的配置會(huì)失效稽亏。
將 PSTools 解壓出來后,執(zhí)行如下命令打開注冊(cè)表:
PsExec -s -i regedit
-
打開 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Keys 目錄缕题,找到下面的 {你的藍(lán)牙適配器MAC地址} 的子目錄截歉,在其中找到名為藍(lán)牙鍵盤的 MAC 地址的 REG_BINARY 鍵,記錄下其值烟零,如圖所示:
藍(lán)牙鍵盤注冊(cè)表 -
羅技 pebble 是LE(Low Energy)藍(lán)牙設(shè)備瘪松,配對(duì)方式會(huì)略有不同。打開HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Keys{你的藍(lán)牙適配器MAC地址}{藍(lán)牙鼠標(biāo)MAC地址}目錄锨阿,記錄下其值宵睦,如圖所示:
藍(lán)牙鼠標(biāo)注冊(cè)表 -
重啟進(jìn)入 Linux ,用 su 命令切換到 root 用戶墅诡,進(jìn)入 /var/lib/bluetooth/ 目錄壳嚎,找到你的藍(lán)牙適配器MAC地址對(duì)應(yīng)的目錄,如圖所示:
Linux 藍(lán)牙目錄 首先將藍(lán)牙設(shè)備對(duì)應(yīng)的 MAC 地址的目錄進(jìn)行重命名末早,命名為跟 Windows 目錄下地址相同的名字烟馅,如果已經(jīng)相同則忽略這一步。
進(jìn)入藍(lán)牙鍵盤對(duì)應(yīng)的 MAC 地址的目錄然磷,編輯 info 文件郑趁,修改 LinkKey 中的 KEY= 一項(xiàng),與之前記錄的值相同姿搜,注意這里要大寫穿撮,例如:
[General]
Name=GS87-D Keyboard
Class=0x000540
SupportedTechnologies=BR/EDR;
Trusted=true
Blocked=false
WakeAllowed=true
Services=00001000-0000-1000-8000-00805f9b34fb;00001124-0000-1000-8000-00805f9b34fb;00001200-0000-1000-8000-00805f9b34fb;
[LinkKey]
Key=73E80723FBD1F6B978617D434D209CEB
Type=4
PINLength=0
[DeviceID]
Source=2
Vendor=1452
Product=544
Version=1
- 進(jìn)入藍(lán)牙鼠標(biāo)對(duì)應(yīng)的目錄,編輯 info 文件痪欲,如下所示:
[General]
Name=Logitech Pebble
Appearance=0x03c2
AddressType=static
SupportedTechnologies=LE;
Trusted=false
Blocked=false
WakeAllowed=true
Services=00001800-0000-1000-8000-00805f9b34fb;00001801-0000-1000-8000-00805f9b34fb;0000180a-0000-1000-8000-00805f9b34fb;0000180f-0000-1000-8000-00805f9b34fb;00001812-0000-1000-8000-00805f9b34fb;00010000-0000-1000-8000-011f2000046d;
[ConnectionParameters]
MinInterval=6
MaxInterval=9
Latency=44
Timeout=216
[IdentityResolvingKey]
Key=21DCF8B7E9CC09AA2726C7F9F9CADA16
[LongTermKey]
Key=DE782F2738D5652C84E06FE6382CF7AD
Authenticated=0
EncSize=16
EDiv=54965
Rand=8720642171819249024
[DeviceID]
Source=2
Vendor=1133
Product=45089
Version=7
這里我們要修改的是如下幾項(xiàng):
- IdentityResolvingKey 中的 Key ,對(duì)應(yīng) Windows 中的 IRK攻礼,只是全大寫
- LongTermKey 中的 Key业踢, 對(duì)應(yīng) Windows 中的 LTK,只是全大寫
- LongTermKey 中的 EDiv 礁扮,對(duì)應(yīng) Windows 中的 EDIV知举,只是需要把 Windows 中的十六進(jìn)制轉(zhuǎn)成十進(jìn)制
- LongTermKey 中的 EncSize 瞬沦,對(duì)應(yīng) Windows 中的 KeyLength,只是需要把 Windows 中的十六進(jìn)制轉(zhuǎn)成十進(jìn)制
- LongTermKey 中的 Rand雇锡,對(duì)應(yīng) Windows 中的 ERand逛钻,但是比較麻煩的是首先要把 ERand 反過來(兩位兩位的來),再轉(zhuǎn)成十進(jìn)制锰提。比如 ERand 是 80cd93f0d9f00579 曙痘,反過來就是 7905f0d9f093cd80 ,轉(zhuǎn)成十進(jìn)制立肘,就得到了 8720642171819249024 边坤。其實(shí)在上面的截圖里都能看到對(duì)應(yīng)的十進(jìn)制的值。
- 重啟系統(tǒng)谅年,就能完成雙系統(tǒng)共享藍(lán)牙鼠標(biāo)鍵盤了茧痒。