小白之路|百度输入法修改教程之如何设置按键布局 来自 M
各位酷友周末好。
最近修改了两款皮肤,大家对于“November”改后的版本比较感兴趣,为尊重原创,就不分享这个皮肤了。借此说一下修改过程,本文最后会附上皮肤的部分配置,大家可以参考本文进行修改。
众所周知,百度输入法最大的特点便是皮肤布局和按键功能多样。从酷安的评论区可以看到,无论是从功能还是外观,都有很多出众的皮肤作品。
但是,即使特别优秀的皮肤到了手里,有时还是想修改一下某个按键功能或是换一个布局,十二键、十四键、十七键、十八键布局等等,本篇旨在让各位快速了解皮肤上手做简单的修改。
以森林集“November”皮肤为例,我们借用九键布局文件py_9.ini设定一个十八键布局。
选个无事的周末下午,沏一杯茶,打开电脑,开始吧!
--------------------
目录
一、按键与布局
二、LIST
三、背景占位KEY
四、临时布局
五、最终效果呈现
--------------------
◆ 一、按键与布局
1. 工具
手机端可以用mt管理器以“zip查看”方式打开皮肤bds文件;电脑端可以用解压缩工具打开(.bds后缀改为.zip或把bds文件拖到解压缩工具界面上打开)。
手机端使用mt管理器打开皮肤.bds文件
电脑端使用解压缩工具打开
布局.ini文件可以用写字本或文本代码编辑器打开,建议使用编辑器,这样可以对比,用起来更方便,虽然我不码代码,用VSCode处理文本编辑还是挺好用的。
在电脑上「VSCode」打开.ini文件
有了工具,可以开始修改工作了。皮肤改造过程:
①打开布局.ini文件。
②把改好的文件再拖回皮肤打开的那个界面中替换原来的文件即可。(一定要注意封包不是把解压后的文件夹简单再压缩成.zip文件!绝不要这样做!!!)
③放入手机,使用。
当然,不是以上那么简单,下面展开讲讲如何修改。
2. 键盘布局的宽与高
我们在设定皮肤时,可以沿用其他布局文件中的部分KEY,也可以直接重新设定。
修改按键影响到整体键盘高低时一定要注意同时修改其他键盘高,即配置ini文件中PANEL字段下SIZE属性。
不同布局[PANEL]字段中SIZE值
如上图所示,其中[PANEL]字段中SIZE值指的是红框部分宽和高。上面的绿框部分工具栏CAND的宽高是在[CAND]字段下的SIZE属性定义的。
py_9.ini的[PANEL]字段没有SIZE属性是因为引用了gen.ini全局设置文件;symbol.ini因为没有CAND栏,所以它的高是左边红绿框高之和。
不同布局size关系
当我们修改了按键行间距导致PANEL的SIZE值中的高发生变化,除了gen.ini中的修改外,其他布局的也需要相应的修改,否则就会导致键盘切换高低不一致或者显示错位。
左侧size值未修改导致显示问题
3. 了解一个按键
按键WE所对应的字段属性
上图是按键WE及对应KEY的属性:
·BACK_STYLE表示按键背景样式,即白色方框,可以随设定的宽高进行拉伸。
·FORE_STYLE表示按键前景,每一个表示其中一个元素的样式,即字母W、E、符号$、¥,前景不会被拉伸。
·POS_TYPE表示前景样式的偏移,偏移与其他样式引用自default.css不同,偏移样式从gen.ini中的[OFF_SET]引用,与上面样式是一一对应关系。比如$样式是94,偏移是54。
·VIEW_RECT表示按键位置与大小,以按键左上顶点为锚点,前两个数字是锚点在布局中的坐标,后两个数字是按键背景的宽高。
·UP、DOWN……CENTER(有些会有「HOLD」属性,表示长按)表示的是按键上下左右划动中间按下不同操作输入的字符或功能。
·SHOW表示一个容器,这个按键包含输入以上字符的功能,在一键代替多键的模糊键盘中会使用这个属性。
·ANIM_STYLE表示的是按键操作的动画。
4. 设定按键位置与大小
个人习惯上,先安排按键的定位和大小(VIEW_RECT),再设置按键的功能。
按键的功能,最好先打个草稿,标出每个按键上下左右划的功能。并且在default.css中把这些补充完整,记下功能与之对应的STYLE。
做了一张Excel表,可以根据键位间距和宽高等参数计算出最终的VIEW_RECT值,省去了一些计算的时间。
按键大小及间距设置
根据参数计算的结果
我建议设定按键位置不要只凭想象,一定要多试试什么间距更合适,找到最适合的按键分布方案之后确定,以最终PANEL的高,调整其他的布局中的SIZE参数。
确定以上参数后,我们在ini文件中相应的KEY下写好VIEW_RECT。
4. 补充前景FORE_STYLE、偏移POS_TYPE和上下左右划动输入的值。
不同操作可以实现不同输入字符或功能,字母符号可以在等号后直接输入相应的就可以;功能的话查看工具书中的F功能表即可。
至此一个布局就完成了。
设置好后的十八键布局
实装测试一下显示和功能是否有问题,没有就可以把其他布局都调整好。
◆ 二、LIST列表
LIST不同状态下的内容和功能
LIST,图中字母上方那一栏。普通状态下,可以输入快捷符号,输入后会变为筛选功能。
LIST其实就是键盘布局上的一个单行表格,每个单元格可以显示不同的内容,可以是符号,也可以是F功能如“复制”“粘贴”等,其中如果预设了F功能是不可以在使用皮肤时重新自定义。
LIST内容共有三套。其他临时布局等加入LIST会显示数字键盘的LIST内容。
LIST属性说明:
LIST字段属性说明-《百度输入法皮肤工具书V5》
其中需要注意:
LIST定位基础是单元格CELL顶点,不是根据列表的背景顶点定位。
LIST的CELL与整体的关系
LIST这一栏的宽在上面并没有,这是因为宽是由CELL的宽乘CELL的个数(LIST_NUM)所决定的。
PADDING的值是指LIST背景在CELL的左上右下四个方向延伸的长度,可以想象成PADDING表示背景把LIST列表所围起来的范围。
虽然可以轻松设置LIST背景,但是以PADDING设置LIST背景有个不和谐之处,这个不和谐在使用竖向LIST时尤为明显。
如果我们设置PADDING四个值都为0,理论上讲,最终显示的背景宽高应该和计算的相等。实际上,在竖向LIST中,最终背景的高会比计算的结果多一些。当然,除了外观的这点瑕疵,是没有其他问题的。可是如果把这个显示调整的和其他一样,就会比较麻烦。有没有其他方法解决呢?
这里,向大家介绍一个技巧,背景占位KEY。
◆ 三、背景占位KEY
设置一个KEY,这个KEY不具备按键功能,只有背景样式BACK_STYLE和位置大小VIEW_RECT两个属性。这样就可以在布局中固定一个背景,大小与设定值完全一样。我们再把LIST放在背景这个位置即可。这样即使需要调整位置,我们只需工具实装效果调整LIST的POS数值即可。
KEY38即LIST的灰色圆角方形背景
利用这种方式,可以做一些其他效果,比如加大空格视觉范围,把两侧的“,”和“。”键包含进来;两个按键连体等。
加大的空格
加、减号按键视觉上组成一个按键
需要注意的是,这两种形式中,背景占位KEY后面数字要比上面显示的按键KEY数字小。否则,背景占位KEY就会覆盖原来的按键了。
◆ 四、临时布局
在这款皮肤中,小动物加入了一些特殊布局,如临时数字、快捷编辑等。这些都是临时布局。在字段属性里我们可以看到比如“Q”的“DOWN=Z+lsnum”,就是指启用临时数字键盘。
最下3个.ini即为临时键盘布局文件
同时还发现,在中文26键盘py_26.ini,其中中文临时大写才用的不是F功能,而是使用的临时键盘。
在使用临时键盘时,发现部分上划符号后会退出临时键盘,影响输入完整。
综上,有了以下整体改进思路:
1. 去除临时键盘的符号输入;
2. 中英文键盘组合都改为18+26模式;
3. 英文输入习惯使用联想,而且开启了首字母大写。这样会导致输入非固定词语或首字母需要小写的话切换起来比较麻烦。因此增加一个临时小写键盘。且大小写临时键盘可以互相切换。最终,在中英文18或26键盘都可以通过分词或切换大小写键直接进入临时大写或小写,并在临时键盘加上LIST使用快捷符号,这样即使是输入版本号这种英文数字符号夹杂的复杂输入,都能通过临时键盘完成。
◆ 五、最终效果呈现
十八键
二十六键
数字键盘
以上是自己总结的一个皮肤改造过程,如果错漏望不吝指正。
祝大家改造出自己满意的皮肤。周末愉快!
感谢@森林里的小动物 ,创作这么多美观实用的皮肤;
感谢@windseeker ,他制作的《百度拼音输入法皮肤制作工具书》就是皮肤制作改造的红宝书;
感谢@ejiepe ,cmg聪明狗系列皮肤功能特别强大,我也是因为cmg皮肤入门的双拼;
感谢@Amk丨泱漫 ,向我解答了一些皮肤问题。