MTK按鍵函式

2021-05-25 05:58:40 字數 1293 閱讀 5439

按鍵常用函式(以左按鍵為列):

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.

呼叫register_left_softkey_handler( ),這個函式call setkeyhandler: 註冊三種按鍵狀態函式(left_softkey_down/left_softkey_up/left_softkey_hold),然後再根據觸發按鍵的狀態來呼叫相應的函式

以left_softkey為例, 該函式首先首先重新整理按鍵區域影象(redraw_softkey),然後執行關聯函式softkey_functions[key][k]()(注:此處softkey_function[key][k]所對應的函式為set_left_softkey_function()函式所註冊的).

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平台學習 對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 typ...

EXIT按鍵中斷函式

一 關於中斷函式 exit基本是第乙個接觸的中斷函式,問題來了 什麼是中斷 中斷是指計算機執行過程中,出現某些意外情況需主機干預時,機器能自動停止正在執行的程式並轉入處理新情況的程式,處理完畢後又返回原被暫停的程式繼續執行。中斷和異常向量錶可在stm32中文參考手冊中9.1.2查詢 二 程式設計流程...