MacOS Sonoma下自动化修改鼠标灵敏度与加速度的非图形化方案咨询
解决方案:用
hidutil实现鼠标灵敏度/加速度即时切换 核心原理
hidutil是macOS自带的命令行工具,可直接与HID(人机接口设备)交互,修改的参数即时生效,无需重启系统设置或相关进程,完美适配Raycast快速调用的需求。
编写切换脚本
创建两个Shell脚本(分别对应跑步机办公和站立桌办公场景),根据你的需求调整Mouse下的Sensitivity和Acceleration数值:
1. 跑步机办公模式脚本(适配行走时的操作,示例为高灵敏度+无加速度)
#!/bin/bash # 切换至跑步机办公鼠标模式 hidutil property --set '{"Mouse":{"Sensitivity":3.0,"Acceleration":0.0}}' echo "已切换至跑步机办公鼠标模式"
2. 站立桌办公模式脚本(常规操作灵敏度)
#!/bin/bash # 切换至站立桌办公鼠标模式 hidutil property --set '{"Mouse":{"Sensitivity":1.5,"Acceleration":0.75}}' echo "已切换至站立桌办公鼠标模式"
注意:
Sensitivity取值范围通常为0.0到10.0,Acceleration取值范围为0.0到1.0,可反复测试调整到适合自己的数值。
配置Raycast调用
- 打开Raycast,进入「Extensions」→ 点击「+」选择「Create Script Command」
- 分别创建两个命令,将上述脚本内容粘贴进去,设置好名称(比如「Mouse: Treadmill Mode」「Mouse: Standing Desk Mode」)、自定义快捷键(比如
Cmd+Shift+T和Cmd+Shift+S) - 在Raycast的脚本设置中,选择「Shell」为
/bin/bash,确保脚本可正常执行
为什么之前的方法失效?
defaults命令仅修改偏好设置的存储文件,系统不会实时监听该文件变化,需重启System Settings甚至注销用户才能生效,无法满足即时切换需求。- 新版macOS(Ventura及以后)的System Settings采用新UI框架,AppleScript的控件定位逻辑失效,加上系统权限限制更严格,导致无法准确操作设置项。
内容的提问来源于stack exchange,提问作者Kevin Buchs
相关产品推荐
相关产品推荐

