我正在 Macbook Pro 触控栏上通过 bootcamp 双启动 Win10 / OSX。
当我切换到 Windows 时,除非我在关闭 OSX 之前禁用蓝牙,否则我的蓝牙鼠标将无法连接(或很难连接)。我认为存在一个问题,即 OSX 以某种方式保留了鼠标的蓝牙配对,这使其在 Windows 中出现问题。如果我首先在 OSX 中禁用蓝牙,那么 Win10 可以 100% 毫无问题地连接到鼠标。
因此,我希望有一种方法可以在我重启或关闭 OSX 时自动禁用蓝牙,反之亦然。这样我就不会总是忘记手动禁用它。
答案1
您可以使用两种不同的工具来完成此操作:
蓝图(免费)这是一个用于控制蓝牙无线电的命令行实用程序(macOS 中没有原生方式可以执行此操作)。您可以从以下位置获取更多信息这个帖子。但是,命令(一旦安装了 Blueutil)将是:
$ blueutil off ← Turns off Bluetooth radio
事件脚本允许您在某些事件(如关机、重启、您的位置、USB 设备检测等)时运行脚本/命令。我最近几天一直在测试它,到目前为止,它似乎运行得很好。它不是免费的,但只需 4 英镑,就可以相当便宜地解决问题。
我通常会使用launchd
,但是,没有办法使用它在关机时启动脚本,唯一的方法是编写你自己的关闭钩子。
答案2
Allan 的答案不再适用于最新版本的 macOS,因为蓝工具已经过时并且无法针对现代 SDK 进行编译。事件脚本仍然可用,并且可以使用 Applescript 代替 blueutil。我修改了reddit 上发布了一些脚本上班:
蓝牙开启.scpt
tell application "System Events"
tell process "ControlCenter"
set BluetoothButton to menu bar item "Bluetooth" of menu bar 1
click BluetoothButton
delay 1
set OnSwitch to checkbox "Bluetooth" of group 1 of window "Control Center"
if value of OnSwitch is 0 then
click OnSwitch
end if
end tell
end tell
蓝牙关闭.scpt
tell application "System Events"
tell process "ControlCenter"
set BluetoothButton to menu bar item "Bluetooth" of menu bar 1
click BluetoothButton
delay 1
set OnSwitch to checkbox "Bluetooth" of group 1 of window "Control Center"
if value of OnSwitch is 1 then
click OnSwitch
end if
end tell
end tell
用法:
osascript bluetooth_off.scpt
或者osascript bluetooth_on.scpt
然后从 EventScripts 中使用这些。