menu Memories' Blog
search self_improvement
目录

windows和linux无缝切换鼠标

DNXRZL
DNXRZL 2023年10月29日  ·  阅读 68

配对步骤

先在linux下配对好,再重启到windows系统配对

导出windows蓝牙配对信息

微软官网下载PsExec.zip,解压进入

# 使用管理员模式打开cmd,执行下面命令
PsExec.exe -s -i regedit /e C:\BTKeys.reg HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\BTHPORT\Parameters\Keys

转换win配对信息为linux格式

下载自动转换工具(一个py脚本):https://wwzl.lanzoue.com/i0Xgi1d514te

解压后得到文件:copyKeys.py

# 执行如下命令自动转换windows配对信息为linux格式
python .\copyKeys.py C:\BTKeys.reg

C:\BTKeys.reg 文件是刚才导出到C盘根目录下的蓝牙配对注册表信息文件
# 执行后输出如下(已配对设备有多个会逐个输出)

本机蓝牙地址: 6c6a77e3effd
已配对设备地址: ed8e0e548cff (这是当前已配对的蓝牙鼠标MAC地址)
Name: "LTK"
Value: hex:33,22,11,66,55,44,99,88,77,22,11,00,55,44,33,66
Linux_value: 33221166554499887722110055443366 (这是该蓝牙鼠标的linux上的LongTermKey 下的 Key)

Name: "ERand"
Value: hex(b):af,7f,f9,c9,48,40,04,22
Linux_value: 2451154778566786991 (这是该蓝牙鼠标的linux上的Rand)

Name: "EDIV"
Value: dword:000055aa
Linux_value: 21930 (这是该蓝牙鼠标的linux上的EDiv)

编辑linux的配对信息

cd /var/lib/bluetooth/<本机蓝牙地址>/

# 重命名linux蓝牙设备地址为windows的
ed8e0e548cff改成linux格式和大写:ED:8E:0E:54:8C:FF
sudo mv <linux上鼠标蓝牙地址> <windows上鼠标蓝牙地址>
例如:mv ED:8E:0E:54:8B:FF ED:8E:0E:54:8C:FF

# 修改配对信息
sudo vim /var/lib/bluetooth/<本机蓝牙地址>/<windows上鼠标蓝牙地址>/info

修改:Key、Rand和EDiv

重启蓝牙:sudo systemctl restart bluetooth