首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >禁用Macbook的键盘

禁用Macbook的键盘
EN

Stack Overflow用户
提问于 2016-08-11 19:31:25
回答 1查看 1.7K关注 0票数 3

在寻找禁用Macbook键盘的解决方案时,我目前正在为Launchd而苦苦挣扎。

先介绍一些背景知识:我把一些水洒在我的Macbook Pro 2010机型上,从那以后,键盘上的一些按键就不再起作用了。我开始把Mac当做一个有外接键盘、鼠标和显示器的台式机,并在一段时间内变得很棒。但后来随着shift-键卡住(不是键本身,而是主板上的某个地方,我猜),情况变得更糟。此转换将强制Mac启动进入安全模式。我通过在启动时按Option键解决了这个问题。但现在有了新的东西:一些按键被随机触发,因此计算机变得无法使用……我使用无密码登录并通过运行以下shell命令解决了此问题:

代码语言:javascript
复制
sudo kextunload /System/Library/Extensions/AppleUSBTopCase.kext/Contents/PlugIns/AppleUSBTCKeyboard.kext/

我将此命令放在一个名为disable-keyboard.sh的脚本中。它工作得很好!内部键盘关闭,外部键盘工作正常。

然而,运行这个命令是一个真正的痛苦,因为随机触发的键使得加载终端变得困难。因此,我需要在引导时运行此命令。我进入了Launchd:

我制作了一个属性列表文件:

代码语言:javascript
复制
more /Users/<username>/Library/LaunchAgents/DisableKeyboard.plist

<xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>DisableKeyboard</string>
    <key>Program</key>
    <string>/Users/<username>/disable-keyboard.sh</string>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>

它似乎起作用了:

代码语言:javascript
复制
launchctl load /Users/<username>/Library/LaunchAgents/DisableKeyboard.plist

返回

代码语言:javascript
复制
Users/<username>/Library/LaunchAgents/DisableKeyboard.plist: service already loaded

但是:launchctl start DisableKeyboard在以下位置给出了此错误消息

代码语言:javascript
复制
system.log:


com.apple.xpc.launchd[1] (DisableKeyboard[292]): Program specified by service is not a Mach-O executable file.

怎么啦?

EN

回答 1

Stack Overflow用户

发布于 2016-08-21 16:56:48

/Users/<username>/disable-keyboard.sh的正确脚本是:

代码语言:javascript
复制
#!/bin/bash
sudo kextunload /System/Library/Extensions/AppleUSBTopCase.kext/Contents/PlugIns/AppleUSBTCKeyboard.kext/
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38895177

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档