双系统共用一个蓝牙鼠标
前言
由于蓝牙鼠标每次只能配置一个系统,每次切换系统后都需要重新配对,很麻烦,双系统共用一个鼠标原理就是通过windows注册表中找到鼠标每次生成的mac地址以及配置,将其转移到linux上。
解决
1. 首先进入linux系统
进行蓝牙鼠标配对,配对完成后可以看到:
/var/lib/bluetooth/{本级蓝牙mac地址}/{鼠标生成的mac地址}
后面会操作这个目录
2. 进入windows系统
进行蓝牙鼠标配对,配对完成后
下载 http://live.sysinternals.com/psexec.exe
,并且将其放到path环境变量目录下,如:c:\Windows
下
以管理员身份打开cmd
执行
psexec -s -i regedit /e c:\keydump.reg HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\BTHPORT\Parameters\Keys
将备份的注册表keydump.reg放到 linux 可以访问的位置
3. 再次进入linux系统
git clone https://github.com/ademlabs/synckeys.git
cd synckeys
sudo python3 synckeys.py keydump.reg
output:
这里注意需要root权限区执行这个python脚本
wshuo@wshuo-EMD-WXX:~/synckeys$ sudo python3 synckeys.py keydump.reg
Bluetooth Adapter - XX:XX:XX:XX:XX:XX
TT:TT:TT:TT:TT (# not paired #)
YY:YY:YY:YY:YY:YY (# not paired #)
XX:XX:XX:XX:XX:XX
为从注册表中解析的 {本机蓝牙mac地址}
YY:YY:YY:YY:YY:YY
为从注册表中解析的{鼠标生成的mac地址}
这里由于鼠标每次配对都会重新mac地址,所以这里显示都是 not paired
所以将 之前在linux上配对的mac地址目录 重新复制成 从注册表中解析的mac地址目录 即可
sudo cp '/var/lib/bluetooth/{本机蓝牙mac地址}/{鼠标生成的mac地址}' '/var/lib/bluetooth/{本机蓝牙mac地址}/{注册表解析鼠标的mac地址}'
sudo python3 synckeys.py keydump.reg
提示更新,选择 y继续
重启蓝牙服务:
sudo service bluetooth restart