经过几天的折腾,终于给WINCE 5.0上装上了手写输入法,总结一下。过程其实比较简单,可以是因为刚开始接触 PB,遇到任何困难都要费点时间去解决。
概述
WINCE上手写可以有两种方法实现,一是使用IME的输入法,另一种是单独开发一应用程序,来完成按键到字符的转换。两个工作原理如下: IME 图表1 绿色输入法 图表2
至于利弊就不分析了,各有所好,我觉得如果你提供系统给别人用,最好选后者。所心就尝试如何把它做到系统中去。 开始添加之前,先要有一个能生成NK.BIN的工程,可以是开发板商提供的,也可以是你自己创建的,总之要保证能正常编译,而且运行正常。 集成输入法选择你要集成的输入法,现在能作用的应该比较多,但是我试了好几个没成功,最先试成功的是捷通手写输入法, 其它的成功了再说, 可以在此下载: 先下载吧:http://www.fs2you.com/files/735ef26b-1046-11dd-b2bd-0014221f3995/
接下来需要完成两个步骤 1. 设置将输入法的文件拷到要生成的IMAGE中 2. 将注册表需要修改的文件导入进去
打开PB工程,ParameterView->下面会有两个选项,一个是Common Files , 另一个是你的工程设置。两个中有部分文件是重名的,但作用域不一样。确切地说是作用范围不同。Common Files会作用所有的PB工程,下面的作用域小一点。 我用得是2440的板子,工程名为"mini2440", 打开后还会有两个,一个 Hardware specific Files 和 Project Specific Files , 这里文件名不重名,但后缀名相同,也是同理,作用域不同,前者作用同一硬件工程的设置,后者是特写该工程的设置。 所以,我认识,只是单独你一个工程的设置,尽量放在这里修改。但是需要明白的是,如果你在project 设置中能完成的工作,如果你修改了前面两个,也一定能实现同样的功能,只是你再新建工程的时候也生效了。所以根据你的需要选择你要修改的文件。
手写输入法我目前只想在这个版本上实现,所以选择在project中去修改。 将下载后得到的文件拷贝到 Release对应的目录下 *_* _Release 对应的release目录。 放在那位置倒没有明显规定,但至少要是一个环境变量指向的目录中。 我使用用的是 _FLATRELEASEDIR,对应目录为 X:/WINCE500/PBWorkspaces/mini2440/RelDir/mini2440_ARMV4I_Release 如果你还不确认自己应该在那个目录里, 使用以下步骤确认: 打开 CMD窗口, 图表3
输入 echo % _FLATRELEASEDIR% 图表4 看到的就是你的路径了。 把下载的文件拷贝进去(包含JT.reg文件), 注,这里拷贝并不会直接生成在IMAGE中,需要设置 图表5 打开porject.bib 输入右边红色圈里的东西 porject.bib中记录格式为 表格1
详细的介绍大家可以查阅 Files 文件设置格式
图表6
到此,编译系统的时候,会把这四个文件拷贝到目标系统的 /windows下
下来再导入注册表:
同样,打开 project.reg 文件, 在最后一行添加以下语句 图表7
好了,设置完成, 然后 ->Sysgen。 将生成后的nk.bin下载到目标系统中,享受全屏输入法吧
图表8
图表9 问题
最后,有个问题是: 生成系统的时候,报警告: regcomp: Overwriting existing value [HKEY_CURRENT_USER/Keyboard Layout/Preload/1] "Default" in system registry regcomp: WARNING, syntax error on or near line 6515 of reginit.ini; line skipped.
我查了一下,这是最后生成的 reginit.ini 文件中的错误,reginit.ini文件资料上说是由 common.reg, project.reg, platform.reg 合并后生成的。其错误源为: # Hot Key Alt + F1 For direct switch # IME_HOTKEY_DSWITCH_FIRST [HKEY_CURRENT_USER/Control Panel/Input Method/Hot Keys/00000100] "VK"=dword:70 "KM"=dword:C001 "Ime"=dword:e0010804
我想是不是"#" 在这里格式不对,本来应该是注释用得,可是找了半天也不知道这项是从那生成的。最后我猜想应该是选择WINCE组件时的内容,可是如何消除这 Warning, 有知道的前辈请指点。
声明: 因为也是刚开始接触WINCE 和Platform builder ,总结中有不妥的地方,欢迎大家指正,另,有误导的地方,大家见谅。
Email skysailor@126.com |
WinCE5.0 Platform builder 中实现中文手写
最新推荐文章于 2017-06-28 10:53:00 发布
WinCE5.0 Platform builder 中实现中文手写 [WINCE 学习笔记]
2009-10-20 10:18