如何让M1 MacBook键盘临时无响应 便于清洁键盘与机身
M1 MacBook 清洁时临时禁用输入的可行方案
不需要修改系统开机触发设置,以下几种方法都可以实现清洁过程中屏蔽输入的效果,完全避免误触:
- 零配置快速方案:按
Control + Command + Q快速锁定设备。锁屏状态下所有按键、触控板操作仅会作用于锁屏密码输入界面,不会触发任何系统级操作、不会打开应用或修改设置,清洁完成后输入密码解锁即可正常使用。 - 终端命令彻底屏蔽内置键鼠:打开终端执行以下命令,输入本机密码确认后,内置键盘、触控板会完全停止接收输入:
清洁完成后执行对应命令即可恢复输入功能:sudo kextunload /System/Library/Extensions/AppleUSBTopCase.kext/Contents/PlugIns/AppleUSBTCButtons.kext/
*注意:macOS Ventura及更新版本使用该命令前,需要先在「系统设置-隐私与安全性」中开放内核扩展修改权限,操作完成后可按需关闭权限。sudo kextload /System/Library/Extensions/AppleUSBTopCase.kext/Contents/PlugIns/AppleUSBTCButtons.kext/ - Hammerspoon一键切换清洁模式:将以下脚本复制到Hammerspoon配置文件
init.lua中,重载配置后即可通过快捷键一键进入专属清洁模式:
触发清洁模式后,设备会自动锁屏并弹出全屏深色提示,所有键盘、触控板输入都会被拦截,不会产生任何误操作,清洁完成后正常解锁即可自动恢复到正常输入状态。-- 绑定快捷键 Ctrl+Cmd+Opt+C 触发清洁模式 hs.hotkey.bind({"ctrl", "cmd", "alt"}, "C", function() -- 触发系统锁屏 hs.caffeinate.lockScreen() -- 生成全屏遮罩提示清洁模式状态 local cleanMask = hs.canvas.new(hs.screen.mainScreen():fullFrame()):appendElements({ type = "rectangle", fillColor = { white = 0.1, alpha = 0.95 }, },{ type = "text", text = "🧹 清洁模式已开启\n解锁设备即可自动退出", textColor = { white = 1, alpha = 1 }, textSize = 48, textAlignment = "center", frame = { x = 0, y = "40%", w = "100%", h = "20%" } }):show() -- 全局拦截所有按键、鼠标点击事件 local inputBlocker = hs.eventtap.new({hs.eventtap.event.types.keyDown, hs.eventtap.event.types.leftMouseDown, hs.eventtap.event.types.rightMouseDown}, function() return true end):start() -- 监听解锁事件,自动关闭遮罩和输入拦截 local unlockMonitor = hs.caffeinate.watcher.new(function(event) if event == hs.caffeinate.watcher.screensDidUnlock then cleanMask:delete() inputBlocker:stop() unlockMonitor:stop() end end):start() end)
M1系列Mac的开机触发逻辑确实没有官方关闭入口,以上方案都不需要关机操作,哪怕清洁过程中误触触发设备开机,只要提前进入对应防护状态,所有输入都不会生效,完全满足清洁设备时的防误触需求。
内容的提问来源于stack exchange,提问作者coffee_pls
相关产品推荐
相关产品推荐

