嵌入式培训

嵌入式Linux就业班马上开课了 详情点击这儿

 
上海报名热线:021-51875830
北京报名热线:010-51292078
深圳报名热线:0755-61280252
南京报名热线:4008699035
 
武汉报名热线:027-50767718
成都报名热线:4008699035 61787181
研发与生产 脱产就业培训基地
3G通信 企业培训 
  首 页   课程介绍   培训报名  企业培训   付款方式   讲师介绍   学员评价   关于我们   联系我们  承接项目 开发板商城  论坛
嵌入式协处理器--FPGA
FPGA项目实战系列课程----
嵌入式OS--3G手机操作系统
嵌入式协处理器--DSP
手机/网络/动漫游戏开发
嵌入式OS-Linux
嵌入式CPU--ARM
嵌入式OS--WinCE
单片机培训
嵌入式硬件设计
嵌入式OS--VxWorks
PowerPC嵌入式系统/编译器优化
PLC编程/变频器/数控/人机界面 
开发语言/数据库/软硬件测试
3G手机软件测试、硬件测试
云计算、物联网
开源操作系统Tigy OS开发
小型机系统管理
其他类
友情连接
WEB在线客服
武汉、南京在线WEB客服
点击这里给我发消息  
QQ客服一
点击这里给我发消息  
QQ客服二
点击这里给我发消息
QQ客服三
公益培训通知与资料下载
企业招聘与人才推荐(免费)

合作企业新人才需求公告

◆招人、应聘、人才合作
请访问曙海旗下网站---

电子人才网
www.morning-sea.com.cn
合作伙伴与授权机构
现代化的多媒体教室
曙海集团招聘启示
曙海动态
邮件列表
 
MMI的架构框图
 

