惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - Franky
N
Netflix TechBlog - Medium
Google Online Security Blog
Google Online Security Blog
月光博客
月光博客
量子位
酷 壳 – CoolShell
酷 壳 – CoolShell
V
V2EX
腾讯CDC
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 聂微东
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
M
MIT News - Artificial intelligence
Vercel News
Vercel News
The GitHub Blog
The GitHub Blog
Hugging Face - Blog
Hugging Face - Blog
博客园 - 【当耐特】
Apple Machine Learning Research
Apple Machine Learning Research
aimingoo的专栏
aimingoo的专栏
博客园 - 三生石上(FineUI控件)
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
MongoDB | Blog
MongoDB | Blog
H
Help Net Security
The Cloudflare Blog
Blog — PlanetScale
Blog — PlanetScale
F
Full Disclosure
G
Google Developers Blog
罗磊的独立博客
Jina AI
Jina AI
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Y
Y Combinator Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
J
Java Code Geeks
A
About on SuperTechFans
IT之家
IT之家
大猫的无限游戏
大猫的无限游戏
S
SegmentFault 最新的问题
有赞技术团队
有赞技术团队
GbyAI
GbyAI
雷峰网
雷峰网
T
The Blog of Author Tim Ferriss
The Register - Security
The Register - Security
U
Unit 42
D
Docker
Martin Fowler
Martin Fowler
L
LINUX DO - 热门话题
NISL@THU
NISL@THU
阮一峰的网络日志
阮一峰的网络日志
C
Cybersecurity and Infrastructure Security Agency CISA
博客园_首页
Google DeepMind News
Google DeepMind News

马浩飞丨博客

ROS实现多机话题通信 Cloudflare R2 个人图床 Isaac Sim 机械臂逆运动学控制 ROS2_Rviz2显示URDF模型 ROS2基本命令总结 使用zsh创建更高效的shell环境 Isaac Sim 仿真环境使用简介 Ubuntu设置定时任务 审稿意见撰写流程 Ubuntu 固定USB设备端口名(ttyUSB0->自定义) Git+Github的代码备份与多设备同步 【设备使用】法奥意威 FR5 机械臂 Python 控制 Python识别图片中文字和数字_easyocr 【设备使用】omega.7主手配置与使用方法 【论文笔记】ACT 使用低成本硬件的双手操作模仿学习 HDF5数据文件格式 【仿真实验】robomimic项目复现 【课程笔记】Stanford CS25 V2 - Robotics and Imitation Learning Ubuntu与Window双主机共用一套键鼠
Windows与Ubuntu双系统绑定同一个蓝牙设备(无需重新配对)
马浩飞 · 2023-12-13 · via 马浩飞丨博客

会生成一个配置文件。

2、Windows 下再配对蓝牙设备

读取蓝牙配对信息,Windows下的蓝牙配对信息存储在注册表中,并且此信息需要使用特殊方法才能查看。

下载 PsTools,将PSTools.zip 中的 PsExec.exe 或 PsExec64.exe 解压出来,并以管理员权限运行 cmd,cdPsExec64.exe 所在目录,使用下面的命令启动regedit.exe

1
psexec64.exe -si regedit

找到下面的蓝牙配对信息

1
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Keys\【本机蓝牙 MAC】

image.png

可以看到其中有类型为REG_BINARY的值,每个值对应一个设备,将其名称和数据记下来,或者直接导出,我导出后用记事本打开如下:

1
2
3
4
5
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Keys\d4d853556b34]
"CentralIRK"=hex:38,a5,32,96,6c,bf,c2,31,7b,e9,43,e0,b9,cc,9d,d6
"6468761a6934"=hex:6b,bf,d8,14,d8,aa,2f,d8,f7,68,73,a7,83,64,6e,8f

此外如果是罗技设备,例如本人的罗技鼠标,则需要导出 【本机蓝牙 MAC】 下的子项,项名称为罗技鼠标的 MAC 地址,项中的各个值则是需要填写到 Ubunut 中的内容
image.png

3、修改Linux下的蓝牙配对信息

3.1 一般设备

Linux 下蓝牙设备的配对信息存储在 /var/lib/bluetooth/【本机蓝牙 MAC】目录下,例如 /var/lib/bluetooth/D4:D8:53:55:6B:34,MAC 地址中的字母全为大写,且含冒号分隔符。

进入该目录:

1
2
sudo su
cd /var/lib/bluetooth/D4\:D8\:53\:55\:6B\:34/

可以看到系统已配对的蓝牙设备:

1
2
3
4
5
6
7
8
9
10
root@Victus-Ubuntu:/var/lib/bluetooth/D4:D8:53:55:6B:34# ll
total 44
drwx------ 7 root root 4096 12月 13 22:19 ./
drwxr-xr-x 3 root root 4096 5月 13 2023 ../
drwx------ 2 root root 4096 12月 13 22:19 64:68:76:1A:69:34/
drwx------ 2 root root 4096 12月 13 22:19 A4:C1:38:AB:43:5C/
drwx------ 2 root root 16384 12月 13 22:20 cache/
drwx------ 2 root root 4096 12月 13 22:19 EC:B3:D5:3C:5F:92/
drwx------ 2 root root 4096 12月 13 22:20 F9:E7:70:AD:8C:64/
-rw------- 1 root root 50 12月 13 22:19 settings

根据我们导出的reg文件,可以知道进入我们要配置的蓝牙鼠标的目录:

1
cd 64\:68\:76\:1A\:69\:34/

我们需要修改的就是这个目录下的 info 文件,以我的为例,文件如下(这里已经改好了,只需要将Key换成windows下导出的注册表里面的key,具体就是win下的逗号删除小写变大写):

1
2
3
4
5
6
7
8
9
10
11
12
[General]
Name=EDIFIER W820NB 双金标版
Class=0x240404
SupportedTechnologies=BR/EDR;
Trusted=true
Blocked=false
Services=00001101-0000-1000-8000-00805f9b34fb;0000110b-0000-1000-8000-00805f9b34fb;0000110c-0000-1000-8000-00805f9b34fb;0000110d-0000-1000-8000-00805f9b34fb;0000110e-0000-1000-8000-00805f9b34fb;0000111e-0000-1000-8000-00805f9b34fb;66666666-6666-6666-6666-666666666666;edf00000-edfe-dfed-fedf-edfedfedfedf;

[LinkKey]
Key=6BBFD814D8AA2FD8F76873A783646E8F
Type=4
PINLength=0

3.2 罗技设备

将 Windows 下的 IRK 字符倒序大写删除逗号,即为 Ubuntu 下的 IdentityResolvingKey

1
2
3
4
"IRK"=hex:d3,1f,03,20,e5,be,13,64,33,8b,63,09,d3,01,bd,33

[IdentityResolvingKey]
Key=33BD01D309638B6413BEE520031FD3

Windows 下的 LTK 大写删除逗号,即为 Ubuntu 下的 LontermKey
EDIV 需要转换成 10 进制,为 Ubuntu 的 EDiv
ERand 需要删除逗号并转换成 10 进制,为 Ubuntu 的 Rand

1
2
3
4
5
6
7
8
9
10
"LTK"=hex:ae,4b,59,52,fa,32,7d,2b,aa,0a,a7,de,33,ac,2b,20
"ERand"=hex(b):cd,d7,f7,f8,01,f9,49,f2
"EDIV"=dword:00006f5f

[LongTermKey]
Key=AE4B5952FA327D2BAA0AA7DE33AC20
Authenticated=0
EncSize=16
EDiv=28511
Rand=14832596542325082602

然后重启电脑,可以直接连接蓝牙。