MTK輸入法介紹_第1頁(yè)
MTK輸入法介紹_第2頁(yè)
MTK輸入法介紹_第3頁(yè)
MTK輸入法介紹_第4頁(yè)
MTK輸入法介紹_第5頁(yè)
已閱讀5頁(yè),還剩17頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 技術(shù)文檔 目錄1概述42目的43參考文檔44t9輸入法文件說(shuō)明44.1 h文件44.2 c文件44.3t9層次結(jié)構(gòu)54.4輸入法的調(diào)用流程54.4.1輸入法的初始化:64.4.2進(jìn)入需要輸入法的短消息界面74.4.3 引擎輸出的buffer及一些輔助信息84.4.4 相關(guān)的顯示區(qū)域及狀態(tài)114.5 反查碼表135 語(yǔ)言種類的選擇136字庫(kù)的選擇與添加136.1 加入庫(kù)文件136.2 建立相關(guān)的文件夾146.3 ads編譯需用到的一些設(shè)置文件146.4 設(shè)置按鍵處理函數(shù)146.5 候選窗口156.6 輸入法圖標(biāo)156.7 輸入法菜單156.8 改變ems默認(rèn)的輸入法166.9 其他166.10

2、 commonscreens.c176.11 editorpen.c176.12 wui_ems_categories.c186.13 wui_inputs.c:226.14資源文件226.15其他注意的問(wèn)題:237問(wèn)題與討論231 概述該文檔是輸入法的技術(shù)說(shuō)明文檔2 目的供內(nèi)部人員開發(fā)使用3 參考文檔mtk 6226代碼實(shí)現(xiàn)4 t9輸入法文件說(shuō)明中文輸入方式: 中文輸入方式即用手機(jī)在編寫短信息或是電話簿等項(xiàng)目中用到的輸入方式。 t9: t9輸入法全名為智能輸入法,字庫(kù)容量九千多字,支持十多種語(yǔ)言,包括歐洲及中文繁體、簡(jiǎn)體、香港常用字等。4.1 h文件t9main.h,t9definition

3、.h,t9.h,t9api.h,t9awapi.h,t9ccapi.h,t9cgen.h,t9env.h,t9gen.h,t9lang.h,t9ver.h其中t9main.h,t9definition.h為mmiframework需要用到的頭文件,而t9.h,t9api.h,t9awapi.h,t9ccapi.h,t9cgen.h,t9env.h,t9gen.h,t9lang.h,t9ver.h為引擎api層需要用到的頭文件。4.2 c文件t9lang.c,t9main.c4.3 t9層次結(jié)構(gòu)t9采用了三層結(jié)構(gòu)引擎層根據(jù)輸入鍵值搜索數(shù)據(jù)。引擎api封裝層主要是對(duì)t9引擎api的封裝,mmi層只

4、要往這一層輸入鍵值,然后該層直接提供可以顯示的數(shù)據(jù)。輸入:用戶輸入的一些按鍵信息。輸出:引擎輸出的一些buffer及一些輔助信息。顯示:根據(jù)引擎輸出的一些buffer及輔助信息顯示出來(lái)。4.4 輸入法的調(diào)用流程輸入法模塊調(diào)用流程圖如下:4.4.1輸入法的初始化:在文件mmitask.c 中的函數(shù)void initime(void).initinputmethod();/t9輸入法的初始化進(jìn)行了輸入法的初始化.主要是初始化輸入法的模式(全局變量),當(dāng)前模式設(shè)置.imeres.h定義了一個(gè)數(shù)據(jù)結(jié)構(gòu)定義輸入法的模式所涵蓋的細(xì)節(jié)typedef struct _imemodedetailssupport

5、_input_modes ime_mode_id;support_input_types ime_type_id;u16 common_screen_stringid;u16 prefered_imestringid;mmi_bool english_only_flag; simemodedetails;在imeres.c定義了一個(gè)全局的輸入法模式數(shù)組,如果要增加或者刪減相關(guān)的模式,在此數(shù)組下修改.const simemodedetails mtk_gimemodearray =.4.4.2 進(jìn)入需要輸入法的短消息界面4.4.2.1 短消息編寫短消息時(shí)會(huì)進(jìn)入一個(gè)句柄綁定函數(shù)(smsmomtgu

6、iinterface.c)void highlightwmessagehandler (void).setleftsoftkeyfunction (mmi_msg_entry_write_msg, key_event_up);.void mmi_msg_entry_write_msg (void)showcategory28screen()void showcategory28screen()./如果是非觸摸屏/關(guān)聯(lián)*鍵,用于切換特殊字符setkeyhandler(change_input_mode,key_star,key_event_down);/注冊(cè)一個(gè)回調(diào)函數(shù)register_mult

