全键盘模式,目前按center key 和LSK时候会进入menu 菜单,期望按center键进入编辑
2012-10-31 09:48
295 查看
1.新增如下functrion:
/*****************************************************************************
* FUNCTION
* jvm_dummy_key_hdlr
* DESCRIPTION
*
* PARAMETERS
* void
* RETURNS
* void
*****************************************************************************/
void jvm_dummy_key_hdlr(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
}
2.reg KEY_ENTER dummy func to make KEY_ENTER not to map
void jvm_register_keypad(kal_bool is_resume)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
U16 keyCode = 0;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
endKeyPressed = KAL_FALSE;
ClearAllKeyHandler();
clear_left_softkey();
clear_right_softkey();
register_default_hide_softkeys();
/* enable 2 or 3 key simultanenous detection */
#ifdef __TWO_KEY_DETECTION_SWITCHABLE__
mmi_kbd_set_concurrent_mode(CONCURRENT_KEY_MODE_2_KEYS);
#elif defined(__THREE_KEY_DETECTION_SWITCHABLE__)
mmi_kbd_set_concurrent_mode(CONCURRENT_KEY_MODE_3_KEYS);
#endif
if (is_resume)
{
jvm_keypad_is_first_resume = KAL_TRUE;
jvm_keypad_ring_buffer_reader = 0;
jvm_keypad_ring_buffer_writer = 0;
jvm_keypad_ring_buffer_size = 0;
endKeyPressed = KAL_FALSE;
set_left_softkey_label((UI_string_type) jui_softkey_label[0]);
set_right_softkey_label((UI_string_type) jui_softkey_label[1]);
if (jvm_keypad_event_notifier_cb_ptr)
{
kal_uint16 keycode;
kal_uint16 keytype;
while (jvm_keypad_fetch(&keycode, &keytype))
{
(*jvm_keypad_event_notifier_cb_ptr)(keycode, keytype);
}
}
}
else
{
int i;
jui_softkey_label[0][0] = 0;
jui_softkey_label[0][1] = 0;
jui_softkey_label[1][0] = 0;
jui_softkey_label[1][1] = 0;
set_left_softkey_label((UI_string_type) jui_softkey_label[0]);
set_right_softkey_label((UI_string_type) jui_softkey_label[1]);
jvm_keypad_is_first_enter = KAL_TRUE;
last_down_key_num = 0;
for (i = 0; i < KEY_DOWN_NUM; i++)
{
last_down_code[i] = -1;
}
}
jvm_keypad_flush();
#if (defined(__MMI_QWERTY_KEYPAD_SUPPORT__) )
mmi_frm_set_app_translate_key_handler(jvm_qwerty_keypad_handler);
/* reg KEY_ENTER dummy func to make KEY_ENTER not to map */
SetKeyHandler((FuncPtr) jvm_dummy_key_hdlr, KEY_ENTER, KEY_EVENT_UP);
SetKeyHandler((FuncPtr) jvm_dummy_key_hdlr, KEY_ENTER, KEY_EVENT_DOWN);
#else
for (keyCode = 0; keyCode < MAX_KEYS; keyCode++)
{
SetKeyHandler((FuncPtr) jvm_normal_keypad_handler, keyCode, KEY_EVENT_UP);
SetKeyHandler((FuncPtr) jvm_normal_keypad_handler, keyCode, KEY_EVENT_DOWN);
SetKeyHandler((FuncPtr) jvm_normal_keypad_handler, keyCode, KEY_EVENT_REPEAT);
SetKeyHandler((FuncPtr) jvm_normal_keypad_handler, keyCode, KEY_EVENT_LONG_PRESS);
}
#endif
}
/*****************************************************************************
* FUNCTION
* jvm_dummy_key_hdlr
* DESCRIPTION
*
* PARAMETERS
* void
* RETURNS
* void
*****************************************************************************/
void jvm_dummy_key_hdlr(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
}
2.reg KEY_ENTER dummy func to make KEY_ENTER not to map
void jvm_register_keypad(kal_bool is_resume)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
U16 keyCode = 0;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
endKeyPressed = KAL_FALSE;
ClearAllKeyHandler();
clear_left_softkey();
clear_right_softkey();
register_default_hide_softkeys();
/* enable 2 or 3 key simultanenous detection */
#ifdef __TWO_KEY_DETECTION_SWITCHABLE__
mmi_kbd_set_concurrent_mode(CONCURRENT_KEY_MODE_2_KEYS);
#elif defined(__THREE_KEY_DETECTION_SWITCHABLE__)
mmi_kbd_set_concurrent_mode(CONCURRENT_KEY_MODE_3_KEYS);
#endif
if (is_resume)
{
jvm_keypad_is_first_resume = KAL_TRUE;
jvm_keypad_ring_buffer_reader = 0;
jvm_keypad_ring_buffer_writer = 0;
jvm_keypad_ring_buffer_size = 0;
endKeyPressed = KAL_FALSE;
set_left_softkey_label((UI_string_type) jui_softkey_label[0]);
set_right_softkey_label((UI_string_type) jui_softkey_label[1]);
if (jvm_keypad_event_notifier_cb_ptr)
{
kal_uint16 keycode;
kal_uint16 keytype;
while (jvm_keypad_fetch(&keycode, &keytype))
{
(*jvm_keypad_event_notifier_cb_ptr)(keycode, keytype);
}
}
}
else
{
int i;
jui_softkey_label[0][0] = 0;
jui_softkey_label[0][1] = 0;
jui_softkey_label[1][0] = 0;
jui_softkey_label[1][1] = 0;
set_left_softkey_label((UI_string_type) jui_softkey_label[0]);
set_right_softkey_label((UI_string_type) jui_softkey_label[1]);
jvm_keypad_is_first_enter = KAL_TRUE;
last_down_key_num = 0;
for (i = 0; i < KEY_DOWN_NUM; i++)
{
last_down_code[i] = -1;
}
}
jvm_keypad_flush();
#if (defined(__MMI_QWERTY_KEYPAD_SUPPORT__) )
mmi_frm_set_app_translate_key_handler(jvm_qwerty_keypad_handler);
/* reg KEY_ENTER dummy func to make KEY_ENTER not to map */
SetKeyHandler((FuncPtr) jvm_dummy_key_hdlr, KEY_ENTER, KEY_EVENT_UP);
SetKeyHandler((FuncPtr) jvm_dummy_key_hdlr, KEY_ENTER, KEY_EVENT_DOWN);
#else
for (keyCode = 0; keyCode < MAX_KEYS; keyCode++)
{
SetKeyHandler((FuncPtr) jvm_normal_keypad_handler, keyCode, KEY_EVENT_UP);
SetKeyHandler((FuncPtr) jvm_normal_keypad_handler, keyCode, KEY_EVENT_DOWN);
SetKeyHandler((FuncPtr) jvm_normal_keypad_handler, keyCode, KEY_EVENT_REPEAT);
SetKeyHandler((FuncPtr) jvm_normal_keypad_handler, keyCode, KEY_EVENT_LONG_PRESS);
}
#endif
}
相关文章推荐
- [IE编程] IE中使网页元素进入编辑模式
- 菜单、键盘加速键、复文本编辑控件和属性表
- 5.5 进入编辑模式 5.6 vim命令模式 5.7 vim实践
- 四周第三次课(11月8日)5.5 进入编辑模式5.6 vim命令模式5.7 vim实践
- 进入Activity的时候隐藏软键盘当获取到焦点的时候弹出软键盘
- [IE编程] IE中使网页元素进入编辑模式
- Linux 下进入编辑模式/退出编辑/查找路径的常用命令
- 5.5 进入编辑模式 5.6 vim命令模式 5.7 vim实践
- 使用putty进行vim编辑的时候,小键盘出现错误
- [IE编程] IE中使网页元素进入编辑模式
- vi进入编辑模式,按向左,向右,向上,向下,出现A,B,C,D字符解决方法
- 四周第三次课 5.5 进入编辑模式 5.6 vim命令模式 5.7 vim实践
- 单击GridView进入编辑模式
- ubuntu中的VI编辑器按i进入文本编辑模式,按上下左右键显示ABCD字母
- 当遇到了linux启动只能进入只读模式的时候,请试试fsck
- Maxthon的“进入编辑模式”插件
- win7系统长时间无操作进入睡眠模式后禁止鼠标和键盘唤醒
- Gridview点击两次才进入编辑模式
- 五(2)进入编辑模式,vim命令模式,vim实践
- 通过组合键进入recovery模式选择sdcard菜单升级,升级完如何自动重启?