资料介绍
对MTK按键事件的简单分析
主要简单分析一下左右软件的事件,以左软键事件为例
牵涉到的常用函数:
void SetKeyHandler( FuncPtr funcPtr, U16 keyCode, U16 keyType );
void SetLeftSoftkeyFunction( void (*f)(void), MMI_key_event_type k );
void ChangeLeftSoftkey( U16 s, U16 i );
1. SetKeyHandler与SetLeftSoftkeyFunction
(1). SetKeyHandler
主要作用就是将需要起作用的函数的指针(funcPtr)
-->全局矩阵数组currKeyFuncPtrs[keyCode][keyType]的指定位置 ;
(2). SetLeftSoftkeyFunction
该函数内部主要流程:
Step1. call register_left_softkey_handler( )
这个函数call SetKeyHandler:
存储需要起作用的函数(left_softkey_down/left_softkey_up)
以left_softkey为例,
该函数首先首先刷新按键区域图像(redraw_softkey),
然后执行关联函数(softkey_functions[key][k]).
Step2.
在上一步里我们会发现,softkey_functions[key][k]里的函数指针没有初始化