7、iline_inputbox_input_callback(handle_category28_input);/關(guān)聯(lián)#鍵,用于切換輸入模式setkeyhandler(handle_category28_change_input_mode,key_pound,key_event_down);./與t9聯(lián)系起來(lái),關(guān)聯(lián)09鍵change_ems_inputbox_input_mode();/如果是觸摸屏mmi_pen_editor_setup_input_box(。)/進(jìn)入editorpen.c文件,相關(guān)的鍵處理都在此文件下進(jìn)行.4.4.2.2 彩信在widget_ctk.c中static void

8、 widget_ctk_show_smil_editor(ctk_layout_handle layoutid).showcategory275screen(.).4.4.3 引擎輸出的buffer及一些輔助信息經(jīng)過(guò)相關(guān)的鍵輸入信息t9status t9farcall t9handlekey(t9fieldinfo *pfieldinfo, t9key ekeyid)可以得到相關(guān)的引擎輸出的buffer 及一些輔助信息,此是利用幾個(gè)結(jié)構(gòu)的數(shù)據(jù)類型來(lái)進(jìn)入輸入信息顯示的。1struct t9ccfieldinfo_s t9fieldinfo g; /* generic data. */ t9u8

9、pbkeybuft9cckeybufmaxsize; /* buffer of keystrokes */ t9uint nkeybuflen; /* number of keystrokes currently in the buffer */ t9u16 pwselectpaget9ccselectpagemaxsize; /* buffer of the selection page */ t9uint nselectpagemax; /* current max size of selection page */ t9uint nselectpagelen; /* current nu

10、mber of valid entries in selection page */ t9uint nselectpagenum; /* 0-based current page number of selection page */ t9u8 btonecode; /* filter value to provide only 1 tone for keys */ t9u8 bspellcode; /* filter value to provide only 1 phonetic form for keys */ t9u16 wchinesestate; /* current state

11、bits for chinese */ t9u8 pbspellbuft9ccspellbufmaxsize;/* buffer for pinyin or bopomofo spellings */ t9u16 wcomponent; /* selected component (0 if none) */ t9u8 bnumcompstrokes; /* number of strokes in current component */ t9u16 wfirstcomponent;/* first available component code (0 if no components a

12、vailable)*/ t9u16 wlastcomponent; /* last available component code */ t9uint ndymctxtfence; /* the fence of dynamic context */ t9uint ndymctxtsearchdepth; /* dynamic context search depth */ t9u8 bphrasecompfence; /* phrase completion fence */ t9u8 bphrasecomplen; /* length of completion part of phra

13、se completion */ t9u16 wphrasecompcursor; /* original cursor before phrase completion occurs */ t9ccudbinfo t9farudbpointer *pcudbinfo; /*pointer to chinese udb */ t9ccudbobj udbcacheobj; /* cache copy of the current udb object */ t9ccaudbinfo t9farudbpointer *pcaudbinfo; /* pointer to chinese auto

14、user database */ t9uint ncaudbfence; /* audb fence */ t9u8 bldbmoduleflag; /* flags to indicate which modules are available in current ldb */ t9u8 bspellmatchfromldb; /* record how many matched spells are from ldb */ t9u8 bspellmatchfromcudb; /* record how many matched spells are from cudb*/ struct

15、t9cc_private_s t9cprivate; /* persistent memory for t9 chinese */ void *poemprivate; /* pointer for oem use for callbacks */t9ccloadldb_f t9ccloadldb;2struct t9fieldinfo_s t9symb *pstxtbuf; /* shared text buffer. */ t9auxtype *paauxbuf; /* shared auxillary buffer. */ t9uint nbuflenmax; /* memory siz

16、e of text and key buffers. */ t9uint nbuflen; /* number characters in text and key buffers.*/ t9uint ncursor; /* current cursor position. */ t9uint nwordlen; /* length of active keystrokes. */ t9uint ncompllen; /* length of word beyond active keystrokes. */ t9uint nldbnum; /* current linguistics dat

17、a base number. */ t9u8 bsymbolclass; /* symbol class of ldb */ t9u8 bnumdbkeys; /* number of ambiguous keys ldb specifies */ t9u8 bnumtapkeys; /* number of multitap keys ldb specifies */ t9uint ncurselobj; /* * the current selected object in the selection list * when nexting/pre-ing. the valid value

18、 * is 1.t9awmaxselectionobject */ t9u32 dwstatebits; /* current state bits */ /* see t9statebit above for legal values. */#ifdef t9eventapi t9_upauxapi ulangdata; /* union of ptrs referencing ldb specific apis */#endif struct t9_private_s t9private; /* persistent memory for t9s use. */ void *poempri

