2
五笔双键配置案例详解(四) 实现手机上的双键键盘
boboIqiqi edited this page 2016-05-21 11:47:41 +08:00
This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

现在我们已经有了一个可以实现双键的输入方案。虽然是在电脑上测试的,但是在手机上也是可以使用的。 我们还缺少一个对应的手机键盘。下面的工作需要在手机上布署测试了。

具体的配置

按惯例,还是先贴上相关代码,再慢慢分析。 我们通过对trime.yaml打patch来实现

#trime.custom.yaml
patch:
  #1、新建一個按鍵佈局wubi86_double_key
  "preset_keyboards/wubi86_double_key":  #佈局ID
    author: "boboIqiqi"   #作者
    name: "五笔双键"  #方便自己辨識的名字
    ascii_mode: 0 #默認進入中文狀態
    height: 60   #每行高度
    width: 20   #按鍵默認寬度取所有按鍵中用得較多的寬度值接下來就可以少寫一些width了 
    keys:   #按鍵排列
      #第一行
      - {label: "Q W", click: q, long_click: 1}
      - {label: "E R", click: e, long_click: 2}
      - {label: "T Y", click: t, long_click: 3}
      - {label: "U I", click: u, long_click: 4}
      - {label: "O P", click: o, long_click: 5}
 
      #第二行
      - {label: "A S", click: a, long_click: 6}
      - {label: "D F", click: d, long_click: 7}
      - {label: "G H", click: g, long_click: 8}
      - {label: "J K", click: j, long_click: 9}
      - {label: "L"  , click: l, long_click: 0}
 
      #第三行
      - {label: "词" , click: Shift_L, width: 10}
      - {label: "Z"  , click: z, long_click: "@", width: 10}
      - {label: "X C", click: x, long_click: "!"}
      - {label: "V B", click: v, long_click: "?"}
      - {label: "N M", click: n, long_click: "."}
      - {click: BackSpace}
 
      #第四行
      - {click: Keyboard_symbols, width: 15}
      - {click: Keyboard_qwerty, label: "全", long_click: Menu, width: 10}
      - {click: "", width: 10}
      - {label: " " , click: space, long_click: VOICE_ASSIST, width: 30}
      - {click: "。", width: 10}
      - {label: "123", click: Keyboard_number, width: 10}
      - {label: "确定", click: Return, width: 15}
 
  "style/keyboards":
    - .default
    - default
    - number
    - symbols
    - qwerty
 
  "preset_keyboards/qwerty/ascii_mode": 1
 
  "style/candidate_view_height": 36
  "style/round_corner": 0.0
  "style/label_text_size": 18
  "style/comment_height": 14
  "preset_keys/Keyboard_defaultw":   #返回中文键盘
      label: 
      select: .default
      send: Eisu_toggle
  "preset_keys/space":
    functional: false
    label: " "
    repeatable: false  #关掉空格键重复
    send: space
 

使用说明

  1. 将上面的源码存储为 trime.custom.yaml
  2. 将trime.custom.yaml以及wubi86_double_key.schema.yaml都拷贝到手机的/sdcard/rime目录下
  3. 到同文的主设置界面,点击重新布署

注:也可以使用准备篇中介绍的批处理脚本,记得回去复习一下哦。

现在,在选单中切换到"五笔双键"输入方案,就可以使用它了。

原理说明

主要使用到的技术如下:

  • 定义一个键盘
  • 声明和切换键盘
  • 通过打patch修改键盘布局的属性

建议阅读@xiaoqun2016老师和@osfans老大 写的 trime.yaml详解