Closed boboIqiqi closed 8 years ago
另外问一下,大家编辑yaml都是用vi吗? 我在网上查到eclipse下有个YEdit的插件,今天没有安装成功,明天安装一下。大家有用过吗?
还有咱们的项目是ADT下面的,以后为移植到Android Studio下面吗?
为什么项目中间的缩进是两个空格呀
我是用的vim和geany。 應該eclipse和android studio都能用吧? 我是用ant命令行的。
以前观察到一个现象:使用table_translator时,拼写运算对用户词典无效。
如果你不需要调频,这对你没有任何影响。 如果要调频,那会很让人抓狂。
script_translator没有这个问题,也有用它做形码方案的先例,比如「速成」。
所以,有很多种可能,看你怎么选择了。
@xiaoqun2016 汇报一下工作哈。 我按照上面的方案,实现了一个键盘,又定义了模糊音,界面如下:
下面这个我平时使用的触宝双键,我就仿这个页面布局做的
现在的问题有:
- {click: Keyboard_default, long_click: Menu, width: 10}
,就可以切换加默认键盘。但是我现在的默认键盘已经变了。我想我是需要切换到qwer键盘,并将输入模式切换回英文。我先研究一下系统注册了哪些键盘吧。有些可能需要我自己先查查,补补基础知识。
还有就是,我写好的方案,该如何提交呀?是要提交到brise的版本库中吗?
帖上我的代码:
#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_default, 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}
#2. 在style/keyboards中聲明一下我們要用到wubi86_double_key這個鍵盤
"style/keyboards":
- .default
- default
- number
- symbols
- wubi86_double_key
文件wubi86_double_key.yaml
# Rime schema settings
# vim: set sw=2 sts=2 et:
# encoding: utf-8
schema:
schema_id: wubi86_double_key
name: "五笔86双键版"
version: "0.12"
author:
- 發明人 王永民先生
description: |
五筆字型86版
碼表源自 ibus-table
請安裝【袖珍簡化字拼音】以啓用 z 鍵拼音反查
switches:
- name: ascii_mode
reset: 0
states: [ 中文, 西文 ]
- name: full_shape
states: [ 半角, 全角 ]
- name: extended_charset
states: [ 通用, 增廣 ]
engine:
processors:
- ascii_composer
- recognizer
- key_binder
- speller
- punctuator
- selector
- navigator
- express_editor
segmentors:
- ascii_segmentor
- matcher
- abc_segmentor
- punct_segmentor
- fallback_segmentor
translators:
- punct_translator
- reverse_lookup_translator
- table_translator
speller:
delimiter: " ;'"
max_code_length: 4
algebra:
- derive/w/q/
- derive/r/e/
- derive/y/t/
- derive/i/u/
- derive/p/o/
- derive/s/a/
- derive/f/d/
- derive/h/g/
- derive/k/j/
- derive/c/x/
- derive/b/v/
- derive/m/n/
translator:
dictionary: wubi86_double_key
enable_charset_filter: true
enable_encoder: true
reverse_lookup:
dictionary: pinyin_simp
prefix: "z"
tips: 〔拼音〕
preedit_format:
- xform/([nljqxy])v/$1ü/
- xform/([nl])ue/$1üe/
- xform/([jqxy])v/$1u/
punctuator:
import_preset: default
key_binder:
import_preset: default
recognizer:
import_preset: default
patterns:
reverse_lookup: "^z[a-z]*$"
最后,wubi86_double_key.dict.yaml
就是跟wubi自带的词典是一样的,复制一份就好。
我的台式机上试的时候,好像用一样的会冲突,我原来的wubi86输入法,也变成了模糊音,所以就又复制了一份,就好了。
我再确认一下吧,是不是我编译文件的问题。大家解释一下,是不是必须再复制一份码表
dict.yaml中的编码原形是这样:
输入 lwty 233000000
加尔各答 lqtt 180000
经过你的拼写运算处理,衍生出了输入 lqtt
这个编码,所以,你可以用lqtt
打出这两个词。
你的做法没问题。但是,由于这里用的是table_translator
,在固态词典和用户词典中,存储的都是编码原形,当你用衍生码输入时,rime并不会通过衍生码去追溯编码原形的词频,所以,衍生码都是没有词频的。
输入 lqtt
没有词频数据,相当于词频为零了,所以总是排在后面。而且,不管你用lqtt
打多少遍输入
这个词,用户词典中累加的词频都是算在编码原形输入 lwty
上面,这就犹如石沉大海,你用lqtt
永远也取不出输入
的词频。
不知道你看懂了没?可能我的描述也是不准确的。总之一句话:拼写运算对table_translator
支持得不好,或者说是有bug。 如果你觉得这需要解决,可以到librime的github提issue。
或者你可以模仿仓颉的「速成」方案,做一个「五笔速成」,这样就可以避开这个问题了。而且,你做的按键够大,可以用击键数来抵消重码。 (个人观点,仅供参考)
既然你的中文键盘上有个中英切换键,那就好解决了。
看看这样:
测试了一下,中文、英文、临时英文这三种模式都正常。
唯一的缺点是只有在键盘中切换到英文模式才有效。
参考补丁:
#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_eng, 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}
#英文键盘
"preset_keyboards/eng":
name: 26键英文
author: "osfans <waxaca@163.com>"
ascii_mode: 1
width: 10
height: 60
keys:
- {click: 'q', long_click: '!', swipe_up: 1}
- {click: 'w', long_click: '@', swipe_up: 2}
- {click: 'e', long_click: '#', swipe_up: 3}
- {click: 'r', long_click: '$', swipe_up: 4}
- {click: 't', long_click: '%', swipe_up: 5}
- {click: 'y', long_click: '^', swipe_up: 6}
- {click: 'u', long_click: '&', swipe_up: 7}
- {click: 'i', long_click: '*', swipe_up: 8}
- {click: 'o', long_click: '(', swipe_up: 9}
- {click: 'p', long_click: ')', swipe_up: 0}
- {width: 5}
- {click: 'a', long_click: '_', swipe_left: Left, swipe_right: Right, swipe_up: Up, swipe_down: Down}
- {click: 's', long_click: '-', swipe_left: Home, swipe_right: End, swipe_up: Page_Up, swipe_down: Page_Down}
- {click: 'd', long_click: '+', swipe_down: '_'}
- {click: 'f', long_click: '=', swipe_down: '='}
- {click: 'g', long_click: '|', swipe_down: '|'}
- {click: 'h', long_click: '\', swipe_left: '[', swipe_right: ']'}
- {click: 'j', long_click: '[', swipe_left: '{', swipe_right: '}'}
- {click: 'k', long_click: ']'}
- {click: 'l', long_click: ':'}
- {width: 5}
- {click: Shift_L, width: 15}
- {click: 'z', long_click: '"'}
- {click: 'x', long_click: '~'}
- {click: 'c', long_click: "'"}
- {click: 'v', long_click: 'Time', swipe_up: Date}
- {click: 'b', long_click: '{'}
- {click: 'n', long_click: '}'}
- {click: 'm', long_click: ";"}
- {click: BackSpace, width: 15}
- {click: Keyboard_symbols, width: 15}
- {click: Keyboard_defaultw, long_click: Menu}
- {click: ',', long_click: '<', paging: Page_Up}
- {click: space, label: " ", width: 30}
- {click: '.', long_click: '>', has_menu: Page_Down}
- {click: '/', long_click: '?'}
- {click: Return, width: 15}
"style/keyboards":
- .default
- default
- number
- symbols
- eng #
"style/candidate_view_height": 36
"style/round_corner": 0.0
"style/label_text_size": 18
"style/comment_height": 14
"preset_keys/Keyboard_eng": #切换英文键盘
label: 中 #按鍵標籤
send: Eisu_toggle #執行切換鍵盤命令
select: eng #選擇eng鍵盤
"preset_keys/Keyboard_defaultw": #返回中文键盘
label: 英
select: .default
send: Eisu_toggle
"preset_keys/space":
functional: false
label: " "
repeatable: false #关掉空格键重复
send: space
"preset_keys/Time":
command: date
label: time
option: "yyyy-MM-dd HH:mm:ss" #自定义时间
send: function
其它细节你可以再调整一下。
另外,上面的动图演示方案,我是直接把schema中的table_translator
换成script_translator
了,所以虽然也经过了拼写运算,但词频正常。这就是script_translator
比较完善的地方。 但是由于造词规则是拼音式的,所以也不太适合形码,需要像速成方案那样调整一下,才有规律。
rime有自己的造词方法。
一种是连续打出词组中的每个字,再统一上屏,rime就会预先给词组编码,只要你再用词组码打出并上屏该词,就造好了。 这个造词的最大长度是在dict.yaml中设定的。
另一种是在schema.yaml中设定commit_history,rime可以对已经上屏的几个字预先编制词组码,等你再次打出词组并上屏后,就造好了。这种方法容易产生较多非词干扰项,要慎重使用 。
不需要再复制dict.yaml
只需要给你的拼写运算产生的棱镜文件单独命名即可。(在你的双键schema.yaml中给主翻译器设置prism: wubi86_double_key
)
@xiaoqun2016 谢谢你的细致讲解,讲解得很清晰。也正是我需要的。 只是我得好好消化消化,补充一点rime的基础知识。
谢谢你的指导,我又认真看了一下trime.yaml的教程,觉得前面是我没想清楚需求,其实我需要的是两个功能
default
或qwerty
键盘)你给的方案很好,把上面的问题都解决了。只是我可以不自定义键盘吗?我可以继承default
键盘,然后只重写一下ascii_mode吗? (css是不是就是这样工作的)
测试了一下,中文、英文、临时英文这三种模式都正常。
你提到,临时英文模式,这个如何设置呢? 在五笔状态下,临时输入英文如何实现呀。 我以前用触宝的时候,特想实现这个功能:五笔双键下,左滑/下滑输入左字母,右滑/上滑输入右字母(触宝切换到英文模式特别慢),这个好实现吗?或者你有其他的更规范的临时输入英文方案
不过我们的输入法切换速度很快,这个也不必須的,可能偶尔只输入一两个英文字母会有用吧
唯一的缺点是只有在键盘中切换到英文模式才有效。
这是什么意思呢?什么有效呀?
我看wiki教程里,定义了一个键盘布局xKey,最后要将xKey切换功能添加到标准键盘上,需要修改某个按键的long_click属性,
#3、把這個切換鍵盤的功能鍵放到主鍵盤中(以朙月拼音所用的預設26鍵鍵盤為例)
"preset_keyboards/qwerty":
name: "預設26鍵"
ascii_mode: 0
keys: #这里要指定所有的按键,可以只指定需要修改的按键吗?
对yaml语法不太熟,可以增量式修改吗?只修改一个属性的部分值
再次感谢你的回复,你可真是我的良师益友,让我受益良多
"preset_keyboards/<布局ID>/ascii_mode": 1
。预设26键
键盘的t键改成时间键,可以这样 "preset_keyboards/qwerty/keys/@4": {click: time}
。@4
表示第5个按键,从0算起。这种做法还要一个个地数,不太直观。如果你更喜欢这样改也可以。(这些其实在佛振写的定制指南里面有讲到,只是他没有讲得很具体,需要灵活运用) 补充一下:
单独修改某个按键的long_click,大概是这样:
"preset_keyboards/qwerty/keys/@4/long_click": xxx
@xiaoqun2016 ,小群老师好, 按照你说的,我的方案配好以后,确实比以前好用多了。但是,使用久了,还是会发现问题。
如下图所示:
不过感觉没有码表格式那么明显了,下面的"讣",怎么会在"生"和"主"前面。
"preset_keyboards/qwerty/keys/@31": {label: "英", click: Keyboard_default}
帖上我的源码:
#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
#下面这行功能有了,但是lable好像没有起作用
"preset_keyboards/qwerty/keys/@31": {label: "英", click: Keyboard_default}
"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
# Rime schema settings
# vim: set sw=2 sts=2 et:
# encoding: utf-8
**文件 wubi86_double_key.yaml , 需要把wubi86.dict.yaml复制重命名**
schema:
schema_id: wubi86_double_key
name: "五笔86双键版"
version: "0.12"
author:
- 發明人 王永民先生
description: |
五筆字型86版
碼表源自 ibus-table
請安裝【袖珍簡化字拼音】以啓用 z 鍵拼音反查
switches:
- name: ascii_mode
reset: 0
states: [ 中文, 西文 ]
- name: full_shape
states: [ 半角, 全角 ]
- name: extended_charset
states: [ 通用, 增廣 ]
engine:
processors:
- ascii_composer
- recognizer
- key_binder
- speller
- punctuator
- selector
- navigator
- express_editor
segmentors:
- ascii_segmentor
- matcher
- abc_segmentor
- punct_segmentor
- fallback_segmentor
translators:
- punct_translator
- reverse_lookup_translator
# - table_translator
- script_translator
speller:
delimiter: " ;'"
max_code_length: 4
algebra:
- derive/w/q/
- derive/r/e/
- derive/y/t/
- derive/i/u/
- derive/p/o/
- derive/s/a/
- derive/f/d/
- derive/h/g/
- derive/k/j/
- derive/c/x/
- derive/b/v/
- derive/m/n/
translator:
dictionary: wubi86_double_key
enable_charset_filter: true
enable_encoder: true
reverse_lookup:
dictionary: pinyin_simp
prefix: "z"
tips: 〔拼音〕
preedit_format:
- xform/([nljqxy])v/$1ü/
- xform/([nl])ue/$1üe/
- xform/([jqxy])v/$1u/
punctuator:
import_preset: default
key_binder:
import_preset: default
recognizer:
import_preset: default
patterns:
reverse_lookup: "^z[a-z]*$"
1、
需要hanb_font
2、
请仔细看编码。这是script_translator的特性,编码没有精确匹配时就是这么拆分的。前面说过script_translator的造词方式与形码不同,这是最大的问题,你可能还没注意到。除此之外,还有许多细节上的差异。我上面用script只是演示一下两种翻译器对拼写运算的影响,并不是让你直接这么用。请再确认一下:你要调频吗?①如果不调频,再优化一下双键的处理方式可以完美解决。②如果要调频,只能速成化。速成会改变词组输入方式。不能接受的话,就不要继续下去了。等九宫格做出来再说。
3、
你没理解副键盘怎么调用。
另外,trime的label只在中文模式显示,西文模式无效。bug?
目前label是中文狀態下的,英文都是用的click的。
@xiaoqun2016 晓群老师,谢谢您的指导。 按照你的答案,我自己查阅了一些资料,不过还是有几个问题没搞明白,得请教您
我到网上查了半天,也没有查到,有一个han_font
我不需要自己调频,只要能够按照码表中列出来的频率出现就可以了。其实,现在已经可以了,上面的频率不对,是因为它们不在码表中,然后进行拼写转换。 看指南中说,script_translator 是针对拼音的一种编码翻译,而table_translator是针对码表的一种翻译。我理解,如果码表中存在的编码,两种效果是一样。只是自动造词,或者简拼会有所不同是吗?但是也不对,上面如果解释成简拼,tgt -> tg tgd 生,这是把生当成一个词组了吗?因为它有两个编码tg和tgd都是,然后取第一个编码前tg,再取第二个编码第一个。 也不对呀, lgt -> lg lgn lgnh 车 这是最相近编码是吗?
就是候选词上面那个,每个候选词的编码提示。要设置什么吗?
那个 空字符是啥意思呢?我的vim都显示不了。 我可以直接在这里自造词了是不是?它需要排序不?
1、
hanb_font是同文创建的参数,其它地方是没有的。我用谷歌搜索出来的前两项就是同文的页面。
2、
这么说你是要固定词序?
在切分编码这方面,script_translator相当于关闭了enable_completion之后的table_translator。编码精确匹配时优先,切分编码时,也是尽量取完整的编码。这个好难解释,你以后用多了就明白了。
3、
编码提示需要设置。
4、
那些方框不是空码,是你的手机字体不支持,需要fallback字体。
比如hshn,是这个字:
@xiaoqun2016 小群老师,居然上谷歌。
像hanb_font这样纯英文的关键词,几乎没有比谷歌更好的搜索引擎了:
用对工具就省事了。
毛主席教导我们:一个闭目塞听,同客观外界根本绝缘的人,是无所谓认识的。
😆
双键问题要从根本上解决还是得等 #56 九宫格功能实现。(话题重复,先关掉一个)
1、关于词频
dict.yaml中的编码原形是这样:
输入 lwty 233000000 加尔各答 lqtt 180000
经过你的拼写运算处理,衍生出了
输入 lqtt
这个编码,所以,你可以用lqtt
打出这两个词。 你的做法没问题。但是,由于这里用的是table_translator
,在固态词典和用户词典中,存储的都是编码原形,当你用衍生码输入时,rime并不会通过衍生码去追溯编码原形的词频,所以,衍生码都是没有词频的。输入 lqtt
没有词频数据,相当于词频为零了,所以总是排在后面。而且,不管你用lqtt
打多少遍输入
这个词,用户词典中累加的词频都是算在编码原形输入 lwty
上面,这就犹如石沉大海,你用lqtt
永远也取不出输入
的词频。 不知道你看懂了没?可能我的描述也是不准确的。总之一句话:拼写运算对table_translator
支持得不好,或者说是有bug。 如果你觉得这需要解决,可以到librime的github提issue。或者你可以模仿仓颉的「速成」方案,做一个「五笔速成」,这样就可以避开这个问题了。而且,你做的按键够大,可以用击键数来抵消重码。 (个人观点,仅供参考)
2、英文键盘
既然你的中文键盘上有个中英切换键,那就好解决了。 看看这样:
测试了一下,中文、英文、临时英文这三种模式都正常。 唯一的缺点是只有在键盘中切换到英文模式才有效。 参考补丁:
#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_eng, 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} #英文键盘 "preset_keyboards/eng": name: 26键英文 author: "osfans <waxaca@163.com>" ascii_mode: 1 width: 10 height: 60 keys: - {click: 'q', long_click: '!', swipe_up: 1} - {click: 'w', long_click: '@', swipe_up: 2} - {click: 'e', long_click: '#', swipe_up: 3} - {click: 'r', long_click: '$', swipe_up: 4} - {click: 't', long_click: '%', swipe_up: 5} - {click: 'y', long_click: '^', swipe_up: 6} - {click: 'u', long_click: '&', swipe_up: 7} - {click: 'i', long_click: '*', swipe_up: 8} - {click: 'o', long_click: '(', swipe_up: 9} - {click: 'p', long_click: ')', swipe_up: 0} - {width: 5} - {click: 'a', long_click: '_', swipe_left: Left, swipe_right: Right, swipe_up: Up, swipe_down: Down} - {click: 's', long_click: '-', swipe_left: Home, swipe_right: End, swipe_up: Page_Up, swipe_down: Page_Down} - {click: 'd', long_click: '+', swipe_down: '_'} - {click: 'f', long_click: '=', swipe_down: '='} - {click: 'g', long_click: '|', swipe_down: '|'} - {click: 'h', long_click: '\', swipe_left: '[', swipe_right: ']'} - {click: 'j', long_click: '[', swipe_left: '{', swipe_right: '}'} - {click: 'k', long_click: ']'} - {click: 'l', long_click: ':'} - {width: 5} - {click: Shift_L, width: 15} - {click: 'z', long_click: '"'} - {click: 'x', long_click: '~'} - {click: 'c', long_click: "'"} - {click: 'v', long_click: 'Time', swipe_up: Date} - {click: 'b', long_click: '{'} - {click: 'n', long_click: '}'} - {click: 'm', long_click: ";"} - {click: BackSpace, width: 15} - {click: Keyboard_symbols, width: 15} - {click: Keyboard_defaultw, long_click: Menu} - {click: ',', long_click: '<', paging: Page_Up} - {click: space, label: " ", width: 30} - {click: '.', long_click: '>', has_menu: Page_Down} - {click: '/', long_click: '?'} - {click: Return, width: 15} "style/keyboards": - .default - default - number - symbols - eng # "style/candidate_view_height": 36 "style/round_corner": 0.0 "style/label_text_size": 18 "style/comment_height": 14 "preset_keys/Keyboard_eng": #切换英文键盘 label: 中 #按鍵標籤 send: Eisu_toggle #執行切換鍵盤命令 select: eng #選擇eng鍵盤 "preset_keys/Keyboard_defaultw": #返回中文键盘 label: 英 select: .default send: Eisu_toggle "preset_keys/space": functional: false label: " " repeatable: false #关掉空格键重复 send: space "preset_keys/Time": command: date label: time option: "yyyy-MM-dd HH:mm:ss" #自定义时间 send: function
其它细节你可以再调整一下。 另外,上面的动图演示方案,我是直接把schema中的
table_translator
换成script_translator
了,所以虽然也经过了拼写运算,但词频正常。这就是script_translator
比较完善的地方。 但是由于造词规则是拼音式的,所以也不太适合形码,需要像速成方案那样调整一下,才有规律。3、造词
rime有自己的造词方法。 一种是连续打出词组中的每个字,再统一上屏,rime就会预先给词组编码,只要你再用词组码打出并上屏该词,就造好了。 这个造词的最大长度是在dict.yaml中设定的。 另一种是在schema.yaml中设定commit_history,rime可以对已经上屏的几个字预先编制词组码,等你再次打出词组并上屏后,就造好了。这种方法容易产生较多非词干扰项,要慎重使用 。
4、共用词库问题
不需要再复制dict.yaml 只需要给你的拼写运算产生的棱镜文件单独命名即可。(在你的双键schema.yaml中给主翻译器设置
prism: wubi86_double_key
)
一种是连续打出词组中的每个字,再统一上屏。 五笔输入法怎么自动上屏了,怎么能打出每个字再统一上屏?
上次跟 osfans老大 讨论过,可以利用模糊音+定制键盘外观,做一个双键和键盘(就是一个按键上有两个字母)。这种方法对拼音不行,因为模糊以后,无法再清晰化,再选确定的字母。不过,我试了一下,对五笔应该是没有问题的,我自己用的是触宝的T+键盘,也是双键,我几乎没有用过需要清晰化的功能。
我今天刚学了一点如何定制小狼毫,刚会定制五笔四码上屏,Shift切换,输入英文code。 (刚开始一直分不清安装目录下的/data/中的文件与 %appdata%/rime下的文件) 也刚看了一下,佛振 老大写的,模糊音定制模板。
现在还差如何定制Android手机上的键盘外观,准备明天,照着wiki 里面的说明,做一个
请问大家,我这样做对吗?以前有人做过没有?有做好的方案推荐一个。
谢谢诸位了,祝各位开发愉快!