讲师中心 微信公众号
AI工具推荐 视频效率加速

AppleScript 自动化操作 macOS 系统键盘布局

夏静酱_8587

夏静酱_8587

发布时间:2026-08-11 08:20:09

|

256人浏览过

|

来源于php中文网

原创

AppleScript无法直接修改macOS键盘布局,但可通过shell命令写入com.apple.HIToolbox.plist并重启HIToolbox服务切换输入源,或模拟Control+Space快捷键轮换;两种方式均需在“辅助功能”中授权对应应用。

applescript 自动化操作 macos 系统键盘布局

AppleScript 本身不能直接修改 macOS 的键盘布局设置(比如切换到“ABC”或“简体中文-拼音”),因为系统键盘布局属于受保护的系统偏好设置,AppleScript 没有原生命令去写入 com.apple.HIToolbox 或 NSGlobalDomain 中的输入法配置。但你可以通过组合 AppleScript + shell 命令间接实现「切换当前输入源」——这是最实用、最稳定的方式。

用 AppleScript 切换已启用的输入法

macOS 允许脚本通过 defaults 和 touch 触发输入源切换,前提是目标输入法已在「系统设置 > 键盘 > 输入源」中启用并排序好。AppleScript 可调用 shell 命令模拟「Control+Space」或「Command+空格」快捷键,但更可靠的是直接指定输入源 ID 切换:

  • 先查出已启用输入源的完整标识符(如 com.apple.keylayout.ABC 或 com.apple.inputmethod.SCIM.ITABC):在终端运行
    defaults read ~/Library/Preferences/com.apple.HIToolbox.plist AppleSelectedInputSourceHistory
  • 用 AppleScript 执行切换命令(需配合 do shell script):
    do shell script "defaults write ~/Library/Preferences/com.apple.HIToolbox.plist AppleSelectedInputSourceHistory -array 'com.apple.keylayout.ABC'"
    然后重启输入法服务:
    do shell script "killall HIToolbox"
  • 注意:该操作会重置整个输入源历史顺序,仅推荐用于固定切换(如开机后强制设为 ABC),不适合高频动态切换

用 AppleScript 模拟快捷键切换输入源

如果你只是想模拟用户按 Control + 空格 或 Command + 空格 来轮换已启用的输入法,这是最简单且无需权限的方法:

macOS Notes
macOS Notes

通过 AppleScript 创建、读取、搜索及管理 macOS 备忘录。适用于用户要求记笔记、记录事项、保存想法、创建会议记录等场景。

下载
  • AppleScript 调用 System Events 发送按键组合:
    tell application "System Events" to key code 49 using {control down}(对应 Control+Space)
  • 确保「系统设置 > 键盘 > 键盘快捷键 > 输入源」中已启用「选择上一个输入源」或「选择下一个输入源」,且快捷键与脚本一致
  • 此方式不依赖输入源 ID,兼容性好,但要求当前界面焦点允许接收快捷键(例如不能在全屏游戏或某些沙盒 App 中生效)

自动化前必须完成的系统授权

无论用哪种方式,只要涉及 UI 操作(如发送按键、访问输入法状态),AppleScript 都需要「辅助功能」权限:

  • 前往「系统设置 > 隐私与安全性 > 辅助功能」
  • 点击「+」添加你运行脚本的 App(如「脚本编辑器」「自动操作」「终端」或导出的 .app)
  • 若使用「自动操作」封装 AppleScript,还需把「自动操作」App 本身加入授权列表
  • 缺少授权会导致脚本静默失败或弹出权限提示

更稳定的替代方案:快捷指令 + 键盘快捷键

对普通用户来说,比纯 AppleScript 更推荐的做法是:

  • 在「快捷指令」App 中新建一个快捷指令,添加「设置键盘布局」操作(macOS Sequoia 15 及更新版本原生支持)
  • 为该快捷指令分配全局键盘快捷键(如 ⌘⌥K),可在任意场景一键切换
  • 如需兼容旧系统,可用快捷指令调用同一段 AppleScript,再统一授权一次即可

热门AI工具

更多
立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

超级简历WonderCV

一款AI办公效率工具,主要用于免费求职简历模版下载制作,应届生职场人必备简历制作神器,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

SkildArt
SkildArt Hot

SkildArt是一款AI文本写作工具,一站式 AI 视觉创作平台。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

Lovart
Lovart Hot

一款面向视觉设计创作的AI设计平台,可通过智能体和画布工作流辅助制作海报、Logo、网页、PPT及其他视觉内容。

Seko
Seko Hot

一款AI视频创作工具,主要用于商汤科技推出的创编一体的AI短视频创作Agent,适合需要提升相关任务效率的用户。

咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

相关专题

更多
macOS怎么切换用户账户
macOS怎么切换用户账户

在 macOS 系统中,可通过多种方式切换用户账户。如点击苹果图标选择 “系统偏好设置”,打开 “用户与群组” 进行切换;或启用快速用户切换功能,通过菜单栏或控制中心的账户名称切换;还能使用快捷键 “Control+Command+Q” 锁定屏幕后切换。

4764

2025.05.09

PHP 命令行脚本与自动化任务开发
PHP 命令行脚本与自动化任务开发

本专题系统讲解 PHP 在命令行环境(CLI)下的开发与应用,内容涵盖 PHP CLI 基础、参数解析、文件与目录操作、日志输出、异常处理,以及与 Linux 定时任务(Cron)的结合使用。通过实战示例,帮助开发者掌握使用 PHP 构建 自动化脚本、批处理工具与后台任务程序 的能力。

486

2025.12.13

Figma AI自动化智能数据填充与交互生成实战
Figma AI自动化智能数据填充与交互生成实战

告别机械重复,详细演示如何用 AI 填充业务真实数据,并自动为页面添加交互连线,将静态设计稿快速转变为动态原型。

325

2026.05.13

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

0

2026.10.22

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

0

2026.10.22

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

0

2026.10.22

Gradle怎么构建Java项目
Gradle怎么构建Java项目

本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。

0

2026.10.22

PHP时间戳漏洞修复教程
PHP时间戳漏洞修复教程

本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。

0

2026.10.22

Golangci-lint配置文件与规则设置
Golangci-lint配置文件与规则设置

本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。

0

2026.10.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习

Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Miniconda官方安装文档
Miniconda官方安装文档

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn