我经常切换“将所有F1,F2用作标准键”设置,并希望通过脚本(或键盘快捷键)使其自动化。可能吗?我曾尝试向Google提出正确的论据,defaults write ...
但未成功。
更新:我最终根据此处的答案创建了https://github.com/jkbrzt/macos-fn-toggle。
更新II:现在还提供了一个https://github.com/Pyroh/Fluor-一个非常漂亮的菜单栏应用程序,该程序使您可以根据活动的应用程序自动更改键盘上的fn键的行为。
我经常切换“将所有F1,F2用作标准键”设置,并希望通过脚本(或键盘快捷键)使其自动化。可能吗?我曾尝试向Google提出正确的论据,defaults write ...
但未成功。
更新:我最终根据此处的答案创建了https://github.com/jkbrzt/macos-fn-toggle。
更新II:现在还提供了一个https://github.com/Pyroh/Fluor-一个非常漂亮的菜单栏应用程序,该程序使您可以根据活动的应用程序自动更改键盘上的fn键的行为。
Answers:
tell application "System Preferences"
reveal anchor "keyboardTab" of pane "com.apple.preference.keyboard"
end tell
tell application "System Events" to tell process "System Preferences"
click checkbox 1 of tab group 1 of window 1
end tell
quit application "System Preferences"
您也可以使用defaults write -g com.apple.keyboard.fnState -bool true
,但是我不知道有什么方法可以应用更改而不注销并重新登录。
我不了解脚本,但是通过一些方便的逆向工程和谷歌搜索,我做到了这一点,因为我不喜欢现有的AppleScript GUI东西:
https://github.com/nelsonjchen/fntoggle
编译的二进制文件(放入您的PATH或如果您不知道那是什么/usr/local/bin/
):https :
//github.com/nelsonjchen/fntoggle/releases
sh
通过运行fntoggle on
或从任何对象(ControlPlane,Automator 等)中调用它fntoggle off
。
此脚本不需要打开GUI可访问性。它还不需要注销并重新登录。
您可以使用以下内容读取当前状态。(1用于F键,0用于媒体/亮度等)
defaults read "Apple Global Domain" "com.apple.keyboard.fnState"
您可以编写它,但是直到重新启动它才会改变。(我试过杀死Dock和Finder,没有运气)
defaults write "Apple Global Domain" "com.apple.keyboard.fnState" "1" ## F1 F2 etc
defaults write "Apple Global Domain" "com.apple.keyboard.fnState" "0" ## Brightness/Media
我怀疑某个对读取此plist文件有更多了解的人可能会编写一个脚本,以杀死并重新启动读取此plist文件的内容,这应该使该脚本确认更改。
实际上,您不必运行任何带有聚光灯的应用程序,我认为最好的方法是:
从其他答案中粘贴此代码:
tell application "System Preferences"
reveal anchor "keyboardTab" of pane "com.apple.preference.keyboard"
end tell
tell application "System Events" to tell process "System Preferences"
click checkbox 1 of tab group 1 of window 1
end tell
quit application "System Preferences"
另存为“您的名字”
在右侧,一直向下滚动到“常规”,然后为您的服务分配一些唯一的热键,我选择“ cmd + shift + L”
而已!它不是很快,也没有什么,但是您不必运行任何应用程序或自行转到“首选项”。
附录:使用EL Capitan时,此功能仅在Automator聚焦时有效,否则(例如,如果您通过键盘快捷键调用脚本)将收到“操作“运行AppleScript”遇到错误”消息。
给出所有答案后,我将以下解决方案应用于优胜美地。
使用Automator,我使用以下代码创建了一个应用程序:
tell application "System Preferences"
reveal anchor "keyboardTab" of pane "com.apple.preference.keyboard"
end tell
tell application "System Events" to tell process "System Preferences"
click checkbox 1 of tab group 1 of window 1
end tell
quit application "System Preferences"
保存它,将其添加到“应用程序”。要避免出现“不允许AppleScript编辑器进行辅助访问。”,请转到系统偏好设置->安全和隐私->隐私点击->可访问性条目,然后添加您的应用程序。
如果喜欢我,您想要一个快捷方式,然后在Automator中使用Launch App创建一个新的Apple Script并选择您的应用。然后返回到“系统偏好设置”->“键盘”->“快捷方式”选项卡->“服务”条目,然后在列表末尾为脚本分配快捷方式。