| 猜想 | 验证方式 | 结果 |
|---|---|---|
| 蓝牙键鼠配对 迁移带入了源机配对记录 |
system_profiler SPBluetoothDataType | grep -A 6 "Paired" |
排除 仅配对 Logi M750 鼠标(BLE),无任何蓝牙键盘 |
| 罗技驱动残留 守护进程登录前启动抢占 HID |
自研 logitech-fix.sh diag 全量扫描 |
排除 应用 / LaunchDaemon / kext / Helper / 进程 —— 全部为空 |
| hidutil 键位映射残留 | hidutil property --get "UserKeyMapping" |
排除 返回 (null),无映射 |
| HID 通路本身 | hidutil list | grep -i keyboard |
正常 内置键盘已绑定 AppleHIDKeyboardEventDriverV2 |
直到把整个登录窗口配置读出来,答案才浮出水面:
$ defaults read /Library/Preferences/com.apple.loginwindow { accessibilitySettings = { AssistiveControlType = 2; dwellEnabled = 0; mouseDriver = 1; // 鼠标键开启 slowKey = 1; // ★ 慢速键开启 —— 根因 stickyKey = 0; virtualKeyboardOnOff = 1; // 虚拟键盘开启 voiceOverOnOffKey = 0; }; }
「慢速键」(Slow Keys)要求按键被按住超过一定时长(默认约 250ms)才被判定为有效输入,设计初衷是帮助手部震颤用户避免误触。后果是:正常速度敲键盘时,每次按下—抬起都短于阈值,全部被丢弃,表现出来就是「键盘没反应」。
| 层级 | 配置文件 | 生效范围 |
|---|---|---|
| 用户会话级 | ~/Library/Preferences/com.apple.universalaccess |
登录后的桌面会话 本机实测 slowKey = 0 |
| 登录窗口级 | /Library/Preferences/com.apple.loginwindow→ accessibilitySettings |
登录界面(含锁屏) 本机实测 slowKey = 1 |
两个配置完全独立 —— 精确解释了「登录界面死、进桌面活」这一看似反直觉的现象。很多人到这一步会误判为硬件间歇性故障。
virtualKeyboardOnOff = 1)——登录界面冒出虚拟键盘本身就是症状,不是解决方案。# 方式一(图形界面):登录界面按 Cmd+Option+F5,取消勾选「慢速键」 # 方式二(命令行):登录窗口级辅助功能全部归零 D=/Library/Preferences/com.apple.loginwindow sudo defaults write $D accessibilitySettings -dict-add slowKey -int 0 sudo defaults write $D accessibilitySettings -dict-add virtualKeyboardOnOff -int 0 sudo defaults write $D accessibilitySettings -dict-add mouseDriver -int 0 sudo defaults write $D accessibilitySettings -dict-add AssistiveControlType -int 0 # 校验 $ defaults read $D accessibilitySettings { closeViewHotkeysEnabled = 0; // 修复后全部归零 mouseDriver = 0; slowKey = 0; stickyKey = 0; virtualKeyboardOnOff = 0; }
重启后登录界面物理键盘恢复正常输入,问题结案。
核心分叉点是 Caps Lock 灯测试,成本最低的一条命令则直接命中答案:
# 首选:一条命令直达答案(秒级)
defaults read /Library/Preferences/com.apple.loginwindow accessibilitySettings \
| grep -E "slowKey|mouseDriver|virtualKeyboard"
| 观察结果 | 指向 | 下一步 |
|---|---|---|
| Caps Lock 灯亮但字符不上屏 | HID 通路正常,问题在事件过滤层 | 查登录窗口 slowKey、Secure Input |
| Caps Lock 灯完全不亮 | HID 事件未送达 loginwindow | 安全模式、Apple Diagnostics |
| 登录界面出现虚拟键盘 / 鼠标指针异常 | 登录窗口辅助功能被开启 | 直接查 accessibilitySettings |
| 切换其他用户登录界面同样失灵 | 全局配置问题 | 查 loginwindow plist、LaunchDaemon |
| 仅当前用户失灵 | 用户级配置问题 | 查 com.apple.universalaccess |
排查顺序(成本递增):读 loginwindow 辅助功能 → 查第三方驱动残留 → 安全模式对照 → 新建管理员用户对照 → Caps Lock 灯 / Apple Diagnostics → log show --last boot 查 loginwindow 与 HID 日志。
/Library/Preferences/com.apple.loginwindow 的 accessibilitySettings,与用户会话的 com.apple.universalaccess 互不影响。这是登录类故障排查的典型盲区。/Library/Preferences 下被带过来的系统级 plist。