19、vate;/* pointer for oem use for callbacks */ t9u32 dwreserved; t9handlerequest_f t9handlerequest; t9readldbdata_f t9readldbdata; t9convertchar_f t9convertchar;3拼音攔信息鍵信息侯選字信息4智能聯(lián)想例如你輸入積極的積,將“積”字賦于變量phrase通過(guò)t9addexplicitchar(&fieldinfo.ccfieldinfo.g, phrase);就可以聯(lián)想到與積相關(guān)的詞組。4.4.4 相關(guān)的顯示區(qū)域及狀態(tài)4.4.4.1未定義_mm

20、i_touch_screen_在t9main.c中t9compositionarea上圖中的拼音攔的顯示區(qū)域t9selectionarea上圖中的侯選欄的顯示區(qū)域t9_screen_state_a 初始狀態(tài)t9_screen_state_b_pre 上圖中的拼音欄選擇狀態(tài)t9_screen_state_b 上圖中的侯選欄的選擇狀態(tài)t9_screen_state_c 侯選欄連續(xù)選擇狀態(tài)t9_screen_state_d 刪除狀態(tài)非觸摸屏通過(guò)void t9inputboxdisplayforemsinputbox(void).4.4.4.2 定義了_mmi_touch_screen_(1)虛擬鍵盤

21、用虛擬鍵盤的顯示函數(shù)void mmi_pen_editor_vk_show(void)虛擬鍵盤的相關(guān)文件:wgui_virtual_keyboad.h, gui_virtual_keyboad.hwgui_virtual_keyboad.c, gui_virtual_keyboad.c(2)鍵處理函數(shù)/觸摸響應(yīng)函數(shù)void mmi_pen_editor_smart_latin_key_down_handler(s32 key);/智能英語(yǔ)void mmi_pen_editor_smart_latin_key_down_handler(s32 key);/智能拼音void mmi_pen_edi

22、tor_smart_bpmf_pinyin_key_down_handler(s32 key);/筆劃void mmi_pen_editor_chinese_stroke_key_down_handler(s32 key);/按#鍵執(zhí)行函數(shù)void mmi_pen_editor_switch_input_method(void)(3)顯示區(qū)域及顯示函數(shù)g_pen_editor_composition_input_box上圖中的拼音攔的顯示區(qū)域gpeneditorcandidateinputbox上圖中的侯選欄的顯示區(qū)域在按鍵的過(guò)程中通過(guò)諸如以下函數(shù)來(lái)顯示的mmi_pen_editor_chin

23、ese_stroke_get_candidates_by_key_sequencemmi_pen_editor_smart_bpmf_pinyin_get_candidates_by_key_sequence等等。4.5 反查碼表在電話簿快速查找時(shí)需要用到反查碼表,用下列函數(shù)t9ccgetcharstrokes(.);t9ccgetcharspell();5 語(yǔ)言種類的選擇 在文件mmi_features*.h,中定義了以下的宏:#define _mmi_lang_english_#define _mmi_lang_tr_chinese_#define _mmi_lang_sm_chinese

24、_. 在設(shè)置話機(jī)設(shè)置-語(yǔ)言中,如果想添加或者減少語(yǔ)言的種類,只需打開或者屏蔽上述的宏即可.6字庫(kù)的選擇與添加下面我以國(guó)筆輸入法的添加為例(項(xiàng)目:v520, 平臺(tái):6226 ),mtk平臺(tái)的輸入法沒(méi)有按照模塊化來(lái)設(shè)置,代碼非常分散,所以移植起來(lái)有點(diǎn)麻煩。一般來(lái)說(shuō),所有出現(xiàn)過(guò)_mmi_ka_的地方我們都需要修改。6.1 加入庫(kù)文件在目錄plutommicustomercustresourcepluto_mmiinputmethod下增加兩個(gè)文件夾:guobi_lib與guobi_inc,將相應(yīng)的第三方軟件提供的*.lib,*.a文件拷入guobi_lib其中,將引擎頭文件文件拷入guobi_inc

