微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 手机设计讨论 > MTK手机平台交流 > mt2503 Modis全键盘如何添加新按键

mt2503 Modis全键盘如何添加新按键

时间:10-02 整理:3721RD 点击:
[DESCRIPTION]
为了便于debug,有客户需求在modis添加一些qwerty键盘的key值。使之可以通过modis的流程被正确响应。
[SOLUTION]
MODIS添加的具体步骤如下:
(以添加Gemini的Send2key为例)
a)添加对应按键的图片信息call_SIM2_down.bmpcall_sim2_up.bmp
b)增加并修改modis\QWERTY_Skins\240x400\Default_Skin\Profile_DualSIM.ini
DEVICE_KEY_SEND2_DOWN=call_sim2_down.bmp
DEVICE_KEY_SEND2_UP=call_sim2_up.bmp
c)在Profile_DualSIM.ini中将down和up按键图片的IMAGE和Coordinate左上角相应的对应起来。
d)w32_DSPl_layer.c文件中的key_mapping_table[]=加入对应的按键定义,如{73,DEVICE_KEY_SEND2,0x00},
到这里模拟器键盘驱动部分就可以正常的模拟按键的处理了。如果是手机上的话,可以用drivetool修改键盘的布局。如果有问题的话,可以直接在
函数MMI_frm_device_key_handle里面的trace参数device_key_code是否正确。
接下来需要完成上层的字符的输入,以添加@符号输入为例,在输入法这边做一些修改如下:
a)mmi_imc_qwerty_key_translate_event函数的
caseMMI_IMC_STATE_INITIAL:
caseMMI_IMC_STATE_NUMERIC_PASSWORD_MULTITAP:
caseMMI_IMC_STATE_HAND_WRITING_CAND:
if(event_type==KEY_EVENT_DOWN||event_type==KEY_EVENT_REPEAT)
{
if(ucs2_value!=0)
{
returnimc_key;
}
else
{
…….
在最后加上一个
elseif(key_code==KEY_AT)
{
returnMMI_IMC_KEY_AT;//addfor@directlyinput
}
}
b)mmi_imc_key_qwerty_common_key_down_handler函数中加入
switch(mmi_imc_get_state())
{
caseMMI_IMC_STATE_INITIAL:
这个case下最后面加入如下一个elseif
elseif(key_code==MMI_IMC_KEY_AT)//addfor@input
{
if(mmi_imm_test_input((UI_string_type)L"@",1))
{
mmi_imc_key_send_message(MMI_IMC_MESSAGE_INSERT_CHAR,0x40,0);
ret=MMI_TRUE;
}
else
{
UI_Editor_play_tone_cannot_insert();
}
}
c)mmi_imc_key_custom_value里面的MMI_IMC_KEY_MAX上面加入MMI_IMC_KEY_AT,//addfor@directlyinput

顶一顶

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top