1. 安装

我打算给自己手机安装开源输入法,最后选择同文输入法(trime)。同文输入法是一个开源的中文输入法,支持多种输入方式,可以自定义键盘布局和主题。 https://github.com/osfans/trime

由于其自带的一些拼音方案不太适合我,所以我决定使用开源的雾凇拼音方案:https://github.com/iDvel/rime-ice

具体步骤参考官方给出的步骤。

2. 遇到的问题

有时修改 trime 的配置文件 xxx.trime.yaml 后,点击重新部署,我发现输入法的键盘布局并没有修改。最后在 https://github.com/osfans/trime/issues/842 找到了解决方法。界面布局的修改点击重新部署是没有效果的,主题的部署在选择和应用主题的那一刻开始。需要在配置页面点击主题与配色,切换主题,此时新的配置才会生效。

3. 配置文件

找了网上别人的布局,也测试了一些系统自带的布局,最后感觉最符合我自己习惯的是在默认配置的基础上稍作修改。我自己比较喜欢尽可能在键盘上展示较多的按钮,比如字母、数字、符号最好都能有,然后也要尽可能快地输入,比如上划某个按键输入符号就比长按某个按键输入符号要快很多。最后我决定使用默认的布局,修改了一些细节,也就是修改 Android/data/com.osfans.trime/files/shared/trime.yaml 文件,重命名为 默认配置调整.trime.yaml,然后放到根目录下的 rime 目录下。具体修改如下(先将该文件从繁体中文改为简体中文):


style:
  layout:
    margin_bottom: 5 #底部边距 (用于适配特定背景图)
  window: #悬浮窗口组件
    - {start: "", move: '', end: ""}
    - {start: "", composition: "%s", end: "", letter_spacing: 0} #letter_spacing需要>=Android5.0。TODO: 不为0时,会导致不换行的问题
    - {start: "\n", label: "%s.", candidate: "%s", comment: " %s", end: "", sep: " "}
  keyboards: [.default, number, symbols, edit]

preset_keys:
  # 注释掉的表示在默认配置中删掉的
  Select_Start: {label: 选择, send: Shift_L, shift_lock: click}
  BackSpace: {label: , repeatable: true, send: BackSpace}
  space: {label: ← 空格 →, repeatable: true, functional: false, send: space}
  space_tab: {label: Tab, repeatable: true, functional: false, send: space}
  split_word: {label: 分词, send: "'"}
  cut: {label: 剪切, send: Control+x}
  paste: {label: 粘贴, send: Control+v}
  Mode_switch: {toggle: ascii_mode, send: Mode_switch, states: [ 中文, 英文 ]} 
  # Keyboard_mini: {label: 迷你, send: Eisu_toggle, select: mini}
  # Keyboard_letter: {label: 字母, send: Eisu_toggle, select: default}
  Keyboard_edit: {label: 编辑, send: Eisu_toggle, select: edit}
  # one_hand_switch_1: {toggle: _one_hand_mode_1, send: Mode_switch, states: [ 左手, 普通 ]}
  # one_hand_switch_2: {toggle: _one_hand_mode_2, send: Mode_switch, states: [ 右手, 普通 ]}
  # one_hand_switch_3: {toggle: _one_hand_mode_3, send: Mode_switch, states: [ 左手, 右手 ]}

