以前在乔老师的博客里看到过通过获取Windows下的蓝牙配对信息,修改Linux下的配置文件,达到共享蓝牙设备的途径。现在真的有这个需求了,跟着他的教程却发现由于我的鼠标可能因为支持的蓝牙版本问题,没有走低功耗协议,导致配置上和之前不太一样。不过这种的配置项更容易修改,完美解决了每次换系统都要重新配对蓝牙设备的问题。
我的环境是当前滚到最新的Windows10和Archlinux,设备是罗技的M337蓝牙鼠标。不过这个方法应该适合所有类似的蓝牙设备。
首先启动Linux系统,并且连接上蓝牙鼠标,这一步是为了生成一个合法的配置文件,后面只需要再对这个文件做一些修改就可以了。连接好之后,再重启到Windows10中再次配对连接设备。
Windows这边可以正常使用之后,下载这里的PsExec工具,然后以管理员权限打开一个cmd窗口,再通过管理员权限的cmd执行psexec.exe -s -i regedit以管理员权限启动注册表编辑器,在注册表编辑器中找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\BTHPORT\Parameters\Keys
如果没有CurrentControlSet的话,可以去查找一下ControlSet001下面同名的键。
Keys里面应该存放着一些以蓝牙设备的mac地址为名称,一串二进制数字为值的项,找到自己蓝牙mac对应的那个值,记下来,然后就可以重启再回到Linux系统中。
此时当然蓝牙就连不上了,不过先不要重新配对,以root权限编辑/var/lib/bluetooth/[MAC of Adapter]/[Mac of Device]/info
找到
这部分,把Windows上查到的那个Keys的值填在这里。
然后执行systemctl restart bluetooth重启蓝牙服务,鼠标即可以Windows上面那个配对密钥进行连接了,这样再切换回Windows,也不需要再重新配对鼠标了。