主要簡單分析一下左右軟體的事件,以左軟鍵事件為例
牽涉到的常用函式:
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]裡的函式指標沒有初始化
通過 call set_left_softkey_function(f, k);
--->softkey_functions[key][k] = f;
這樣,就成功的把按鍵按下/放開的作用函式與具體的動作關聯起來了。
step3. 最後call setinputboxlskfunction(f)
--->將上述函式與特定的輸入(如觸控筆)關聯起來。
(3). 以上兩個函式的主要區別:
setleftsoftkeyfunction可以識別長按狀態並且可以關聯觸控筆操作等。
2. changeleftsoftkey
主要執行流程:
step1. call change_left_softkey: 設定左軟鍵圖表,文字
step2. redraw_softkey: 重新整理左軟鍵顯示區域
對MTK按鍵事件的簡單分析
主要簡單分析一下左右軟體的事件,以左軟鍵事件為例 牽涉到的常用函式 void setkeyhandler funcptr funcptr,u16 keycode,u16 keytype void setleftsoftkeyfunction void f void mmi key event typ...
MTK按鍵函式
按鍵常用函式 以左按鍵為列 void setkeyhandler funcptr funcptr,u16 keycode,u16 keytype void setleftsoftkeyfunction void f void mmi key event type k void changelefts...
MTK平台搭建
mtk平台搭建 最近公司的專案差不多都做完了,趁新專案還沒來的時候學學東西。從朋友那裡搞來一套 mtk的源 學學 mtk的開發。選擇 mtk是因為,它跟我的工作所用的平台相似,學起來方便一點,另外一點是它可以在 pc上跑,不用自己去買硬體,成本不高。呵呵,從朋友那裡搞來的源 不用硬體,成本就只有時間...