天天看點

解決Windows 與Mac 雙系統下的藍牙裝置共用的問題

不知道有多少人和我一樣用的藍牙滑鼠或者鍵盤,有的話應該都會遇到同一個問題:即在一個系統下配好對後在另一個系統必須重新配對才能使用,很是麻煩.還要将藍牙裝置進入發現模式,OS下搜尋,連接配接....終于昨天在一個老外網上看到了解決方法,寫出來分享一下.

原貼位址:http://www.insanelymac.com/forum/index.php?showtopic=268837

原作者已經寫的很詳細了,我這裡就隻做翻譯~

原理:這個問題的實質原因是,由于藍牙是一對一傳輸,當OS連接配接藍牙裝置的時候,會随機生成一個link ID(可以了解為連接配接識别碼),Win 和Mac 用的是不同的link ID。而每次配對都會改變其link ID,是以才導緻不同OS的藍牙不能公用,即使是一個電腦的藍牙晶片也不可以。P.S: 不過Ubuntu 就沒有這個問題,不管win/mac 的藍牙都能用,贊一個!

問題本質清楚了,解決方法就很簡單了。首先需要在兩個系統下都要對藍牙裝置配對,用來生成同一裝置的不同link ID,然後把兩個系統的ID改成一樣的就好了~ 原貼是先在Windows 下配對,然後去Mac 配對。這裡的順序一定不能變,因為我們最後要在Windows 下改link ID。(當然你如果知道怎麼在Mac 改可以無視這句)

連藍牙我就不多說了,Windows 下配完對,重新開機進Mac 系統,再配對。是以現在你可以在Mac 下用你的藍牙裝置。

Mac 下檢視link ID:

打開終端,輸入以下密碼

  1. sudo defaults read /private/var/root/Library/Preferences/blued.plist

複制代碼

然後螢幕上會出現幾行代碼,我們要找的link ID 是32位的16進制數字(比如:98542ff9 88e19449 475250e1 3943255b)

Little Ending to Big Ending:

這一步極其重要。因為Mac是以Little Ending 儲存資料,而Windows 是以Big Ending 儲存的。是以我們要進行資料格式的轉換。其實規則很簡單,原則就是從右往左讀,一次兩個16進制數。比如Mac 下顯示ID 為 

  1. 98542ff9 88e19449 475250e1 3943255b

複制代碼

則轉換成 Big Ending 就是 

  1. 5b 25 43 39 e1 50 52 47 49 94 e1 88 f9 2f 54 98

複制代碼

這裡空格可以忽略,隻是為了大家看着友善。現在Link ID 已經到手,重新開機進Windows~

Windows 下修改Link ID:

我們最開始已經連過藍牙裝置到Windows 了,是以現在裝置那裡會顯示你的滑鼠或鍵盤。但是因為我們之後又連過Mac,是以現在應該是不能用的(不然我也沒必要寫這篇文章)。下一步我們要修改Link ID,而它就在系統資料庫裡。但是這個Link ID是被保護的,如果直接打開系統資料庫是不能編輯的,甚至看都看不到。是以這裡需要另外一個工具 PSTools

<ignore_js_op>

解決Windows 與Mac 雙系統下的藍牙裝置共用的問題

 PSTools.zip (1.53 MB, 下載下傳次數: 1248) 

随便下到哪裡都行,解壓縮。然後以管理者身份運作指令行,cd 到解壓縮之後的 PSTools 檔案夾,輸入以下密碼:

  1. psexec -s -i regedit

複制代碼

然後在打開的系統資料庫裡找到

  1. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\BTHPORT\Parameters\Keys\(藍牙擴充卡位址,不是你藍牙滑鼠/鍵盤的位址)

複制代碼

<ignore_js_op>

解決Windows 與Mac 雙系統下的藍牙裝置共用的問題

在右邊的系統資料庫項點右鍵-〉修改二進制值

<ignore_js_op>

解決Windows 與Mac 雙系統下的藍牙裝置共用的問題

把原來的數值全部删除先,然後輸入你轉換過得Big Ending 格式的Link ID,點OK。你的裝置就可以用了!(不需要重新開機)

次方法非一勞永逸,每次添加新的藍牙裝置都必須重新按此文章修改一次~ 如果有更好方法歡迎分享~~