操作系统与蓝牙鼠标之间的配对,是通过三个关键值完成的:
本机蓝牙ID,鼠标蓝牙ID,LinkKey
蓝牙鼠标在配对后,连接电脑蓝牙设备时,三个值必须一致,双方才能连接成功。
对于单系统来说不会引起什么问题,但对于双系统的电脑来说,就会有问题了。
比如,你是Windows和Ubuntu双系统,或Windows和Mac双系统。
在第一个系统中配对后,会生成一个LinkKey,鼠标就可以在第一个系统中连接成功,但无法在第二个系统中连接成功。
在第二个系统配对后会生成另外一个LinkKey,鼠标就可以在第二个系统中连接成功,但无法在第一个系统中连接成功。
所以,要蓝牙鼠标支持双系统,就要把两个系统的LinkKey改为一致。
一、首先是Windows和Ubuntu双系统:
1、在Windows下配对鼠标
2、在Ubuntu下配对鼠标
3、在Ubuntu下查找配对后的LinkKey
#3.1、定位你的设备配置文件 #一般来说本机蓝牙ID只会有一个,是以:分割的一长串十六机制数字 #蓝牙设备,就是全部配过对的蓝牙设备,可以通过查看info文件判断哪个是你的蓝牙鼠标 sudo vi /var/lib/bluetooth/本机蓝牙ID/鼠标蓝牙ID/info #3.2、找到LinkKey #找到下面部分,并记录下来 [linkkey] key=16位16进制数字
4、重启进入Windows
#4.1、运行命令regedit,打开注册表编辑器 #4.2、定位到下面的位置,其中: #本机蓝牙ID与Linux下一致,只是没有:分割 #鼠标蓝牙ID与Linux下一致,只是没有:分割 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Keys\本机蓝牙ID 鼠标蓝牙ID=16位16进制数字 #4.3、修改LinkKey,使其与Ubunt下LinkKey一致
5、重新连接蓝牙鼠标试试,是不是两个系统都可以了?
此外,由于Ubuntu默认BIOS中是UTC时间,而Windows默认BIOS是本地时区时间,所以重启后,时间会不一致,比如东八区会相差8小时。可以通过将Ubuntu的BIOS时间也设置为本地时区来解决:
sudo timedatectl set-local-rtc 1
二、然后是Windows和Mac双系统:
1、在Windows下配对鼠标
2、在Mac下配对鼠标
3、在Mac下查找配对后的LinkKey
sudo defaults read /private/var/root/Library/Preferences/blued.plist #找到Linkkey【一串16位16进制数字】,并记录下来
4、计算Windows的Linkkey
#4.1、假设Mac下的LinkKey为 #98542ff9 88e19449 475250e1 3943255b #4.2、按每两个数字进行分组,然后从后向前倒序排列,就可以得到Windows下的LinkKey #空格是为了方便大家查看才添加的 #5b254339 e1505247 4994e188 f92f5498
5、重启进入Windows
#4.1、运行命令regedit,打开注册表编辑器 #4.2、定位到下面的位置,其中: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Keys\本机蓝牙ID 鼠标蓝牙ID=16位16进制数字 #4.3、修改LinkKey,使其与计算的到的LinkKey一致
6、重新连接蓝牙鼠标试试,是不是两个系统都可以了?
三、上面的都好烦,有没有其他办法?
1、使用有线鼠标
2、使用带有接收器的蓝牙鼠标