lihaoyun6 / AirBattery

Get the battery usage of all your devices on your Mac and put them on the Dock / Menu Bar / Widget! && 在Mac上获取你所有设备的电量信息并显示在Dock / 状态栏 / 小组件上!
https://lihaoyun6.github.io/airbattery/
GNU Affero General Public License v3.0
1.09k stars 31 forks source link

Display third-party Bluetooth devices #1

Closed mojing122 closed 4 months ago

mojing122 commented 5 months ago

软件能否添加显示Mac连接的蓝牙设备的功能,例如第三方品牌的鼠标和耳机。 Can the software add functionality to display Bluetooth devices connected to Mac, such as third-party branded mice and headphones.

lihaoyun6 commented 4 months ago

软件能否添加显示Mac连接的蓝牙设备的功能,例如第三方品牌的鼠标和耳机。 Can the software add functionality to display Bluetooth devices connected to Mac, such as third-party branded mice and headphones.

目前的版本是可以做到读取一部分第三方蓝牙设备电量信息的, 但是支持任意第三方设备比较困难 因为macOS自己的蓝牙服务是优先级最高的, 而大部分蓝牙设备一旦和某个主机建立直接通信之后就不会响应其他主机了, 同时也会停止发射BLE广播. 虽然可以通过一些方式抢先和蓝牙设备进行配对, 从macOS手里"夺走"蓝牙设备的通信权限, 这也确实可以获取到电量信息, 但问题是这样的话这个设备就和macOS断开了用不了了, 键盘没法输入, 鼠标没法移动... 还有一个方案是中间人抓包, 但是这就属于攻击性的方案了, 又涉及到驱动层面的hack和系统安全性限制. 所以确实挺麻烦

不过其实这些设备的电量完全可以使用macOS自带的方式查看(比如点击状态栏的蓝牙图标, 或者使用系统自带的电池小组件). 所以未来很长一段时间内, 再没有更好更安全更简单的方案的情况下, AirBattery不打算支持任意第三方蓝牙设备