25、。6.2 建立相關(guān)的文件夾在v520當(dāng)前工程目錄下建立一個(gè)文件夾guobi(仿照t9),其下建立文件夾src與include,.c與.h文件分別拷入其中,另外建立自己的接口文件gbmain.c與gbmain.h.6.3 ads編譯需用到的一些設(shè)置文件(1)在文件*_gsm.mak (make)中有如下的語(yǔ)句input_method= mmi_t9,將其替換為mmi_guobi.并且搜索mmi_t9,將相應(yīng)位置添加mmi_guobi,將需要用到*.lib,*.a依樣加入,同樣在rel_mmi_gprs.mak也需要仿照mmi_t9,加入其相應(yīng)的文件。(2)在make文件夾里加入你的輸入法的目錄g

26、uobi,并建立以下幾個(gè)文件, guobi.def: 需要使用的一些特殊的宏定義guobi.inc:需要使用的一些頭文件的引用guobi.lis:包含的文件guobi.pth:包含文件的路徑(3)在custominfo.pl下 push(thatdirs, inputmethod$mmi_versioninc);語(yǔ)句后加入 push(thatdirs, inputmethod$mmi_versionguobi_inc);(4)在plutommimmiglobalsimulatorpathdef文件最后加入/i .custominputmethodpluto_mmiguobi_inc6.4 設(shè)置

27、按鍵處理函數(shù)主要在change_ems_inputbox_mode,change_singleline_inputbox_mode,change_multiline_inputbox_mode三個(gè)函數(shù)。這是系統(tǒng)在改變輸入法時(shí)調(diào)用的函數(shù),這時(shí)候輸入法需要把自己的按鍵處理函數(shù)設(shè)置到系統(tǒng)。有關(guān)的按鍵包括所有的數(shù)字鍵、方向鍵、確定鍵和*#兩個(gè)鍵。一般來(lái)說(shuō),mtk里面已經(jīng)實(shí)現(xiàn)了數(shù)字輸入法,multitap輸入法,這幾個(gè)輸入法我們基本不需要修改。但是要修改這幾個(gè)輸入法里面的*和#鍵的調(diào)用。一般來(lái)說(shuō)我們?cè)趇nput_mode_123、input_mode_multitap_uppercase_abc,inp

28、ut_mode_multitap_lowercase_abc的輸入模式的處理程序后面加入#ifdef _mmi_guobi_gbclearkeyhandler(gbkeystarpound);setkeyhandler(mmi_pen_editor_switch_input_method, key_star, key_event_down);#endif并且我們要加入我們自己的4個(gè)輸入模式的處理函數(shù):mmi_pen_editor_switch_input_method 是觸摸屏版本mtk里面切換輸入法的統(tǒng)一函數(shù),在非觸摸屏的版本里面,可能要把它改為change_ems_inputbox_mod

29、e, change_singleline_inputbox_mode, change_multiline_inputbox_mode中的一個(gè)。6.5 候選窗口國(guó)筆的候選窗口比較復(fù)雜,所以我們建議自己畫,而不是使用系統(tǒng)的控件。對(duì)于觸摸屏的版本的mtk平臺(tái),我們建議使用一個(gè)空的虛擬鍵盤來(lái)做我們的候選窗口,候選窗口還可以通過(guò)點(diǎn)擊進(jìn)行操作。但是這個(gè)虛擬鍵盤一定要自己來(lái)畫。對(duì)于非觸摸屏的版本,建議建立一個(gè)空的singline inputbox 來(lái)做我們的候選窗口。(但是記得不要往這個(gè)inputbox插入字符。)對(duì)于singline inputbox 的候選窗口,需要注意的是有時(shí)候需要隱藏這個(gè)候選窗。畫候

30、選窗口需要部首的圖片。這些圖片共5*29=145個(gè),要全部加入到資源里面。6.6 輸入法圖標(biāo)ems里面左上角有一個(gè)輸入法圖標(biāo),這個(gè)圖標(biāo)主要在wgui_ems_show_input_mode函數(shù)處理。我們需要跟著_mmi_t9_進(jìn)行處理。6.7 輸入法菜單imeres.c里面有一個(gè)數(shù)組:const simemodedetails mtk_gimemodearray這個(gè)數(shù)組當(dāng)前可用的輸入法和輸入法的順序。這里面我們需要加入4個(gè)輸入法。#if defined(_mmi_guobi_)/*smart pinyin*/input_mode_sm_pinyin,input_type_sm_pinyin,s

