符号栏
符号栏(SymbolBar)是悬浮在键盘之上的一条快捷符号条,共 10 格。点按一格直接上屏符号,长按一格会在旁边浮出一排候选符号,小幅滑动即可选中。
它的用途是:让常用标点不必切到符号键盘就能输入,如 Markdown, LaTex 等等中的内容。
符号栏没有应用内的总开关,它由快捷指令 #toggleSymbolBar 控制:第一次执行打开,再执行一次关闭。
{ action: { shortcut: "#toggleSymbolBar" },}符号栏的开关状态不会被记住。键盘收起、切换到别的键盘、横竖屏切换之后,符号栏都是关闭的,需要重新触发一次 #toggleSymbolBar。
符号栏中的当前选中的符号类型是有记忆的:上次用 LaTeX,下次在打开还是 LaTeX。
栏上的 10 个格子
Section titled “栏上的 10 个格子”┌───┬───┬───┬───┬───┬───┬───┬───┬───┬────┐│ ✕ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ MD │└───┴───┴───┴───┴───┴───┴───┴───┴───┴────┘ ↑ ╰────────── 8 个符号键 ──────────╯ ↑ 关闭键 类型切换键| 格子 | 说明 |
|---|---|
| 关闭键 | 红底白叉的圆形图标,点按即关闭符号栏。 |
| 8 个符号键 | 可配置的内容键。固定行为:每个键含 1 个点按动作 + 4 个长按动作(最多4个) |
| 类型切换键 | 蓝底白字,显示当前符号类型名。点按弹出菜单选择类型 |
符号键的数量固定为 8,不能增减;
关闭键默认在第 1 格、类型切换键在第 10 格,可以在应用中用「关闭键在左侧」开关把两者互换。符号键的顺序始终是 1 到 8,不随之反转。
一个符号键上最多能看到 5 个字符:中心那个大字是点按会上屏的内容,四角的小字是长按能滑到的内容。
点一下符号键,中心(center)配置的 Action 立即执行。
长按一个符号键,会在相邻那一格的正下方浮出一排气泡。
符号栏左侧 4 个键会向右开,右侧 4 个键会向左开。
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬────┐ │ ✕ │ , │ 。│ !│ ?│ 、│ … │ … │ … │ MD │ └───┴───┴───┴───┴───┴───┴───┴───┴───┴────┘ ╰ 按住第 2 个符号键 ┌────┬────┬────┬────┐ │ 左上│ 右上│ 右下│ 左下│ ← 开在右邻那一格的正下方 └────┴────┴────┴────┘ ╰ 离手指最近的是第一格注意:
- 格数 = 该键非空角的数量(1~4 格),没配内容的角直接跳过,不会留下滑不中的空格。
- 格子次序是绕着按键顺时针:左上 → 右上 → 右下 → 左下。向左开时气泡内部的次序会镜像,于是离手指最近的永远是第一格,滑得越远序号越大,栏的左右两半手感一致。
- 手指不用移到气泡上。以气泡浮出瞬间的指位为原点,横向小幅位移就能换格。
选择与取消:
| 操作 | 结果 |
|---|---|
| 滑到某一格后松手 | 上屏该格的内容 |
| 上下滑动超过一个符号栏高度以上 | 取消当前高亮选择内容 |
| 四角一个都没配的键 | 不浮出气泡,长按退化成一次普通点按 |
直接编辑配置文件
Section titled “直接编辑配置文件”设置界面上不支持全部的配置,可通过文件配置补充缺失的功能。
# ── 布局偏好 ──closeButtonOnLeft: trueheight: 44 # 可省略,默认 44cellInsets: { left: 4, right: 4, top: 4, bottom: 4 } # 可省略,默认各边 4backgroundColor: { light: "#EEEEEE", dark: "#222222" } # 可省略longPressHintColor: "#888888" # 可省略
# ── 符号类型:既定义顺序,也定义显示名;首项为默认类型 ──type: - MD - 数学
# ── 各类型的按键内容,每套固定 8 项 ──panels: MD: - center: action: { symbol: "," } text: "," topLeft: action: { symbol: "、" } topRight: action: { symbol: "+" } bottomLeft: action: { symbol: ";" } bottomRight: action: { symbol: ":" } # …共 8 项 数学: # …共 8 项顶层:
| 字段 | 说明 |
|---|---|
closeButtonOnLeft | true 关闭键在第 1 格,false 在第 10 格 |
height | 符号栏总高,默认 44 |
cellInsets | 每格按键的四边内缩,默认各边 4 |
backgroundColor | 符号面板背景色 |
longPressHintColor | 按键右下角小三角的颜色,默认灰 |
type | 符号类型列表,既定义顺序也定义显示名 |
panels | 各类型的按键内容 |
按键级(6 个颜色字段):normalBackgroundColor、highlightBackgroundColor、gridBackgroundColor、gridSelectedBackgroundColor、gridNormalForegroundColor、gridHighlightForegroundColor。
位置级(center 与四角各 8 个字段,全部可选):
| 字段 | 说明 |
|---|---|
action | 键盘动作,写法与皮肤、键盘菜单里的 action 一致 |
text | 显示文本。省略时取 action 的字面值 |
systemImageName | SF Symbol 名,优先于 text。渲染是三级回落:图标 → 文本 → action 字面值 |
showOnKey | 这个位置画不画在按键上,默认 true。仅四角有效, center 上会被忽略此属性 |
fontSize | 可用来覆盖默认字号 |
offset | { x, y },相对默认位置的偏移 |
normalColor | 常态前景色 |
highlightColor | 按键按下时的前景色(不是气泡里选中时的颜色) |
type 列表里有、panels 里没有的类型会显示成 8 格全空白;panels 里有、type 列表里没有的内容会被忽略但保留——在应用里删掉类型不必同步删内容,留着可以恢复。
someColor: { light: "#RRGGBB", dark: "#RRGGBB" }反斜杠要写在单引号里
Section titled “反斜杠要写在单引号里”写 LaTeX 这类配置时,反斜杠一律写在单引号(‘这是单引内容’)里:YAML 的双引号风格(“这是双引内容”)认 \f、\t 这类转义,"\frac" 会被解析成「换页符 + rac」。
center: action: { snippet: '\frac{{{cursor}}}{}' } text: "a/b"出错时会怎样
Section titled “出错时会怎样”| 情况 | 行为 |
|---|---|
| 配置文件不存在 | 不显示符号栏,提示「符号栏未配置」 |
| YAML 语法错误 | 不显示符号栏,提示「符号栏配置无效」 |
type 列表为空 | 同上 |
某类型在 panels 中缺失 | 该类型显示为 8 格全空白 |
| 某类型不足 8 项 | 缺的格子渲染成空白格 |
| 某个位置的动作解析失败 | 该位置渲染成空白 |
height 非法或过大、内距为负 | 该项回落默认值 |
| 色值非法(拼错、漏引号、3 位缩写) | 该档回落内建默认值 |
systemImageName 找不到图标 | 回落 text,再回落 action 字面值 |
记录的类型名已不在 type 列表中 | 回落到 type 列表第一项 |