preset_keyboards:
  default:
    name: 预设36键
    author: "osfans <waxaca@163.com>"
    ascii_mode: 0
    width: 10
    height: 44
    label_transform: uppercase #uppercase|none 中文模式下的字母标签自动大写
    lock: true
    keys:
    - {click: '1', long_click: '!', swipe_up: '!'}
    - {click: '2', long_click: '@', swipe_up: '@'}
    - {click: '3', long_click: '#', swipe_up: '#'}
    - {click: '4', long_click: '$', swipe_up: '$'}
    - {click: '5', long_click: '%', swipe_up: '%'}
    - {click: '6', long_click: '^', swipe_up: '^'}
    - {click: '7', long_click: '&', swipe_up: '&', has_menu: Left}
    - {click: '8', long_click: '*', swipe_up: '*', has_menu: Right}
    - {click: '9', long_click: '(', swipe_up: '(', has_menu: Page_Up}
    - {click: '0', long_click: ')', swipe_up: ')', has_menu: Page_Down}
    - {click: 'q', long_click: '_', swipe_up: '_'}
    - {click: 'w', long_click: '-', swipe_up: '-'}
    - {click: 'e', long_click: '+', swipe_up: '+'}
    - {click: 'r', long_click: '=', swipe_up: '='}
    - {click: 't', long_click: '|', swipe_up: '|'}
    - {click: 'y', long_click: '\', swipe_up: '\'}
    - {click: 'u', long_click: '[', swipe_up: '['}
    - {click: 'i', long_click: ']', swipe_up: ']'}
    - {click: 'o', long_click: '{', swipe_up: '{'}
    - {click: 'p', long_click: '}', swipe_up: '}'}
    - {width: 5}
    - {click: 'a', long_click: select_all, swipe_up: select_all }
    - {click: 's', long_click: Home, swipe_up: Home}
    - {click: 'd', long_click: End, swipe_up: End}
    - {click: 'f', long_click: Page_Up, swipe_up: Page_Up}
    - {click: 'g', long_click: Page_Down, swipe_up: Page_Down}
    - {click: 'h', long_click: Up, swipe_up: Up}
    - {click: 'j', long_click: Down, swipe_up: Down}
    - {click: 'k', long_click: ':', swipe_up: ':'}
    - {click: 'l', long_click: ';', swipe_up: ';'}
    - {width: 5}
    - {click: Shift_L, has_menu: split_word, width: 15}
    - {click: 'z', long_click: '`', swipe_up: '`'}
    - {click: 'x', long_click: cut, swipe_up: cut}
    - {click: 'c', long_click: copy, swipe_up: copy}
    - {click: 'v', long_click: paste, swipe_up: paste}
    - {click: 'b', long_click: '~', swipe_up: '~'}
    - {click: 'n', long_click: '"', swipe_up: '"'}
    - {click: 'm', long_click: "'", swipe_up: "'"}
    - {click: BackSpace, width: 15}
    - {click: Mode_switch, long_click: Menu, width: 15}
    - {click: Keyboard_symbols, long_click: Keyboard_number}
    - {click: ',', long_click: '<', swipe_up: '<'}
    - {click: space, width: 30, swipe_left: Left, swipe_right: Right, long_click: space_tab, swipe_up: Tab}
    - {click: '.', long_click: '>', swipe_up: '>'}
    - {click: '/', long_click: '?', swipe_up: '?'}
    - {click: Return, composing: Return1, long_click: Keyboard_edit, swipe_up: Keyboard_edit, width: 15}
  number:
    name: 预设数字
    author: "osfans <waxaca@163.com>"
    width: 20
    height: 44
    keys:
    - {click: '+'}
    - {click: 'KP_1'}
    - {click: 'KP_2'}
    - {click: 'KP_3'}
    - {click: '#'}
    - {click: '-'}
    - {click: 'KP_4'}
    - {click: 'KP_5'}
    - {click: 'KP_6'}
    - {click: '%'}
    - {click: '*'}
    - {click: 'KP_7'}
    - {click: 'KP_8'}
    - {click: 'KP_9'}
    - {click: ':'}
    - {click: '/'}
    - {click: '±'}
    - {click: 'KP_0'}
    - {click: '.'}
    - {click: ','}
    - {click: '='}
    - {click: Keyboard_default, width: 15, long_click: Keyboard_symbols}
    - {click: space, width: 30, swipe_left: Left, swipe_right: Right}
    - {click: BackSpace, width: 15}
    - {click: Return, long_click: Keyboard_edit, swipe_up: Keyboard_edit}
  symbols:
    name: 符号
    author: "天真可爱的满满"
    ascii_mode: 1
    width: 10
    height: 44
    keys:
    - {click: '1', long_click: '①', swipe_up: '①'}
    - {click: '2', long_click: '②', swipe_up: '②'}
    - {click: '3', long_click: '③', swipe_up: '③'}
    - {click: '4', long_click: '④', swipe_up: '④'}
    - {click: '5', long_click: '⑤', swipe_up: '⑤'}
    - {click: '6', long_click: '⑥', swipe_up: '⑥'}
    - {click: '7', long_click: '⑦', swipe_up: '⑦'}
    - {click: '8', long_click: '⑧', swipe_up: '⑧'}
    - {click: '9', long_click: '⑨', swipe_up: '⑨'}
    - {click: '0', long_click: '⓪', swipe_up: '⓪'}
    - {click: '~', long_click: '`', swipe_up: '`'}
    - {click: '!', long_click: '!', swipe_up: '!'}
    - {click: '@'}
    - {click: '#'}
    - {click: '$'}
    - {click: '¥', long_click: '"', swipe_up: '"'}
    - {click: '%', long_click: "'", swipe_up: "'"}
    - {click: '^', long_click: '……', swipe_up: '……'}
    - {click: '&', long_click: '√', swipe_up: '√'}
    - {click: '*', long_click: '×', swipe_up: '×'}
    - {click: '(', long_click: '(', swipe_up: '('}
    - {click: ')', long_click: ')', swipe_up: ')'}
    - {click: '[', long_click: '【', swipe_up: '【'}
    - {click: ']', long_click: '】', swipe_up: '】'}
    - {click: '「', long_click: '『', swipe_up: '『'}
    - {click: '」', long_click: '』', swipe_up: '』'}
    - {click: '、', ascii: '\', long_click: '|', swipe_up: '|'}
    - {click: '/', long_click: '÷', swipe_up: '÷'}
    - {click: ':', long_click: ':', swipe_up: ':'}
    - {click: ';', long_click: ';', swipe_up: ';'}
    - {click: '+', long_click: '{', swipe_up: '{'}
    - {click: '-', long_click: '_', swipe_up: '_'}
    - {click: '=', long_click: '}', swipe_up: '}'}
    - {click: '〈', long_click: '《', ascii: '<'}
    - {click: '〉', long_click: '》', ascii: '>'}
    - {click: '“', long_click: '‘', swipe_up: '‘'}
    - {click: '”', long_click: '’', swipe_up: '’'}
    - {click: ',', ascii: ',', long_click: ',', swipe_up: ','}
    - {click: '?', ascii: '?', long_click: '?', swipe_up: '?'}
    - {click: BackSpace}
    - {click: Keyboard_default, long_click: Menu, width: 15}
    - {click: Keyboard_number}
    - {click: Theme_settings, long_click: Color_switch}
    - {click: space, width: 30, swipe_left: Left, swipe_right: Right}
    - {click: '。', ascii: '.', long_click: '。', swipe_up: '。'}
    - {click: liquid_keyboard_switch}
    - {click: Return, long_click: Keyboard_edit, swipe_up: Keyboard_edit, width: 15}
  edit:
    name: 文本编辑
    author: "lxm"
    width: 25
    height: 44
    keys:
    - {click: Page_Up}
    - {click: Up}
    - {click: Page_Down}
    - {click: BackSpace}

    - {click: Left}
    - {click: Select_Start}
    - {click: Right}
    - {click: copy}

    - {click: Home}
    - {click: Down}
    - {click: End}
    - {click: paste}

    - {click: Keyboard_default, long_click: Keyboard_symbols, swipe_up: Keyboard_symbols}
    - {click: select_all}
    - {click: cut}
    - {click: undo, long_click: redo, swipe_up: redo}

4. 最终配置

  • 方案: 雾凇拼音
  • 主题与配色:
    • 主题: 默认配置调整
    • 配色: 轻盈/Brisk

效果图 36键 符号键盘 数字键盘