31、tr_input_method_menu_pinyin,str_input_method_pinyin,0,input_mode_sm_stroke,input_type_sm_stroke,str_input_method_menu_simplified_chinese_stroke,str_input_method_sm_stroke,0,/*smart abc*/input_mode_smart_lowercase_abc,input_type_smart_lowercase_abc,str_input_method_menu_smart_abc,str_input_method_sma

32、rt_l_abc,1,/*smart abc*/input_mode_smart_uppercase_abc,input_type_smart_uppercase_abc,str_input_method_menu_smart_abc,str_input_method_smart_u_abc,1,#endif /_mmi_guobi_wgui_categories_inputs.c里面有一個(gè)數(shù)組mmi_implement_input_mode_set,這個(gè)數(shù)組也需要加入:#if defined(_mmi_guobi_)/mmi_implement_input_mode_set input_mo

33、de_sm_pinyin,input_mode_sm_stroke,input_mode_smart_uppercase_abc,input_mode_smart_lowercase_abc,#endif6.8 改變ems默認(rèn)的輸入法showcategory28screen函數(shù)的開頭有一個(gè)語(yǔ)句: u16 input_type = (u16) input_type_alphanumeric_lowercase;把它改成:#ifndef _mmi_guobi_ u16 input_type = (u16) input_type_alphanumeric_lowercase;#else u16 in

34、put_type = (u16) input_type_sm_pinyin;#endif6.9 其他mtk代碼里面有很多:#if defined(_mmi_t9_) | defined(_mmi_itap_) | defined(_mmi_ka_)一般來(lái)說(shuō)我們?cè)诤竺婕由?| defined(_mmi_guobi_)就好了。基本我們需要加入的地方都會(huì)有_mmi_ka_,移植的時(shí)候把_mmi_ka_全部找出來(lái),然后每一個(gè)看看,慢慢加入。6.10 commonscreens.c在setsavedinputtype#if defined (_mmi_t9_) | defined (_mmi_zi_)

35、| defined(_mmi_ka_)后面加入defined(_mmi_guobi_)u32 inputmethodsetkeyhandler( funcptr *prefuncptrs, funcptr *postptrs, const simemodedetails *imemodearray, bool englishonly, bool ap_required)函數(shù)里面: switch (input_mode_id)里面加入:#ifdef _mmi_guobi_ case input_mode_smart_uppercase_abc: prefuncptrsj = wgui_chang

36、e_inputbox_mode_smart_abc; break; case input_mode_smart_lowercase_abc: prefuncptrsj = wgui_change_inputbox_mode_smart_abc; break; case input_mode_sm_pinyin: prefuncptrsj = wgui_change_inputbox_mode_sm_pinyin; break; case input_mode_sm_stroke: prefuncptrsj = wgui_change_inputbox_mode_sm_stroke; break

37、;#endif6.11 editorpen.cvoid mmi_pen_editor_setup_input_box( mmi_pen_handwriting_area_struct *stroke_area, mmi_pen_handwriting_area_struct *ext_stroke, u16 input_type, u8 information_bar_flag, mmi_pen_editor_input_box_type_enum input_box_type). setkeyhandler(mmi_pen_editor_switch_input_method, key_po

38、und, key_event_down);改成(*鍵切換輸入法功能)#ifdef _mmi_guobi_ clearkeyhandler(key_pound, key_event_down); setkeyhandler(mmi_pen_editor_switch_input_method, key_star, key_event_down);#else setkeyhandler(mmi_pen_editor_switch_input_method, key_pound, key_event_down);#endifvoid mmi_pen_editor_switch_input_metho

39、d(void);輸入法切換之后有一段 if (input_mode_tr_multitap_bopomo = mmi_current_input_mode | input_mode_sm_multitap_pinyin = mmi_current_input_mode) mmi_pen_editor_bpmf_pinyin_create_multitap(mmi_current_input_mode); mmi_pen_editor_bpmf_pinyin_register_multitap_function(); else if (input_mode_smart_uppercase_abc

40、 = mmi_current_input_mode | input_mode_smart_lowercase_abc = mmi_current_input_mode) mmi_pen_editor_smart_latin_register_key_function(); else if (input_mode_tr_stroke = mmi_current_input_mode | input_mode_sm_stroke = mmi_current_input_mode) mmi_pen_editor_chinese_stroke_register_key_function(); else

