JIS标准键盘
宫保拼音有一个名为“八指禅”的并击方案,面向有两个空格键的客制化键盘,原本不参与并击的左拇指负责左空格,右拇指则负责右空格。此种键盘使我联想到了一种两手拇指控制三个键的标准键盘:JIS标准键盘(如下图)。
JIS标准键盘是日本的标准键盘布局,其最下方一排按键与ISO和ANSI标准键盘有一点区别:JIS的空格键从左右两边各被缩减了一段,其两端的空间被无变换和变换键占用了。在使用日语输入法输入日语时,这两个按键用于在同音词之间切换,但在输入日语以外的场合,这两个按键就没有作用了,本质上就是将ISO/ANSI标准的空格键分割成了三个按键。
“九指禅”
JIS标准的键盘布局不由得让人产生一个想法:可否像“八指禅”一样,将JIS标准键盘的变换和无变换两个按键运用于并击输入?因为多了一个键,姑且将这种并击方案称为“九指禅”(虽然用到的还是八个手指)。
声母输入可以沿用八指禅的输入方式(不过将通过改键软件设定为A的左半空格换为无变换(Muhenkan)),主要修改韵母的并击输入。八指禅沿用了七指禅的韵母输入布局,而这种布局中尚有un和uan需要错指输入。为解决这个错指输入,我们可以定义变换(Henkan)为U',然后:
此处[N]指代字母K键,当然,这只是我的一个不成熟的设想。
实现“九指禅”时遇到的问题
若不进行额外配置,在输入和选词过程中按下JIS布局的特有按键(包括但不限于变换和无变换),会导致输入窗格被隐藏,再按下字母按键则输入窗格恢复(无任何其他字符被输入),而按下数字键则输出对应选项。
从librime keysymdef.h的定义中可以得知,理论上变换和无变换在key_binding的配置代码中分别记作Henkan和Muhenkan。为测试RIME是否识别这两个按键,尝试添加一段测试性代码,将Henkan映射成字母U键:
# combo_pinyin_tonal_chords.schema.yaml
key_binder:
import_preset: default
bindings:
- { when: has_menu, accept: minus, send: minus } # tone 1
- { when: paging, accept: minus, send: Page_Up }
- { when: paging, accept: Henkan, send: Page_Down} # test
重新部署后按Henkan,仍然只是输入框被隐藏,并没有翻页效果。很可能librime内核无法接收非ANSI键盘的按键信息。这是“九指禅”实现的重要问题。
JIS标准键盘
宫保拼音有一个名为“八指禅”的并击方案,面向有两个空格键的客制化键盘,原本不参与并击的左拇指负责左空格,右拇指则负责右空格。此种键盘使我联想到了一种两手拇指控制三个键的标准键盘:JIS标准键盘(如下图)。
JIS标准键盘是日本的标准键盘布局,其最下方一排按键与ISO和ANSI标准键盘有一点区别:JIS的空格键从左右两边各被缩减了一段,其两端的空间被
无变换和变换键占用了。在使用日语输入法输入日语时,这两个按键用于在同音词之间切换,但在输入日语以外的场合,这两个按键就没有作用了,本质上就是将ISO/ANSI标准的空格键分割成了三个按键。“九指禅”
JIS标准的键盘布局不由得让人产生一个想法:可否像“八指禅”一样,将JIS标准键盘的
变换和无变换两个按键运用于并击输入?因为多了一个键,姑且将这种并击方案称为“九指禅”(虽然用到的还是八个手指)。声母输入可以沿用八指禅的输入方式(不过将通过改键软件设定为
A的左半空格换为无变换(Muhenkan)),主要修改韵母的并击输入。八指禅沿用了七指禅的韵母输入布局,而这种布局中尚有un和uan需要错指输入。为解决这个错指输入,我们可以定义变换(Henkan)为U',然后:此处[N]指代字母
K键,当然,这只是我的一个不成熟的设想。实现“九指禅”时遇到的问题
若不进行额外配置,在输入和选词过程中按下JIS布局的特有按键(包括但不限于
变换和无变换),会导致输入窗格被隐藏,再按下字母按键则输入窗格恢复(无任何其他字符被输入),而按下数字键则输出对应选项。从librime keysymdef.h的定义中可以得知,理论上
变换和无变换在key_binding的配置代码中分别记作Henkan和Muhenkan。为测试RIME是否识别这两个按键,尝试添加一段测试性代码,将Henkan映射成字母U键:重新部署后按
Henkan,仍然只是输入框被隐藏,并没有翻页效果。很可能librime内核无法接收非ANSI键盘的按键信息。这是“九指禅”实现的重要问题。