详解 Rime 输入方案配置文件中的 engine 部分

pimgeek2025年03月23日 21:33

延续上一则笔记 - Rime 输入方案启用中英文状态切换

在极简 Rime 输入方案配置文件 mvp.schema.yaml 的基础上增加注释,重点说明 engine/processors, engine/segmentors, engine/translators 等配置项的名称及其具体功效。

# Rime schema settings
# encoding: utf-8

# schema 类配置项,主要是一些描述性信息
# 包括本输入方案的唯一身份 id,中文名称,简介文字,作者,版本,简介文字等
schema:
  schema_id: mvp
  name: 最小可行方案
  author: pimgeek
  version: "0.0.1"
  description: |
    最小可行自定义输入方案 (逐步迭代)

# engine 类配置项,包括 3 步处理流程 (靠上的步骤优先处理)
# 1 是 processors,2 是 segmentors,3 是 translators
# 分别代表按键操作识别,输入编码分段和标记,把编码转换为最终上屏内容
engine:
  # processors 类配置项,负责识别各种键盘按键操作
  processors:
    # <ascii_composer> 用于配合实现中英输入模式切换
    # ascii_composer 配置项必须先于 punctuator 
    # 否则将无法正常输入英文半角标点符号
    - ascii_composer

    # <punctuator> 用于设置标点符号
    # 它与以下 3 个配置项相互依赖
    # segmentors/punct_segmentor
    # translators/punct_translator
    # punctuator/half_shape { commit ... }
    - punctuator         # 左侧的 - 和空格必须保留

    # <key_binder> 用于设置键盘快捷键
    # 与下列配置项相互依赖:
    # key_binder/bindings { when ... accept ... select }
    - key_binder

  # segmentors 类配置项,负责给输入编码序列做分段和标记
  segmentors:
    # <punct_segmentor> 用于识别和标记 , . 等标点符号的输入编码
    # 它与以下 3 个配置项相互依赖
    # processors/punctuator
    # translators/punct_translator
    # punctuator/half_shape { commit ... }
    - punct_segmentor    # 左侧的 - 和空格必须保留

  # translators 类配置项,负责把编码转换为中文字词或标点符号
  translators:
    # <punct_translator> 用于把代表标点符号的输入码转换为最终的标点符号
    # 它与以下 3 个配置项相互依赖
    # processors/punctuator
    # segmentors/punct_segmentor
    # punctuator/half_shape { commit ... }
    - punct_translator   # 左侧的 - 和空格必须保留

# <ascii_composer> 用于配合实现中英输入模式切换
# 它与 processors/ascii_composer 同名但“层级”更高,需仔细分辨
# 它与以下 1 个配置项相互依赖
# processors/ascii_composer
ascii_composer:
  switch_key:
    # 下列配置项表示:按下左侧 Shift 提交已上屏的输入编码
    Shift_L: commit_code

# <punctuator> 用于列举需要自动转换的标点符号列表
# 它与 processor/punctuator 同名但“层级”更高,需仔细分辨
# 它与以下 3 个配置项相互依赖
# processors/punctuator
# segmentors/punct_segmentor
# translators/punct_translator
punctuator:
  half_shape:
    ',' : { commit: ',' }
    '.' : { commit: '。' }

# <key_binder> 用于设置键盘快捷键
# 它与 processors/key_binder 同名但“层级”更高,需仔细分辨
# 它与以下 1 个配置项相互依赖
# processors/key_binder
key_binder:
  bindings:
    # 下列配置项表示:按下左侧 Shift 按键可在中英文输入模式间来回切换
    - { when: always, accept: Shift_L, toggle: ascii_mode }





创建日期: 2025年01月28日 15:48