一款基于元输入法的现代化皮肤配置,采用 Jsonnet 模板语言生成,支持亮色和暗色两种主题。
iPure·Pro 是一个精心设计的输入法皮肤项目,通过 Jsonnet 配置文件生成键盘布局,主要特点包括:
- 使用 SF Symbols 图标系统,界面简洁优雅
- 支持中英文输入,无缝切换
- 丰富的滑动和长按功能,提升输入效率
- 完美适配 iPhone 和 iPad 设备
- 模块化架构,易于维护和自定义
- 智能回车键,根据输入框类型自动变化
项目使用 Jsonnet 作为配置语言,采用模块化架构:
iPurePro/
├── config.yaml # 皮肤配置元数据
├── jsonnet/ # Jsonnet 源文件
│ ├── main.jsonnet # 主入口文件
│ ├── keyboard/ # 键盘布局定义
│ └── lib/ # 库文件(共享配置)
│ ├── core/ # 核心库(常量、主题、工具函数)
│ ├── components/ # 组件库(按键组件)
│ ├── styles/ # 样式库(样式生成)
│ └── data/ # 数据库(滑动、提示、集合数据)
└── light/ / dark/ # 生成的配置文件
支持以下键盘类型:
- 拼音键盘 (pinyin_26): 中文拼音输入,26 键布局
- 字母键盘 (alphabetic_26): 英文输入,26 键布局
- 数字键盘 (numeric_9): 数字输入,9 键布局,支持竖屏和横屏
- 符号键盘 (symbolic): 符号输入,分类展示
- 面板键盘 (panel): 浮动模式键盘
通过上下滑动按键可以快速输入符号或执行快捷操作:
- 上滑:数字、符号、快捷操作(全选、剪切、复制、粘贴等)
- 下滑:特殊符号、快捷操作(撤销、重做等)
长按按键显示候选字符或快捷操作,快速输入常用符号。
根据输入框类型自动显示不同的回车文字:
- Return(默认)
- Go/前进(网页)
- Search(搜索)
- Send(发送)
- Done(完成)
按下 Shift 时显示绿色背景,指示当前输入状态。
主键盘采用 26 键布局,底部功能按键:
- 符:切换到符号选择键盘
- 符号:中英文切换
- 数字:切换到数字键盘
- 空格:输入空格,显示方案名称
- 逗号:输入标点符号(中文:句号,英文:逗号)
- 回车:确认输入
| 按键 | 中文 | 英文 | 功能 |
|---|---|---|---|
| Q-P | 1-9,0 | 1-9,0 | 数字输入 |
| A | ` | ` | 反引号 |
| S | - | - | 减号 |
| D | = | = | 等号 |
| F | 【 | [ | 左方括号 |
| G | 】 | ] | 右方括号 |
| H | ? | ? | 问号 |
| J | / | \ | 斜杠 |
| K | ; | : | 分号 |
| L | ' | " | 引号 |
| Z | 全选 | 全选 | 全选文本 |
| X | 剪切 | 剪切 | 剪切文本 |
| C | 复制 | 复制 | 复制文本 |
| V | 粘贴 | 粘贴 | 粘贴文本 |
| B | 制表符 | 制表符 | Tab |
| N | 行首 | 行首 | 移动到行首 |
| M | 行尾 | 行尾 | 移动到行尾 |
| 按键 | 中文 | 英文 | 功能 |
|---|---|---|---|
| Q-P | !@#¥%^&*×() | !@$#%^&()() | 符号输入 |
| A | ``` | ``` | 代码块标记 |
| S | _ | _ | 下划线 |
| D | + | + | 加号 |
| F | 「 | { | 左引号/花括号 |
| G | 」 | } | 右引号/花括号 |
| H | _ | | | 全角下划线/竖线 |
| J | ... | \ | 省略号/反斜杠 |
| K | : | : | 冒号 |
| L | " | " | 双引号 |
| Z | 重输 | 重输 | 清空输入 |
| X | 切换模式 | 切换模式 | 切换内嵌输入模式 |
| C | 剪贴板 | 剪贴板 | 显示剪贴板列表 |
| V | 《 | < | 左书名号/小于号 |
| B | 》 | > | 右书名号/大于号 |
| N | 换行 | 换行 | 换行符 |
| M | 、 | ~ | 顿号/波浪号 |
| 功能 | 图标名称 |
|---|---|
| 空格 | space |
| 数字切换 | numbers |
| Shift(未按下) | capslock |
| Shift(按下) | capslock.fill |
| 回车 | return.left |
| 搜索 | magnifyingglass |
| 发送 | paperplane |
| 前往 | arrowshape.turn.up.forward |
| 完成 | checkmark.app.stack |
| 符号切换 | 符(中文文字) |
| 全选 | wand.and.outline |
| 剪切 | scissors |
| 复制 | document.badge.plus |
| 粘贴 | document.on.clipboard |
| 剪贴板列表 | list.bullet.clipboard |
| 重输 | eraser.line.dashed |
| 切换模式 | rectangle.and.pencil.and.ellipsis |
| 换行 | return |
| Emoji | face.smiling.inverse |
| 脚本运行 | applescript |
| 收藏短语 | heart.text.square |
- 竖屏模式
- 横屏模式
- 竖屏模式
- 横屏模式
- 浮动模式
- 下载皮肤文件(.cskin 格式)
- 将文件放入元输入法的皮肤目录
- 在输入法设置中选择 iPure·Pro 皮肤
- 克隆项目到本地
- 在项目目录执行构建命令:
bash build_skin.sh
- 生成的皮肤文件会自动保存到 iCloud Drive 的 SKINS 目录
- 在输入法设置中选择 iPure·Pro 皮肤
- RIME 中的简繁切换需要设置为输入方案中的选项的配置, 默认值为雾淞:traditionalization;如果使用万象输入法方案,设置为:s2t
长按皮肤,选择「运行 main.jsonnet」
- 配置格式:Jsonnet + YAML
- 图标系统:SF Symbols (iOS 15+)
- 支持版本:元输入法 v3+
- 主题模式:亮色主题 / 暗色主题
- 架构:模块化设计,核心库 + 组件库 + 样式库 + 数据库
- 中文按键:18pt
- 英文按键:19pt
- 滑动符号:12pt
- 工具栏图标:18pt
- 字母按键垂直偏移:0.55
- 功能键偏移:0.45
- 符号按键偏移:0.48
- 主色调:#23C891(绿色)
- 亮色主题:#000000(前景),#FFFFFF(背景)
- 暗色主题:#FFFFFF(前景),#1C1C1E(背景)
项目采用模块化架构,支持灵活的自定义修改:
编辑 jsonnet/lib/core/constants.libsonnet,可以修改:
- 按键尺寸
- 字体大小
- 位置偏移
- 布局参数
编辑 jsonnet/lib/core/theme.libsonnet,可以修改:
- 亮色/暗色主题颜色
- 按键背景和前景颜色
- 功能键样式
编辑 jsonnet/lib/data/swipeData.libsonnet,可以修改:
- 上滑操作
- 下滑操作
- 快捷功能
编辑 jsonnet/lib/styles/generator.libsonnet,可以修改:
- 按键样式生成逻辑
- 背景样式
- 前景样式
在项目根目录执行:
bash build_skin.sh该脚本会自动:
- 运行 Jsonnet 编译,生成所有 YAML 文件
- 创建构建目录,复制必要文件
- 打包成 .cskin 文件
- 复制到 iCloud Drive
在项目根目录执行:
jsonnet -S -m . jsonnet/main.jsonnet该命令会读取 jsonnet/main.jsonnet 作为入口,生成所有键盘配置文件,输出到对应的 light/ 和 dark/ 目录。
- 模块化架构:核心库、组件库、样式库、数据库分离,易于维护
- 统一配置:常量集中管理,修改一处即可全局生效
- 向后兼容:保留原有库文件,确保兼容性
- 完整源码:包含完整的 Jsonnet 源代码,支持手机端和 PC 端编译
- 优雅设计:简洁现代的 UI 设计,符合 iOS 设计规范
- 完整的键盘布局支持(拼音、字母、数字、符号、面板)
- 亮色和暗色主题
- 丰富的滑动和长按功能
- iPhone 和 iPad 完整适配
- 模块化架构设计
iPure·Pro by Astral
基于元输入法,使用 Jsonnet 配置生成