41、 if (input_mode_tr_bopomo = mmi_current_input_mode | input_mode_sm_pinyin = mmi_current_input_mode) mmi_pen_editor_smart_bpmf_pinyin_register_key_function(); 在國(guó)筆輸入法里面,把這段去掉。6.12 wui_ems_categories.cvoid change_ems_inputbox_mode(u8 mode);這個(gè)函數(shù)主要是將輸入法模式改過(guò)來(lái)。然后在每一次切換輸入法之后把*鍵的功能改為切換輸入法。void change_ems_inp

42、utbox_mode(u8 mode) /*-*/ /* local variables */ /*-*/ /*-*/ /* code body */ /*-*/ /* pmt dara added for multitap thai */#if defined(_mmi_multitap_thai_) setkeyhandler(handle_category28_change_input_mode, key_pound, key_event_down);#endif switch (mode) case input_mode_multitap_uppercase_abc: change_m

43、ultitap_mode(input_mode_multitap_uppercase_abc); register_ems_multitap_function();#ifdef _mmi_guobi_/*鍵切換輸入法setkeyhandler(mmi_pen_editor_switch_input_method, key_star, key_event_down);#endif break; case input_mode_multitap_lowercase_abc: change_multitap_mode(input_mode_multitap_lowercase_abc); regis

44、ter_ems_multitap_function();#ifdef _mmi_guobi_/*鍵切換輸入法setkeyhandler(mmi_pen_editor_switch_input_method, key_star, key_event_down);#endif break;. case input_mode_123: change_multitap_mode(input_mode_123); clear_multitap_key_handlers(); register_mmi_key_input_handler(); register_key_down_handler(ems_i

45、nputbox_handle_key_down); register_keyboard_input_handler(ems_inputbox_numeric_keyboard_input_handler); wgui_set_ems_inputbox_rsk(); register_ems_inputbox_keys(); if (mmi_current_input_type & input_type_mask) = input_type_numeric_changeable) setkeyhandler(wgui_ems_inputbox_handle_symbol_picker_star_

46、key, key_star, key_event_down); #ifdef _mmi_guobi_setkeyhandler(mmi_pen_editor_switch_input_method, key_star, key_event_down);#endif break;.#ifdef _mmi_guobi_ case input_mode_sm_pinyin: case input_mode_sm_stroke:case input_mode_smart_uppercase_abc:case input_mode_smart_lowercase_abc: 輸入法模式切換 這里面會(huì)把上下

47、左右設(shè)置ems處理*鍵處理#endifvoid handle_category28_change_input_mode(void)函數(shù)這個(gè)函數(shù)主要是改變輸入法的圖標(biāo)只要把獲取中文輸入法圖標(biāo)里面#if defined(_mmi_t9_) | defined(_mmi_itap_) | defined(_mmi_ka_)加上| defined(_mmi_guobi_)就可以了。同時(shí)在wui_ems_categories.c,還有:#if defined(_mmi_t9_) | defined(_mmi_zi_) | defined(_mmi_ka_) | defined(_mmi_itap_)vo

48、id wgui_ems_inputbox_change_input_mode_smart_abc(void).void wgui_ems_inputbox_change_input_mode_smart_abc(void)void wgui_ems_inputbox_change_input_mode_tr_bpmf(void)我們?cè)谇懊嫱瑯蛹由蟶 defined(_mmi_guobi_)void showcategory28screen( u16 title, u16 title_icon, u16 left_softkey, u16 left_softkey_icon, u16 right

49、_softkey, u16 right_softkey_icon, emsdata *data, u8 *history_buffer)函數(shù)里面加入對(duì)gbinputmethodentercategory28函數(shù)的調(diào)用,如:#ifdef _mmi_t9_ inuptmethodentercategory28();#elif defined(_mmi_zi_) & defined(_mmi_messages_ems_) ziinuptmethodentercategory28();#elif defined(_mmi_ka_) konkainuptmethodentercategory28();#elif defined(_mmi_itap_) /已經(jīng)處理過(guò)了/* under construction !*/* under construction

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論