Wui_ems_categories.c处理
void change_EMS_inputbox_mode(U8 mode);
这个函数主要是将输入法模式改过来。
然后在每一次切换输入法之后把*键的功能改为切换输入法。
void change_EMS_inputbox_mode(U8 mode)
{
/*----------------------------------------------------------------*/
/* Local Variables??????????????????????????????????????????????? */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body???????????????????????????????? ?????????????????????*/
/*----------------------------------------------------------------*/
/* PMT dara added for Multitap thai */
#if defined(__MMI_MULTITAP_THAI__)
SetKeyHandler(handle_category28_change_input_mode, KEY_POUND, KEY_EVENT_DOWN);
#endif
switch (mode)
{
case INPUT_MODE_MULTITAP_UPPERCASE_ABC:
change_multitap_mode(INPUT_MODE_MULTITAP_UPPERCASE_ABC);
register_EMS_multitap_function();
#ifdef __MMI_GUOBI__
//*键切换输入法
SetKeyHandler(mmi_pen_editor_switch_input_method, KEY_STAR, KEY_EVENT_DOWN);
#endif
break;
case INPUT_MODE_MULTITAP_LOWERCASE_ABC:
change_multitap_mode(INPUT_MODE_MULTITAP_LOWERCASE_ABC);
register_EMS_multitap_function();
#ifdef __MMI_GUOBI__
//*键切换输入法
SetKeyHandler(mmi_pen_editor_switch_input_method, KEY_STAR, KEY_EVENT_DOWN);
#endif
break;
…………………………..
case INPUT_MODE_123:
change_multitap_mode(INPUT_MODE_123);
clear_multitap_key_handlers();
register_MMI_key_input_handler();
register_key_down_handler(EMS_inputbox_handle_key_down);
register_keyboard_input_handler(EMS_inputbox_numeric_keyboard_input_handler);
wgui_set_EMS_inputbox_RSK();
register_EMS_inputbox_keys();
if ((MMI_current_input_type & INPUT_TYPE_MASK) == INPUT_TYPE_NUMERIC_CHANGEABLE)
{
SetKeyHandler(wgui_EMS_inputbox_handle_symbol_picker_star_key, KEY_STAR, KEY_EVENT_DOWN);
}
#ifdef __MMI_GUOBI__
SetKeyHandler(mmi_pen_editor_switch_input_method, KEY_STAR, KEY_EVENT_DOWN);
#endif
break;
….
#ifdef __MMI_GUOBI__
case INPUT_MODE_SM_PINYIN:
case INPUT_MODE_SM_STROKE:
case INPUT_MODE_SMART_UPPERCASE_ABC:
case INPUT_MODE_SMART_LOWERCASE_ABC:
输入法模式切换
这里面会把上下左右设置EMS处理
*键处理
#endif
void handle_category28_change_input_mode(void)函数
这个函数主要是改变输入法的图标
只要把获取中文输入法图标里面
#if defined(__MMI_SHURU__) || defined(__MMI_ITAP__) || defined(__MMI_KA__)
加上|| defined(__MMI_GUOBI__)就可以了。
同时在Wui_ems_categories.c,
还有:
#if defined(__MMI_SHURU__) || defined(__MMI_ZI__) || defined(__MMI_KA__) || defined(__MMI_ITAP__)
void wgui_EMS_inputbox_change_input_mode_smart_ABC(void)
………….
void wgui_EMS_inputbox_change_input_mode_smart_abc(void)
…………
void wgui_EMS_inputbox_change_input_mode_tr_bpmf(void)
…………
我们在前面同样加上|| defined(__MMI_GUOBI__)
void ShowCategory28Screen(
U16 title,
U16 title_icon,
U16 left_softkey,
U16 left_softkey_icon,
U16 right_softkey,
U16 right_softkey_icon,
EMSData *data,
U8 *history_buffer)
函数里面加入对GBInputMethodEnterCategory28函数的调用,如:
#ifdef __MMI_SHURU__
InuptMethodEnterCategory28();
#elif defined(__MMI_ZI__) && defined(__MMI_MESSAGES_EMS__)
ZiInuptMethodEnterCategory28();
#elif defined(__MMI_KA__)
KonkaInuptMethodEnterCategory28();
#elif defined(__MMI_ITAP__) //已经处理过了
/* under construction !*/
/* under construction !*/
#elif defined(__MMI_GUOBI__) //OK
GBInputMethodEnterCategory28();
#endif
在wgui_categories_inputs.c文件里面有很多
#ifdef __MMI_SHURU__
InuptMethodExitCategory5();
#elif defined __MMI_ZI__
ZiInuptMethodExitCategory5();
#elif defined __MMI_KA__
KonkaInuptMethodExitCategory5();
#elif defined __MMI_ITAP__ //handled
/* under construction !*/
/* under construction !*/
#elif defined(__MMI_GUOBI__) //ExitCategory5();
GBInputMethodExitCategory5();
#endif
类似的程序段,对于这些都依葫芦画瓢就可以了。
还有很多的
#if defined(__MMI_SHURU__) || defined(__MMI_ZI__) || defined(__MMI_ITAP__) ….

对于这些都到后面加上||defined(__MMI_GUOBI__)好了。具体可以参照附件中的wgui_categories_inputs.c文件.



 
 
 
版权所有:曙海信息网络科技有限公司 copyright 2000-2010
 
上海总部

地址:上海市真北路2500号星河世纪广场A座1904
(地铁11号线上海西站4号出口,家乐福桃浦路店旁)
邮编:200062
热线:021-51875830 32300767
传真:021-32300767
业务手机:15921673576/13918613812
E-mail:officeoffice@126.com
客服QQ: shuhaipeixun
北京分中心

地址:北京市昌平区沙河南街11号312室
(地铁昌平线沙河站B出口) 邮编:102200 行走路线:请点击这查看
热线:010-51292078 57292751
传真:010-51292078
业务手机:13661044276 15313032557
E-mail:officeoffice@126.com
客服QQ:1243285887
深圳分中心

地址:深圳市罗湖区桂园路2号电影大厦A座1816
(地铁一号线大剧院站D出口旁,桂园路和解放路交叉口,近地王大厦)
热线:0755-61280252 25912501
传真:0755-25912501

邮编:518001
信箱:qianru2@51qianru.cn
客服QQ:2472106501
南京分中心

地址:江苏省南京市栖霞区和燕路251号金港大厦B座2201室
(地铁一号线迈皋桥站1号出口旁,近南京火车站)
热线:4008699035
传真:025-84611061
业务手机:13851400109
邮编:210046
信箱:qianru3@51qianru.cn
客服QQ:1325341129
 
成都分中心

地址:四川省成都市金牛区泰安里营门口路88号四威大厦1幢302 邮编:610031
热线:4008699035 61787181 业务手机:18982211962
客服QQ:1325341129 E-mail:qianru4@51qianru.cn

武汉分中心

地址:湖北省武汉市江汉区新华路139号凯盟大厦401 邮编:430022
热线:4008699035
客服微信:shuhaipeixun E-mail:qianru5@51qianru.cn

双休日、节假日及晚上可致电值班电话:021-51875830 值班手机:15921673576/13918613812


备案号:沪ICP备05030316号

.(2011年11月5日)................................................................................