CommonScreens.c
上传用户:lqx1163
上传日期:2014-08-13
资源大小:9183k
文件大小:247k
源码类别:

MTK

开发平台:

C/C++

  1. /*****************************************************************************
  2. *  Copyright Statement:
  3. *  --------------------
  4. *  This software is protected by Copyright and the information contained
  5. *  herein is confidential. The software may not be copied and the information
  6. *  contained herein may not be used or disclosed except with the written
  7. *  permission of MediaTek Inc. (C) 2005
  8. *
  9. *  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
  10. *  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
  11. *  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
  12. *  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
  13. *  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
  14. *  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
  15. *  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
  16. *  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
  17. *  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
  18. *  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
  19. *  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
  20. *  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
  21. *
  22. *  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
  23. *  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
  24. *  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
  25. *  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
  26. *  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
  27. *
  28. *  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
  29. *  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
  30. *  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
  31. *  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
  32. *  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
  33. *
  34. *****************************************************************************/
  35. /*****************************************************************************
  36.  *
  37.  * Filename:
  38.  * ---------
  39.  *    commonscreens.c
  40.  *
  41.  * Project:
  42.  * --------
  43.  *   Maui_Software
  44.  *
  45.  * Description:
  46.  * ------------
  47.  *   for input method menu and symbol picker screen
  48.  *
  49.  *
  50.  * Author:
  51.  * -------
  52.  * -------
  53.  *
  54.  *============================================================================
  55.  *             HISTORY
  56.  * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
  57.  *------------------------------------------------------------------------------
  58.  * removed!
  59.  *
  60.  * removed!
  61.  * removed!
  62.  * removed!
  63.  *
  64.  * removed!
  65.  * removed!
  66.  * removed!
  67.  *
  68.  * removed!
  69.  * removed!
  70.  * removed!
  71.  *
  72.  * removed!
  73.  * removed!
  74.  * removed!
  75.  *
  76.  * removed!
  77.  * removed!
  78.  * removed!
  79.  *
  80.  * removed!
  81.  * removed!
  82.  * removed!
  83.  *
  84.  * removed!
  85.  * removed!
  86.  * removed!
  87.  *
  88.  * removed!
  89.  * removed!
  90.  * removed!
  91.  *
  92.  * removed!
  93.  * removed!
  94.  * removed!
  95.  *
  96.  * removed!
  97.  * removed!
  98.  * removed!
  99.  *
  100.  * removed!
  101.  * removed!
  102.  * removed!
  103.  *
  104.  * removed!
  105.  * removed!
  106.  * removed!
  107.  *
  108.  * removed!
  109.  * removed!
  110.  * removed!
  111.  *
  112.  * removed!
  113.  * removed!
  114.  * removed!
  115.  *
  116.  * removed!
  117.  * removed!
  118.  * removed!
  119.  *
  120.  * removed!
  121.  * removed!
  122.  * removed!
  123.  *
  124.  * removed!
  125.  * removed!
  126.  * removed!
  127.  *
  128.  * removed!
  129.  * removed!
  130.  * removed!
  131.  *
  132.  * removed!
  133.  * removed!
  134.  * removed!
  135.  *
  136.  * removed!
  137.  * removed!
  138.  * removed!
  139.  *
  140.  * removed!
  141.  * removed!
  142.  * removed!
  143.  *
  144.  * removed!
  145.  * removed!
  146.  * removed!
  147.  *
  148.  * removed!
  149.  * removed!
  150.  * removed!
  151.  *
  152.  * removed!
  153.  * removed!
  154.  * removed!
  155.  *
  156.  * removed!
  157.  * removed!
  158.  * removed!
  159.  *
  160.  * removed!
  161.  * removed!
  162.  * removed!
  163.  *
  164.  * removed!
  165.  * removed!
  166.  * removed!
  167.  *
  168.  * removed!
  169.  * removed!
  170.  * removed!
  171.  *
  172.  * removed!
  173.  * removed!
  174.  * removed!
  175.  *
  176.  * removed!
  177.  * removed!
  178.  * removed!
  179.  *
  180.  * removed!
  181.  * removed!
  182.  * removed!
  183.  *
  184.  * removed!
  185.  * removed!
  186.  * removed!
  187.  *
  188.  * removed!
  189.  * removed!
  190.  * removed!
  191.  *
  192.  * removed!
  193.  * removed!
  194.  * removed!
  195.  *
  196.  * removed!
  197.  * removed!
  198.  * removed!
  199.  *
  200.  * removed!
  201.  * removed!
  202.  * removed!
  203.  *
  204.  * removed!
  205.  * removed!
  206.  * removed!
  207.  *
  208.  * removed!
  209.  * removed!
  210.  * removed!
  211.  *
  212.  * removed!
  213.  * removed!
  214.  * removed!
  215.  *
  216.  * removed!
  217.  * removed!
  218.  * removed!
  219.  *
  220.  *------------------------------------------------------------------------------
  221.  * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
  222.  *============================================================================
  223.  ****************************************************************************/
  224. /**
  225.  * Copyright Notice
  226.  * (c) 2002 - 2003, Pixtel Communications, Inc., 1489 43rd Ave. W.,
  227.  * Vancouver, B.C. V6M 4K8 Canada. All Rights Reserved.
  228.  *  (It is illegal to remove this copyright notice from this software or any
  229.  *  portion of it)
  230.  */
  231. /**************************************************************
  232.    FILENAME : CommonScreens.c
  233.    PURPOSE     : Common screens used by applications
  234.    REMARKS     :
  235.    AUTHOR      : manju
  236.    DATE     : Aug-06-2003
  237. **************************************************************/
  238. #include "MMI_features.h"
  239. /* MTK Leo add */
  240. #include "GlobalMenuItems.h"
  241. /* MTK Leo end */
  242. #include "CommonScreens.h"
  243. #include "TimerEvents.h"
  244. #include "KeyBrd.h"
  245. #include "ProfileGprots.h"
  246. #include "GlobalDefs.h"
  247. #include "wgui_categories_inputs.h"
  248. #include "wgui_categories_popup.h"
  249. #include "EventsGprot.h"
  250. /* START VIJAY PMT 20050725 */
  251. #include "gui_ems.h"
  252. #include "hf_rules.h"
  253. //END VIJAY PMT 20050725
  254. // __CUSTPACK_MULTIBIN     Terry   BEGIN
  255. #include "IMERes.h"
  256. #include "DebugInitDef.h"
  257. extern const sIMEModeDetails *gIMEModeArray;
  258. extern const sIMEModeDetails *gIMEQSearchModeArray;
  259. /* __CUSTPACK_MULTIBIN     Terry   END */
  260. // #include "wgui_categories_popup.h"
  261. #include "SubLCDHistoryGProt.h"
  262. extern void leave_full_screen(void);
  263. extern BOOL IsMyTimerExist(U16 nTimerId);
  264. void (*InputMethodScreenCloseFunction) (void) = UI_dummy_function;
  265. void (*SavedInputMethodScreenCloseFunction) (void) = UI_dummy_function;
  266. S16 saved_MMI_current_input_type = 0;
  267. U16 gInputMethodAndDoneCaptionIcon = 0;
  268. extern void goto_demo_under_construction(void);
  269. extern S16 MMI_current_input_type;
  270. static U8 is_popup_allow = POPUP_ALL_ON;    /* it can be POPUP_ALL_OFF, POPUP_DSPL_ON, POPUP_TONE_ON, or POPUP_ALL_ON */
  271. /* MTK elvis */
  272. #ifdef __MMI_T9__
  273. extern void T9SynT9WithInputBox(void);
  274. #elif defined __MMI_ZI__
  275. extern void ZiDisplay(void);
  276. //KP Jerry add on 2007-3-8 start
  277. #elif defined __MMI_CSTAR__
  278. extern void CstarDisplay(void);
  279. //KP Jerry add on 2007-3-8 end
  280. #elif defined __MMI_KA__
  281. extern void KonkaDisplay(void);
  282. #elif defined __MMI_ITAP__
  283. /* under construction !*/
  284. #endif 
  285. extern void TurnOnBacklight(U8 TimerFlag);  /* 042505 Calvin added */
  286. /* MTK end */
  287. U8 popupToneId = 0; /* 121605 popup tone Calvin */
  288. /* START PMTFARHAD 20050224 */
  289. /* PMT START PERSIAN */
  290. #if defined __MMI_LANG_HINDI__ && (defined __MMI_LANG_ARABIC__ || defined __MMI_LANG_PERSIAN__)
  291. /* PMT END PERSIAN */
  292. extern S32 HINDI_PRESENT;
  293. extern S32 ARABIC_PRESENT;
  294. #endif /* defined __MMI_LANG_HINDI__ && (defined __MMI_LANG_ARABIC__ || defined __MMI_LANG_PERSIAN__) */ 
  295. /* END PMTFARHAD  20050224 */
  296. /* START VIJAY PMT 20050725 */
  297. #if defined (__MMI_MULTITAP_HINDI__)
  298. extern UI_character_type gui_EMS_current_character(UI_EMS_input_box *b);
  299. extern UI_EMS_input_box MMI_EMS_inputbox;
  300. #endif /* defined (__MMI_MULTITAP_HINDI__) */ 
  301. /* END VIJAY PMT 20050725 */
  302. #define NUMBER_OF_INPUT_METHODS  INPUT_MODE_MAX_NUM
  303. FuncPtr preHandleInputMethodLSKFuncPtrs[NUMBER_OF_INPUT_METHODS];
  304. FuncPtr postHandleInputMethodLSKFuncPtrs[NUMBER_OF_INPUT_METHODS];
  305. //Ailsa : flag to record if the input box is INPUT_TYPE_ALPHANUMERIC_PASSWORD
  306. extern MMI_BOOL mmi_is_alphanum_pass;
  307. extern U8 wgui_singleline_inputbox_input_mode_changed;
  308. extern U8 wgui_singleline_inputbox_input_type;
  309. extern void wgui_change_inputbox_mode_quick_search_numeric(void);
  310. extern void wgui_change_inputbox_mode_quick_search_abc(void);
  311. /* MTK Terry for Spanish French German Italian Russian Turkish Portuguese */
  312. #if defined(__MMI_MULTITAP_SPANISH__)
  313. extern void wgui_change_inputbox_mode_quick_search_spanish(void);
  314. #endif 
  315. /* PMT VIKASG START 20050729 */
  316. #if defined(__MMI_MULTITAP_DANISH__)
  317. extern void wgui_change_inputbox_mode_quick_search_danish(void);
  318. #endif 
  319. //PMT VIKASG END 20050729
  320. //PMT CZ_PO_TU START 20050812
  321. #if defined(__MMI_MULTITAP_POLISH__)
  322. extern void wgui_change_inputbox_mode_quick_search_polish(void);
  323. #endif 
  324. /* PMT CZ_PO_TU END 20050812 */
  325. #if defined(__MMI_MULTITAP_FRENCH__)
  326. extern void wgui_change_inputbox_mode_quick_search_french(void);
  327. #endif 
  328. #if defined(__MMI_MULTITAP_GERMAN__)
  329. extern void wgui_change_inputbox_mode_quick_search_german(void);
  330. #endif 
  331. #if defined(__MMI_MULTITAP_ITALIAN__)
  332. extern void wgui_change_inputbox_mode_quick_search_italian(void);
  333. #endif 
  334. #if defined(__MMI_MULTITAP_RUSSIAN__)
  335. extern void wgui_change_inputbox_mode_quick_search_russian(void);
  336. #endif 
  337. #if defined(__MMI_MULTITAP_BULGARIAN__)
  338. extern void wgui_change_inputbox_mode_quick_search_bulgarian(void);
  339. #endif 
  340. #if defined(__MMI_MULTITAP_TURKISH__)
  341. extern void wgui_change_inputbox_mode_quick_search_turkish(void);
  342. #endif 
  343. #if defined(__MMI_MULTITAP_PORTUGUESE__)
  344. extern void wgui_change_inputbox_mode_quick_search_portuguese(void);
  345. #endif 
  346. #if defined(__MMI_MULTITAP_HINDI__)
  347. extern void wgui_change_inputbox_mode_quick_search_HINDI(void);
  348. #endif 
  349. #if defined(__MMI_MULTITAP_MARATHI__)
  350. extern void wgui_change_inputbox_mode_quick_search_MARATHI(void);
  351. #endif 
  352. #if defined(__MMI_MULTITAP_INDONESIAN__)
  353. extern void wgui_change_inputbox_mode_quick_search_indonesian(void);
  354. #endif 
  355. /* PMT CZ_PO_TU START 20050812 */
  356. #if defined(__MMI_MULTITAP_CZECH__)
  357. extern void wgui_change_inputbox_mode_quick_search_czech(void);
  358. #endif 
  359. /* PMT CZ_PO_TU END 20050812 */
  360. #if defined(__MMI_MULTITAP_MALAY__)
  361. extern void wgui_change_inputbox_mode_quick_search_malay(void);
  362. #endif 
  363. #if defined(__MMI_MULTITAP_VIETNAMESE__)
  364. extern void wgui_change_inputbox_mode_quick_search_vietnamese(void);
  365. #endif 
  366. /* PMT START HU_FI 20050825 */
  367. #if defined(__MMI_MULTITAP_FINNISH__)
  368. extern void wgui_change_inputbox_mode_quick_search_finnish(void);
  369. #endif 
  370. #if defined(__MMI_MULTITAP_HUNGARIAN__)
  371. extern void wgui_change_inputbox_mode_quick_search_hungarian(void);
  372. #endif 
  373. //PMT END HU_FI 20050825
  374. //MTK Add Steven 2005.0621
  375. #if defined(__MMI_MULTITAP_THAI__)
  376. extern void wgui_change_inputbox_mode_quick_search_thai(void);
  377. #endif 
  378. /* PMT START GR_HE_CZ_FI_DA_HU 20051007 */
  379. #if defined(__MMI_MULTITAP_HEBREW__)
  380. extern void wgui_change_inputbox_mode_quick_search_hebrew(void);
  381. #endif 
  382. //PMT END GR_HE_CZ_FI_DA_HU 20051007
  383. //PMT NO_AR_SL_DU START 20050909
  384. #if defined(__MMI_MULTITAP_SLOVAK__)
  385. extern void wgui_change_inputbox_mode_quick_search_slovak(void);
  386. #endif 
  387. #if defined(__MMI_MULTITAP_DUTCH__)
  388. extern void wgui_change_inputbox_mode_quick_search_dutch(void);
  389. #endif 
  390. /* Norwegian start */
  391. #if defined(__MMI_MULTITAP_NORWEGIAN__)
  392. extern void wgui_change_inputbox_mode_quick_search_norwegian(void);
  393. #endif 
  394. /* Norwegian end */
  395. #if defined(__MMI_MULTITAP_ARABIC__)
  396. extern void wgui_change_inputbox_mode_quick_search_arabic(void);
  397. #endif 
  398. /* PMT START PERSIAN */
  399. #if defined(__MMI_MULTITAP_PERSIAN__)
  400. extern void wgui_change_inputbox_mode_quick_search_persian(void);
  401. #endif 
  402. //PMT END PERSIAN
  403. //PMT NO_AR_SL_DU END 20050909
  404. //MTK End
  405. /* PMT START SWEDISH 20050916 */
  406. #if defined(__MMI_MULTITAP_SWEDISH__)
  407. extern void wgui_change_inputbox_mode_quick_search_swedish(void);
  408. #endif 
  409. /* PMT END SWEDISH 20050916 */
  410. /* PMT START CR_ROM_SLO 20050923 */
  411. #if defined(__MMI_MULTITAP_CROATIAN__)
  412. extern void wgui_change_inputbox_mode_quick_search_croatian(void);
  413. #endif 
  414. #if defined(__MMI_MULTITAP_ROMANIAN__)
  415. extern void wgui_change_inputbox_mode_quick_search_romanian(void);
  416. #endif 
  417. #if defined(__MMI_MULTITAP_SLOVENIAN__)
  418. extern void wgui_change_inputbox_mode_quick_search_slovenian(void);
  419. #endif 
  420. //PMT END CR_ROM_SLO 20050923
  421. //PMT START GR_HE_CZ_FI_DA_HU 20051007
  422. #if defined(__MMI_MULTITAP_GREEK__)
  423. extern void wgui_change_inputbox_mode_quick_search_greek(void);
  424. #endif 
  425. /* PMT END GR_HE_CZ_FI_DA_HU 20051007 */
  426. //MTK end
  427.       //MTK Elvis
  428. #if defined (__MMI_T9__) || defined (__MMI_ZI__) || defined(__MMI_KA__) || defined(__MMI_ITAP__)|| defined(__MMI_CSTAR__)     //KP Jerry add "__MMI_CSTAR__" on 2007-3-8
  429. extern void wgui_change_inputbox_mode_quick_search_tr_stroke(void);
  430. extern void wgui_change_inputbox_mode_quick_search_sm_stroke(void);
  431. extern void wgui_change_inputbox_mode_tr_quick_search_multitap_bpmf(void);
  432. extern void wgui_change_inputbox_mode_quick_search_sm_multitap_pinyin(void);
  433. #endif /* defined (__MMI_T9__) || defined (__MMI_ZI__) || defined(__MMI_KA__) || defined(__MMI_ITAP__) || defined(__MMI_CSTAR__) */     //KP Jerry add "__MMI_CSTAR__" on 2007-3-8 
  434. const U16 gIndexIconsImageList[] = 
  435. {
  436.     IMG_GLOBAL_L1,
  437.     IMG_GLOBAL_L2,
  438.     IMG_GLOBAL_L3,
  439.     IMG_GLOBAL_L4,
  440.     IMG_GLOBAL_L5,
  441.     IMG_GLOBAL_L6,
  442.     IMG_GLOBAL_L7,
  443.     IMG_GLOBAL_L8,
  444.     IMG_GLOBAL_L9,
  445.     IMG_GLOBAL_L10,
  446.     IMG_GLOBAL_L11,
  447.     IMG_GLOBAL_L12,
  448.     IMG_GLOBAL_L13,
  449.     IMG_GLOBAL_L14,
  450.     IMG_GLOBAL_L15,
  451.     IMG_GLOBAL_L16,
  452.     IMG_GLOBAL_L17,
  453.     IMG_GLOBAL_L18,
  454.     IMG_GLOBAL_L19,
  455.     IMG_GLOBAL_L20,
  456.     IMG_GLOBAL_L21,
  457.     IMG_GLOBAL_L22,
  458.     IMG_GLOBAL_L23,
  459.     IMG_GLOBAL_L24,
  460.     IMG_GLOBAL_L25,
  461.     IMG_GLOBAL_L26,
  462.     IMG_GLOBAL_L27,
  463.     IMG_GLOBAL_L28,
  464.     IMG_GLOBAL_L29,
  465.     IMG_GLOBAL_L30
  466. };
  467. /* MTK Terry : Multitap for Star and Pound */
  468. /*****************************************************************************
  469.  * FUNCTION
  470.  *  SetSavedQuickSearchInputType
  471.  * DESCRIPTION
  472.  *  
  473.  * PARAMETERS
  474.  *  void
  475.  * RETURNS
  476.  *  void
  477.  *****************************************************************************/
  478. void SetSavedQuickSearchInputType(void)
  479. {
  480.     /*----------------------------------------------------------------*/
  481.     /* Local Variables                                                */
  482.     /*----------------------------------------------------------------*/
  483.     /*----------------------------------------------------------------*/
  484.     /* Code Body                                                      */
  485.     /*----------------------------------------------------------------*/
  486.     switch (saved_MMI_current_input_type & INPUT_TYPE_MASK)
  487.     {
  488.         case INPUT_TYPE_MMI_NUMERIC:
  489.             wgui_change_inputbox_mode_quick_search_numeric();
  490.             break;
  491.         case INPUT_TYPE_MMI_LOWERCASE_ABC:
  492.             wgui_change_inputbox_mode_quick_search_abc();
  493.             break;
  494.             /* MTK Terry for Spanish French German Italian Russian Turkish Portuguese */
  495.     #if defined(__MMI_MULTITAP_SPANISH__)
  496.         case INPUT_TYPE_MMI_LOWERCASE_SPANISH:
  497.             wgui_change_inputbox_mode_quick_search_spanish();
  498.             break;
  499.     #endif /* defined(__MMI_MULTITAP_SPANISH__) */ 
  500.             /* PMT VIKASG START 20050729 */
  501.     #if defined(__MMI_MULTITAP_DANISH__)
  502.         case INPUT_TYPE_MMI_LOWERCASE_DANISH:
  503.             wgui_change_inputbox_mode_quick_search_danish();
  504.             break;
  505.     #endif /* defined(__MMI_MULTITAP_DANISH__) */ 
  506.             //PMT VIKASG END 20050729
  507.             //PMT CZ_PO_TU START 20050812
  508.     #if defined(__MMI_MULTITAP_POLISH__)
  509.         case INPUT_TYPE_MMI_LOWERCASE_POLISH:
  510.             wgui_change_inputbox_mode_quick_search_polish();
  511.             break;
  512.     #endif /* defined(__MMI_MULTITAP_POLISH__) */ 
  513.             /* PMT CZ_PO_TU END 20050812 */
  514.     #if defined(__MMI_MULTITAP_FRENCH__)
  515.         case INPUT_TYPE_MMI_LOWERCASE_FRENCH:
  516.             wgui_change_inputbox_mode_quick_search_french();
  517.             break;
  518.     #endif /* defined(__MMI_MULTITAP_FRENCH__) */ 
  519.     #if defined(__MMI_MULTITAP_GERMAN__)
  520.         case INPUT_TYPE_MMI_LOWERCASE_GERMAN:
  521.             wgui_change_inputbox_mode_quick_search_german();
  522.             break;
  523.     #endif /* defined(__MMI_MULTITAP_GERMAN__) */ 
  524.     #if defined(__MMI_MULTITAP_ITALIAN__)
  525.         case INPUT_TYPE_MMI_LOWERCASE_ITALIAN:
  526.             wgui_change_inputbox_mode_quick_search_italian();
  527.             break;
  528.     #endif /* defined(__MMI_MULTITAP_ITALIAN__) */ 
  529.     #if defined(__MMI_MULTITAP_RUSSIAN__)
  530.         case INPUT_TYPE_MMI_LOWERCASE_RUSSIAN:
  531.             wgui_change_inputbox_mode_quick_search_russian();
  532.             break;
  533.     #endif /* defined(__MMI_MULTITAP_RUSSIAN__) */ 
  534.     #if defined(__MMI_MULTITAP_BULGARIAN__)
  535.         case INPUT_TYPE_MMI_LOWERCASE_BULGARIAN:
  536.             wgui_change_inputbox_mode_quick_search_bulgarian();
  537.             break;
  538.     #endif /* defined(__MMI_MULTITAP_BULGARIAN__) */ 
  539.     #if defined(__MMI_MULTITAP_TURKISH__)
  540.         case INPUT_TYPE_MMI_LOWERCASE_TURKISH:
  541.             wgui_change_inputbox_mode_quick_search_turkish();
  542.             break;
  543.     #endif /* defined(__MMI_MULTITAP_TURKISH__) */ 
  544.     #if defined(__MMI_MULTITAP_PORTUGUESE__)
  545.         case INPUT_TYPE_MMI_LOWERCASE_PORTUGUESE:
  546.             wgui_change_inputbox_mode_quick_search_portuguese();
  547.             break;
  548.     #endif /* defined(__MMI_MULTITAP_PORTUGUESE__) */ 
  549.     #if defined(__MMI_MULTITAP_HINDI__)
  550.         case INPUT_TYPE_MULTITAP_HINDI:
  551.             wgui_change_inputbox_mode_quick_search_HINDI();
  552.             break;
  553.     #endif /* defined(__MMI_MULTITAP_HINDI__) */ 
  554.     #if defined(__MMI_MULTITAP_INDONESIAN__)
  555.         case INPUT_TYPE_MMI_LOWERCASE_INDONESIAN:
  556.             wgui_change_inputbox_mode_quick_search_indonesian();
  557.             break;
  558.     #endif /* defined(__MMI_MULTITAP_INDONESIAN__) */ 
  559.             /* PMT CZ_PO_TU START 20050812 */
  560.     #if defined(__MMI_MULTITAP_CZECH__)
  561.         case INPUT_TYPE_MMI_LOWERCASE_CZECH:
  562.             wgui_change_inputbox_mode_quick_search_czech();
  563.             break;
  564.     #endif /* defined(__MMI_MULTITAP_CZECH__) */ 
  565.             /* PMT CZ_PO_TU END 20050812 */
  566.     #if defined(__MMI_MULTITAP_MALAY__)
  567.         case INPUT_TYPE_MMI_LOWERCASE_MALAY:
  568.             wgui_change_inputbox_mode_quick_search_malay();
  569.             break;
  570.     #endif /* defined(__MMI_MULTITAP_MALAY__) */ 
  571.     #if defined(__MMI_MULTITAP_VIETNAMESE__)
  572.         case INPUT_TYPE_MMI_LOWERCASE_VIETNAMESE:
  573.             wgui_change_inputbox_mode_quick_search_vietnamese();
  574.             break;
  575.     #endif /* defined(__MMI_MULTITAP_VIETNAMESE__) */ 
  576.             /* dara for multitap thai */
  577.     #if defined(__MMI_MULTITAP_THAI__)
  578.         case INPUT_TYPE_MMI_MULTITAP_THAI:
  579.             wgui_change_inputbox_mode_quick_search_thai();
  580.             break;
  581.     #endif /* defined(__MMI_MULTITAP_THAI__) */ 
  582.             /* PMT START GR_HE_CZ_FI_DA_HU 20051007 */
  583.     #if defined(__MMI_MULTITAP_HEBREW__)
  584.         case INPUT_TYPE_MMI_MULTITAP_HEBREW:
  585.             wgui_change_inputbox_mode_quick_search_hebrew();
  586.             break;
  587.     #endif /* defined(__MMI_MULTITAP_HEBREW__) */ 
  588.             //PMT END GR_HE_CZ_FI_DA_HU 20051007
  589.             //PMT START HU_FI 20050825
  590.     #if defined(__MMI_MULTITAP_FINNISH__)
  591.         case INPUT_TYPE_MMI_LOWERCASE_FINNISH:
  592.             wgui_change_inputbox_mode_quick_search_finnish();
  593.             break;
  594.     #endif /* defined(__MMI_MULTITAP_FINNISH__) */ 
  595.     #if defined(__MMI_MULTITAP_HUNGARIAN__)
  596.         case INPUT_TYPE_MMI_LOWERCASE_HUNGARIAN:
  597.             wgui_change_inputbox_mode_quick_search_hungarian();
  598.             break;
  599.     #endif /* defined(__MMI_MULTITAP_HUNGARIAN__) */ 
  600.             //PMT END HU_FI 20050825
  601.             //PMT NO_AR_SL_DU START 20050909
  602.     #if defined(__MMI_MULTITAP_SLOVAK__)
  603.         case INPUT_TYPE_MMI_LOWERCASE_SLOVAK:
  604.             wgui_change_inputbox_mode_quick_search_slovak();
  605.     #endif /* defined(__MMI_MULTITAP_SLOVAK__) */ 
  606.     #if defined(__MMI_MULTITAP_DUTCH__)
  607.         case INPUT_TYPE_MMI_LOWERCASE_DUTCH:
  608.             wgui_change_inputbox_mode_quick_search_dutch();
  609.             break;
  610.     #endif /* defined(__MMI_MULTITAP_DUTCH__) */ 
  611.     #if defined(__MMI_MULTITAP_ARABIC__)
  612.         case INPUT_TYPE_MMI_MULTITAP_ARABIC:
  613.             wgui_change_inputbox_mode_quick_search_arabic();
  614.             break;
  615.     #endif /* defined(__MMI_MULTITAP_ARABIC__) */ 
  616.             /* PMT START PERSIAN */
  617.     #if defined(__MMI_MULTITAP_PERSIAN__)
  618.         case INPUT_TYPE_MMI_MULTITAP_PERSIAN:
  619.             wgui_change_inputbox_mode_quick_search_persian();
  620.             break;
  621.     #endif /* defined(__MMI_MULTITAP_PERSIAN__) */ 
  622.             /* PMT END PERSIAN */
  623.             /* Norwegian start */
  624.     #if defined(__MMI_MULTITAP_NORWEGIAN__)
  625.         case INPUT_TYPE_MMI_LOWERCASE_NORWEGIAN:
  626.             wgui_change_inputbox_mode_quick_search_norwegian();
  627.             break;
  628.     #endif /* defined(__MMI_MULTITAP_NORWEGIAN__) */ 
  629.             //Norwegian end
  630.             //PMT NO_AR_SL_DU END 20050909
  631.             //PMT START SWEDISH 20050916
  632.     #if defined(__MMI_MULTITAP_SWEDISH__)
  633.         case INPUT_TYPE_MMI_LOWERCASE_SWEDISH:
  634.             wgui_change_inputbox_mode_quick_search_swedish();
  635.             break;
  636.     #endif /* defined(__MMI_MULTITAP_SWEDISH__) */ 
  637.             /* PMT END SWEDISH 20050916 */
  638.             /* PMT START CR_ROM_SLO 20050923 */
  639.     #if defined(__MMI_MULTITAP_CROATIAN__)
  640.         case INPUT_TYPE_MMI_LOWERCASE_CROATIAN:
  641.             wgui_change_inputbox_mode_quick_search_croatian();
  642.             break;
  643.     #endif /* defined(__MMI_MULTITAP_CROATIAN__) */ 
  644.     #if defined(__MMI_MULTITAP_ROMANIAN__)
  645.         case INPUT_TYPE_MMI_LOWERCASE_ROMANIAN:
  646.             wgui_change_inputbox_mode_quick_search_romanian();
  647.             break;
  648.     #endif /* defined(__MMI_MULTITAP_ROMANIAN__) */ 
  649.     #if defined(__MMI_MULTITAP_SLOVENIAN__)
  650.         case INPUT_TYPE_MMI_LOWERCASE_SLOVENIAN:
  651.             wgui_change_inputbox_mode_quick_search_slovenian();
  652.             break;
  653.     #endif /* defined(__MMI_MULTITAP_SLOVENIAN__) */ 
  654.             /* PMT END CR_ROM_SLO 20050923 */
  655.             /* PMT START GR_HE_CZ_FI_DA_HU 20051007 */
  656.     #if defined(__MMI_MULTITAP_GREEK__)
  657.         case INPUT_TYPE_MMI_LOWERCASE_GREEK:
  658.             wgui_change_inputbox_mode_quick_search_greek();
  659.     #endif /* defined(__MMI_MULTITAP_GREEK__) */ 
  660.             //PMT END GR_HE_CZ_FI_DA_HU 20051007
  661.             //MTK end
  662.             //MTK Elvis
  663.     #if defined (__MMI_T9__) || defined (__MMI_ZI__) || defined(__MMI_KA__) || defined(__MMI_ITAP__)|| defined(__MMI_CSTAR__)     //KP Jerry add "__MMI_CSTAR__" on 2007-3-8
  664. //KP Jerry modify on 2007-4-18 start
  665. #ifdef __MMI_LANG_TR_CHINESE__      //KP Jerry add on 2007-4-17
  666.         case INPUT_TYPE_MMI_MULTITAP_BPMF:  /* mulitap bopomofo */
  667.             wgui_change_inputbox_mode_tr_quick_search_multitap_bpmf();
  668.             break;
  669.         case INPUT_TYPE_MMI_TR_STROKE:  /* tr stroke */
  670.             wgui_change_inputbox_mode_quick_search_tr_stroke();
  671.             break;
  672. #endif/*__MMI_LANG_TR_CHINESE__*/      //KP Jerry add on 2007-4-17
  673. #ifdef __MMI_LANG_SM_CHINESE__      //KP Jerry add on 2007-4-17
  674.         case INPUT_TYPE_MMI_MULTITAP_PINYIN:    /* multitap pinyin */
  675.             wgui_change_inputbox_mode_quick_search_sm_multitap_pinyin();
  676.             break;
  677.         case INPUT_TYPE_MMI_SM_STROKE:  /* sm stroke */
  678.             wgui_change_inputbox_mode_quick_search_sm_stroke();
  679.             break;
  680. #endif/*__MMI_LANG_SM_CHINESE__*/      //KP Jerry add on 2007-4-17
  681. //KP Jerry modify on 2007-4-18 end
  682.     #endif /* defined (__MMI_T9__) || defined (__MMI_ZI__) || defined(__MMI_KA__) || defined(__MMI_ITAP__) || defined(__MMI_CSTAR__) */     //KP Jerry add "__MMI_CSTAR__" on 2007-3-8 
  683.             /* MTK end */
  684.     }
  685. }
  686. extern void (*wgui_inline_edit_DONE_function) (void);
  687. void (*wgui_common_screen_inline_edit_DONE_function) (void);
  688. void mmi_frm_go_back_2_history(void);
  689. /*****************************************************************************
  690.  * FUNCTION
  691.  *  HighlightInLineMultilineEditorOption
  692.  * DESCRIPTION
  693.  *  
  694.  * PARAMETERS
  695.  *  nIndex      [IN]        
  696.  * RETURNS
  697.  *  void
  698.  *****************************************************************************/
  699. void HighlightInLineMultilineEditorOption(S32 nIndex)
  700. {
  701.     /*----------------------------------------------------------------*/
  702.     /* Local Variables                                                */
  703.     /*----------------------------------------------------------------*/
  704.     /*----------------------------------------------------------------*/
  705.     /* Code Body                                                      */
  706.     /*----------------------------------------------------------------*/
  707.     switch (nIndex)
  708.     {
  709.         case 0:
  710.             ChangeLeftSoftkey(STR_GLOBAL_OK, IMG_GLOBAL_OK);
  711.             ChangeRightSoftkey(STR_GLOBAL_BACK, IMG_GLOBAL_BACK);
  712.             SetLeftSoftkeyFunction(wgui_common_screen_inline_edit_DONE_function, KEY_EVENT_UP);
  713.             SetKeyHandler(wgui_common_screen_inline_edit_DONE_function, KEY_RIGHT_ARROW, KEY_EVENT_DOWN);
  714.             SetRightSoftkeyFunction(GoBackHistory, KEY_EVENT_UP);
  715.             SetKeyHandler(GoBackHistory, KEY_LEFT_ARROW, KEY_EVENT_DOWN);
  716.             break;
  717.         case 1:
  718.             ChangeLeftSoftkey(STR_GLOBAL_OK, IMG_GLOBAL_OK);
  719.             ChangeRightSoftkey(STR_GLOBAL_BACK, IMG_GLOBAL_BACK);
  720.             SetLeftSoftkeyFunction(EntryInputMethodScreen, KEY_EVENT_UP);
  721.             SetKeyHandler(EntryInputMethodScreen, KEY_RIGHT_ARROW, KEY_EVENT_DOWN);
  722.             SetRightSoftkeyFunction(GoBackHistory, KEY_EVENT_UP);
  723.             SetKeyHandler(GoBackHistory, KEY_LEFT_ARROW, KEY_EVENT_DOWN);
  724.             RegisterInputMethodScreenCloseFunction(mmi_frm_go_back_2_history);
  725.             break;
  726.         default:
  727.             break;
  728.     }
  729. }
  730. /*****************************************************************************
  731.  * FUNCTION
  732.  *  EntryInLineMultilineEditorOption
  733.  * DESCRIPTION
  734.  *  
  735.  * PARAMETERS
  736.  *  void
  737.  * RETURNS
  738.  *  void
  739.  *****************************************************************************/
  740. void EntryInLineMultilineEditorOption(void)
  741. {
  742.     /*----------------------------------------------------------------*/
  743.     /* Local Variables                                                */
  744.     /*----------------------------------------------------------------*/
  745.     U16 nStrItemList[2];    /* Stores the strings id of submenus returned */
  746.     U16 nNumofItem;         /* Stores no of children in the submenu */
  747.     U8 *guiBuffer;          /* Buffer holding history data */
  748.     /*----------------------------------------------------------------*/
  749.     /* Code Body                                                      */
  750.     /*----------------------------------------------------------------*/
  751.     if (wgui_inline_edit_DONE_function)
  752.     {
  753.         wgui_common_screen_inline_edit_DONE_function = wgui_inline_edit_DONE_function;
  754.     }
  755.     /* 1 Call Exit Handler */
  756.     EntryNewScreen(SCR_IN_LINE_MULTI_LINE_INPUT_METHOD_AND_DONE, ExitInLineMultilineEditorOption, NULL, NULL);
  757.     /* 2 Get current screen to gui buffer  for history purposes */
  758.     guiBuffer = GetCurrGuiBuffer(SCR_IN_LINE_MULTI_LINE_INPUT_METHOD_AND_DONE);
  759.     /* 3. Retrieve no of child of menu item to be displayed */
  760.     nNumofItem = GetNumOfChild(MENU_INPUT_METHOD_AND_DONE_OPTION_ID);
  761.     /* 5. Retrieve string ids in sequence of given menu item to be displayed */
  762.     GetSequenceStringIds(MENU_INPUT_METHOD_AND_DONE_OPTION_ID, nStrItemList);
  763.     /* 6 Set current parent id */
  764.     SetParentHandler(MENU_INPUT_METHOD_AND_DONE_OPTION_ID);
  765.     /* 7 Register highlight handler to be called in menu screen */
  766.     RegisterHighlightHandler(HighlightInLineMultilineEditorOption);
  767.     /* 8 Display Category Screen */
  768.     ShowCategory52Screen(
  769.         STR_GLOBAL_OPTIONS,
  770.         gInputMethodAndDoneCaptionIcon,
  771.         STR_GLOBAL_OK,
  772.         IMG_GLOBAL_OK,
  773.         STR_GLOBAL_BACK,
  774.         IMG_GLOBAL_BACK,
  775.         nNumofItem,
  776.         nStrItemList,
  777.         (PU16) gIndexIconsImageList,
  778.         NULL,
  779.         0,
  780.         0,
  781.         guiBuffer);
  782.     /* 9.Register function with right softkey */
  783.     SetRightSoftkeyFunction(GoBackHistory, KEY_EVENT_UP);
  784.     SetKeyHandler(GoBackHistory, KEY_LEFT_ARROW, KEY_EVENT_DOWN);
  785.     /* 10. Register Exit handler */
  786. }
  787. /*****************************************************************************
  788.  * FUNCTION
  789.  *  ExitInLineMultilineEditorOption
  790.  * DESCRIPTION
  791.  *  
  792.  * PARAMETERS
  793.  *  void
  794.  * RETURNS
  795.  *  void
  796.  *****************************************************************************/
  797. void ExitInLineMultilineEditorOption(void)
  798. {
  799.     /*----------------------------------------------------------------*/
  800.     /* Local Variables                                                */
  801.     /*----------------------------------------------------------------*/
  802.     history currHistory;
  803.     S16 ucs2InputBuffer = 0;
  804.     /*----------------------------------------------------------------*/
  805.     /* Code Body                                                      */
  806.     /*----------------------------------------------------------------*/
  807.     currHistory.scrnID = SCR_IN_LINE_MULTI_LINE_INPUT_METHOD_AND_DONE;
  808.     currHistory.entryFuncPtr = EntryInLineMultilineEditorOption;
  809.     pfnUnicodeStrcpy((S8*) currHistory.inputBuffer, (S8*) & ucs2InputBuffer);
  810.     GetCategoryHistory(currHistory.guiBuffer);
  811.     AddHistory(currHistory);
  812. }
  813. /*****************************************************************************
  814.  * FUNCTION
  815.  *  QuickSearchInputMethodSetKeyHandler
  816.  * DESCRIPTION
  817.  *  
  818.  * PARAMETERS
  819.  *  preFuncPtrs             [?]         
  820.  *  postPtrs                [?]         
  821.  *  IMEQSearchModeArray     [IN]        
  822.  * RETURNS
  823.  *  
  824.  *****************************************************************************/
  825. U32 QuickSearchInputMethodSetKeyHandler(
  826.         FuncPtr *preFuncPtrs,
  827.         FuncPtr *postPtrs,
  828.         const sIMEModeDetails *IMEQSearchModeArray)
  829. {
  830.     /*----------------------------------------------------------------*/
  831.     /* Local Variables                                                */
  832.     /*----------------------------------------------------------------*/
  833.     int i = 0;
  834.     /*----------------------------------------------------------------*/
  835.     /* Code Body                                                      */
  836.     /*----------------------------------------------------------------*/
  837.     for (;;)
  838.     {
  839.         switch (IMEQSearchModeArray[i].IME_Mode_ID)
  840.         {
  841.             case INPUT_MODE_MMI_LOWERCASE_ABC:
  842.                 preFuncPtrs[i] = wgui_change_inputbox_mode_quick_search_abc;
  843.                 break;
  844.         #if defined(__MMI_MULTITAP_SPANISH__)
  845.             case INPUT_MODE_MMI_LOWERCASE_SPANISH:
  846.                 preFuncPtrs[i] = wgui_change_inputbox_mode_quick_search_spanish;
  847.                 break;
  848.         #endif /* defined(__MMI_MULTITAP_SPANISH__) */ 
  849.                 /* PMT VIKASG START 20050729 */
  850.         #if defined(__MMI_MULTITAP_DANISH__)
  851.             case INPUT_MODE_MMI_LOWERCASE_DANISH:
  852.                 preFuncPtrs[i] = wgui_change_inputbox_mode_quick_search_danish;
  853.                 break;
  854.         #endif /* defined(__MMI_MULTITAP_DANISH__) */ 
  855.                 //PMT VIKASG END 20050729
  856.                 //PMT CZ_PO_TU START 20050812
  857.         #if defined(__MMI_MULTITAP_POLISH__)
  858.             case INPUT_MODE_MMI_LOWERCASE_POLISH:
  859.                 preFuncPtrs[i] = wgui_change_inputbox_mode_quick_search_polish;
  860.                 break;
  861.         #endif /* defined(__MMI_MULTITAP_POLISH__) */ 
  862.                 /* PMT CZ_PO_TU END 20050812 */
  863.         #if defined(__MMI_MULTITAP_FRENCH__)
  864.             case INPUT_MODE_MMI_LOWERCASE_FRENCH:
  865.                 preFuncPtrs[i] = wgui_change_inputbox_mode_quick_search_french;
  866.                 break;
  867.         #endif /* defined(__MMI_MULTITAP_FRENCH__) */ 
  868.         #if defined(__MMI_MULTITAP_GERMAN__)
  869.             case INPUT_MODE_MMI_LOWERCASE_GERMAN:
  870.                 preFuncPtrs[i] = wgui_change_inputbox_mode_quick_search_german;
  871.                 break;
  872.         #endif /* defined(__MMI_MULTITAP_GERMAN__) */ 
  873.         #if defined(__MMI_MULTITAP_ITALIAN__)
  874.             case INPUT_MODE_MMI_LOWERCASE_ITALIAN:
  875.                 preFuncPtrs[i] = wgui_change_inputbox_mode_quick_search_italian;
  876.                 break;
  877.         #endif /* defined(__MMI_MULTITAP_ITALIAN__) */ 
  878.         #if defined(__MMI_MULTITAP_RUSSIAN__)
  879.             case INPUT_MODE_MMI_LOWERCASE_RUSSIAN:
  880.                 preFuncPtrs[i] = wgui_change_inputbox_mode_quick_search_russian;
  881.                 break;
  882.         #endif /* defined(__MMI_MULTITAP_RUSSIAN__) */ 
  883.         #if defined(__MMI_MULTITAP_BULGARIAN__)
  884.             case INPUT_MODE_MMI_LOWERCASE_BULGARIAN:
  885.                 preFuncPtrs[i] = wgui_change_inputbox_mode_quick_search_bulgarian;
  886.                 break;
  887.         #endif /* defined(__MMI_MULTITAP_BULGARIAN__) */ 
  888.         #if defined(__MMI_MULTITAP_TURKISH__)
  889.             case INPUT_MODE_MMI_LOWERCASE_TURKISH:
  890.                 preFuncPtrs[i] = wgui_change_inputbox_mode_quick_search_turkish;
  891.                 break;
  892.         #endif /* defined(__MMI_MULTITAP_TURKISH__) */ 
  893.         #if defined(__MMI_MULTITAP_PORTUGUESE__)
  894.             case INPUT_MODE_MMI_LOWERCASE_PORTUGUESE:
  895.                 preFuncPtrs[i] = wgui_change_inputbox_mode_quick_search_portuguese;
  896.                 break;
  897.         #endif /* defined(__MMI_MULTITAP_PORTUGUESE__) */ 
  898.         #if defined(__MMI_MULTITAP_INDONESIAN__)
  899.             case INPUT_MODE_MMI_LOWERCASE_INDONESIAN:
  900.                 preFuncPtrs[i] = wgui_change_inputbox_mode_quick_search_indonesian;
  901.                 break;
  902.         #endif /* defined(__MMI_MULTITAP_INDONESIAN__) */ 
  903.                 /* PMT CZ_PO_TU START 20050812 */
  904.         #if defined(__MMI_MULTITAP_CZECH__)
  905.             case INPUT_MODE_MMI_LOWERCASE_CZECH:
  906.                 preFuncPtrs[i] = wgui_change_inputbox_mode_quick_search_czech;
  907.                 break;
  908.         #endif /* defined(__MMI_MULTITAP_CZECH__) */ 
  909.                 /* PMT CZ_PO_TU END 20050812 */
  910.         #if defined(__MMI_MULTITAP_MALAY__)
  911.             case INPUT_MODE_MMI_LOWERCASE_MALAY:
  912.                 preFuncPtrs[i] = wgui_change_inputbox_mode_quick_search_malay;
  913.                 break;
  914.         #endif /* defined(__MMI_MULTITAP_MALAY__) */ 
  915.         #if defined(__MMI_MULTITAP_VIETNAMESE__)
  916.             case INPUT_MODE_MMI_LOWERCASE_VIETNAMESE:
  917.                 preFuncPtrs[i] = wgui_change_inputbox_mode_quick_search_vietnamese;
  918.                 break;
  919.         #endif /* defined(__MMI_MULTITAP_VIETNAMESE__) */ 
  920.                 /* PMT START HU_FI 20050825 */
  921.         #if defined(__MMI_MULTITAP_FINNISH__)
  922.             case INPUT_MODE_MMI_LOWERCASE_FINNISH:
  923.                 preFuncPtrs[i] = wgui_change_inputbox_mode_quick_search_finnish;
  924.                 break;
  925.         #endif /* defined(__MMI_MULTITAP_FINNISH__) */ 
  926.         #if defined(__MMI_MULTITAP_HUNGARIAN__)
  927.             case INPUT_MODE_MMI_LOWERCASE_HUNGARIAN:
  928.                 preFuncPtrs[i] = wgui_change_inputbox_mode_quick_search_hungarian;
  929.                 break;
  930.         #endif /* defined(__MMI_MULTITAP_HUNGARIAN__) */ 
  931.                 //PMT END HU_FI 20050825
  932.                 //PMT NO_AR_SL_DU START 20050909
  933.         #if defined(__MMI_MULTITAP_SLOVAK__)
  934.             case INPUT_MODE_MMI_LOWERCASE_SLOVAK:
  935.                 preFuncPtrs[i] = wgui_change_inputbox_mode_quick_search_slovak;
  936.                 break;
  937.         #endif /* defined(__MMI_MULTITAP_SLOVAK__) */ 
  938.         #if defined(__MMI_MULTITAP_DUTCH__)
  939.             case INPUT_MODE_MMI_LOWERCASE_DUTCH:
  940.                 preFuncPtrs[i] = wgui_change_inputbox_mode_quick_search_dutch;
  941.                 break;
  942.         #endif /* defined(__MMI_MULTITAP_DUTCH__) */ 
  943.                 //PMT NO_AR_SL_DU END 20050909
  944.                 //PMT START SWEDISH 20050916
  945.         #if defined(__MMI_MULTITAP_SWEDISH__)
  946.             case INPUT_MODE_MMI_LOWERCASE_SWEDISH:
  947.                 preFuncPtrs[i] = wgui_change_inputbox_mode_quick_search_swedish;
  948.                 break;
  949.         #endif /* defined(__MMI_MULTITAP_SWEDISH__) */ 
  950.                 /* PMT END SWEDISH 20050916 */
  951.                 /* PMT START CR_ROM_SLO 20050923 */
  952.         #if defined(__MMI_MULTITAP_CROATIAN__)
  953.             case INPUT_MODE_MMI_LOWERCASE_CROATIAN:
  954.                 preFuncPtrs[i] = wgui_change_inputbox_mode_quick_search_croatian;
  955.                 break;
  956.         #endif /* defined(__MMI_MULTITAP_CROATIAN__) */ 
  957.         #if defined(__MMI_MULTITAP_ROMANIAN__)
  958.             case INPUT_MODE_MMI_LOWERCASE_ROMANIAN:
  959.                 preFuncPtrs[i] = wgui_change_inputbox_mode_quick_search_romanian;
  960.                 break;
  961.         #endif /* defined(__MMI_MULTITAP_ROMANIAN__) */ 
  962.         #if defined(__MMI_MULTITAP_SLOVENIAN__)
  963.             case INPUT_MODE_MMI_LOWERCASE_SLOVENIAN:
  964.                 preFuncPtrs[i] = wgui_change_inputbox_mode_quick_search_slovenian;
  965.                 break;
  966.         #endif /* defined(__MMI_MULTITAP_SLOVENIAN__) */ 
  967.                 /* PMT END CR_ROM_SLO 20050923 */
  968.         #if defined(__MMI_MULTITAP_HINDI__)
  969.             case INPUT_MODE_MULTITAP_HINDI:
  970.                 preFuncPtrs[i] = wgui_change_inputbox_mode_quick_search_HINDI;
  971.                 break;
  972.         #endif /* defined(__MMI_MULTITAP_HINDI__) */ 
  973.                 /* PMT START GR_HE_CZ_FI_DA_HU 20051007 */
  974.         #if defined(__MMI_MULTITAP_HEBREW__)
  975.             case INPUT_MODE_MMI_MULTITAP_HEBREW:
  976.                 preFuncPtrs[i] = wgui_change_inputbox_mode_quick_search_hebrew;
  977.                 break;
  978.         #endif /* defined(__MMI_MULTITAP_HEBREW__) */ 
  979.                 //PMT END GR_HE_CZ_FI_DA_HU 20051007
  980.                 //PMT NO_AR_SL_DU START 20050909
  981.         #if defined(__MMI_MULTITAP_ARABIC__)
  982.             case INPUT_MODE_MMI_MULTITAP_ARABIC:
  983.                 preFuncPtrs[i] = wgui_change_inputbox_mode_quick_search_arabic;
  984.                 break;
  985.         #endif /* defined(__MMI_MULTITAP_ARABIC__) */ 
  986.                 /* PMT START PERSIAN */
  987.         #if defined(__MMI_MULTITAP_PERSIAN__)
  988.             case INPUT_MODE_MMI_MULTITAP_PERSIAN:
  989.                 preFuncPtrs[i] = wgui_change_inputbox_mode_quick_search_persian;
  990.                 break;
  991.         #endif /* defined(__MMI_MULTITAP_PERSIAN__) */ 
  992.                 /* PMT END PERSIAN */
  993.                 /* Norwegian start */
  994.         #if defined(__MMI_MULTITAP_NORWEGIAN__)
  995.             case INPUT_MODE_MMI_LOWERCASE_NORWEGIAN:
  996.                 preFuncPtrs[i] = wgui_change_inputbox_mode_quick_search_norwegian;
  997.                 break;
  998.         #endif /* defined(__MMI_MULTITAP_NORWEGIAN__) */ 
  999.                 //Norwegian end 
  1000.                 //PMT NO_AR_SL_DU END 20050909
  1001.                 //PMT START GR_HE_CZ_FI_DA_HU 20051007
  1002.         #if defined(__MMI_MULTITAP_GREEK__)
  1003.             case INPUT_MODE_MMI_LOWERCASE_GREEK:
  1004.                 preFuncPtrs[i] = wgui_change_inputbox_mode_quick_search_greek;
  1005.                 break;
  1006.         #endif /* defined(__MMI_MULTITAP_GREEK__) */ 
  1007.                 /* PMT END GR_HE_CZ_FI_DA_HU 20051007 */
  1008.         #if defined(__MMI_T9_TR_CHINESE__) || defined(__MMI_ZI_TR_CHINESE__) || defined(__MMI_CSTAR_TR_CHINESE__) || defined(__MMI_ITAP_TR_CHINESE__)     //KP Jerry add "__MMI_CSTAR_TR_CHINESE__" on 2007-3-8
  1009.             case INPUT_MODE_MMI_MULTITAP_BPMF:
  1010.                 preFuncPtrs[i] = wgui_change_inputbox_mode_tr_quick_search_multitap_bpmf;
  1011.                 break;
  1012.             case INPUT_MODE_MMI_TR_STROKE:
  1013.                 preFuncPtrs[i] = wgui_change_inputbox_mode_quick_search_tr_stroke;
  1014.                 break;
  1015.         #endif /* defined(__MMI_T9_TR_CHINESE__) || defined(__MMI_ZI_TR_CHINESE__) || defined(__MMI_CSTAR_TR_CHINESE__) || defined(__MMI_ITAP_TR_CHINESE__) */     //KP Jerry add "__MMI_CSTAR_TR_CHINESE__" on 2007-3-8
  1016.         #if defined(__MMI_T9_SM_CHINESE__) || defined(__MMI_ZI_SM_CHINESE__) || defined(__MMI_CSTAR_SM_CHINESE__) || defined(__MMI_ITAP_SM_CHINESE__)     //KP Jerry add "__MMI_CSTAR_SM_CHINESE__" on 2007-3-8
  1017.             case INPUT_MODE_MMI_MULTITAP_PINYIN:
  1018.                 preFuncPtrs[i] = wgui_change_inputbox_mode_quick_search_sm_multitap_pinyin;
  1019.                 break;
  1020.             case INPUT_MODE_MMI_SM_STROKE:
  1021.                 preFuncPtrs[i] = wgui_change_inputbox_mode_quick_search_sm_stroke;
  1022.                 break;
  1023.         #endif /* defined(__MMI_T9_SM_CHINESE__) || defined(__MMI_ZI_SM_CHINESE__) || defined(__MMI_CSTAR_SM_CHINESE__) || defined(__MMI_ITAP_SM_CHINESE__) */     //KP Jerry add "__MMI_CSTAR_SM_CHINESE__" on 2007-3-8
  1024.             case INPUT_MODE_MMI_NUMERIC:
  1025.                 preFuncPtrs[i] = wgui_change_inputbox_mode_quick_search_numeric;
  1026.                 break;
  1027.             case (0xff):
  1028.                 break;
  1029.             default:
  1030.                 MMI_ASSERT(0);
  1031.         }
  1032.         if ((0xff) != IMEQSearchModeArray[i].IME_Mode_ID)
  1033.         {
  1034.             postPtrs[i] = InputMethodScreenCloseFunction;
  1035.             i++;
  1036.         }
  1037.         else
  1038.         {
  1039.             break;
  1040.         }
  1041.     }
  1042.     return i;
  1043. }
  1044. /*****************************************************************************
  1045.  * FUNCTION
  1046.  *  QuickSearchInputMethodScreenHandleLSK
  1047.  * DESCRIPTION
  1048.  *  
  1049.  * PARAMETERS
  1050.  *  void
  1051.  * RETURNS
  1052.  *  void
  1053.  *****************************************************************************/
  1054. void QuickSearchInputMethodScreenHandleLSK(void)
  1055. {
  1056.     /*----------------------------------------------------------------*/
  1057.     /* Local Variables                                                */
  1058.     /*----------------------------------------------------------------*/
  1059.     U32 i;
  1060.     FuncPtr currPreFuncPtr = NULL;
  1061.     FuncPtr currPostFuncPtr = NULL;
  1062.     S32 index = GetHighlightedItem();
  1063.     /*----------------------------------------------------------------*/
  1064.     /* Code Body                                                      */
  1065.     /*----------------------------------------------------------------*/
  1066.     /* MTK Elvis multitap phonetic input mode */
  1067.     i = 0;
  1068.     i = QuickSearchInputMethodSetKeyHandler(
  1069.             preHandleInputMethodLSKFuncPtrs,
  1070.             postHandleInputMethodLSKFuncPtrs,
  1071.             gIMEQSearchModeArray);
  1072.     postHandleInputMethodLSKFuncPtrs[i] = UI_dummy_function;
  1073.     preHandleInputMethodLSKFuncPtrs[i++] = EntrySymbolPickerScreen;
  1074.     currPreFuncPtr = preHandleInputMethodLSKFuncPtrs[index];
  1075.     currPostFuncPtr = postHandleInputMethodLSKFuncPtrs[index];
  1076.     if (currPreFuncPtr != NULL)
  1077.     {
  1078.         (*currPreFuncPtr) ();
  1079.     }
  1080.     if (currPostFuncPtr != NULL)
  1081.     {
  1082.         (*currPostFuncPtr) ();
  1083.     }
  1084.     /* MTK end */
  1085. }
  1086. /*****************************************************************************
  1087.  * FUNCTION
  1088.  *  QuickSearchInputMethodScreenHandleRSK
  1089.  * DESCRIPTION
  1090.  *  
  1091.  * PARAMETERS
  1092.  *  void
  1093.  * RETURNS
  1094.  *  void
  1095.  *****************************************************************************/
  1096. void QuickSearchInputMethodScreenHandleRSK(void)
  1097. {
  1098.     /*----------------------------------------------------------------*/
  1099.     /* Local Variables                                                */
  1100.     /*----------------------------------------------------------------*/
  1101.     /*----------------------------------------------------------------*/
  1102.     /* Code Body                                                      */
  1103.     /*----------------------------------------------------------------*/
  1104.     SetSavedQuickSearchInputType();
  1105.     GoBackHistory();
  1106. }
  1107. /*****************************************************************************
  1108.  * FUNCTION
  1109.  *  EntryQuickSearchInputMethodScreen
  1110.  * DESCRIPTION
  1111.  *  
  1112.  * PARAMETERS
  1113.  *  void
  1114.  * RETURNS
  1115.  *  void
  1116.  *****************************************************************************/
  1117. void EntryQuickSearchInputMethodScreen(void)
  1118. {
  1119.     /*----------------------------------------------------------------*/
  1120.     /* Local Variables                                                */
  1121.     /*----------------------------------------------------------------*/
  1122.     U8 *guiBuffer;
  1123.     int nNumofItem = 0, i = 0;
  1124.     /*----------------------------------------------------------------*/
  1125.     /* Code Body                                                      */
  1126.     /*----------------------------------------------------------------*/
  1127.     void (*LSK_handler) (void);
  1128.     U16 nStrItemList[INPUT_MODE_MAX_NUM];
  1129.     for (;;)
  1130.     {
  1131.         if (((0xff) != gIMEQSearchModeArray[i].IME_Mode_ID) && (0 != gIMEQSearchModeArray[i].Common_Screen_StringID))
  1132.         {
  1133.             nStrItemList[nNumofItem] = gIMEQSearchModeArray[i].Common_Screen_StringID;
  1134.             nNumofItem++;
  1135.         }
  1136.         else
  1137.         {
  1138.             break;
  1139.         }
  1140.         i++;
  1141.     }
  1142.     EntryNewScreen(SCR_QUICK_SEARCH_INPUT_METHOD_LIST, ExitQuickSearchInputMethodScreen, NULL, NULL);
  1143.     LSK_handler = QuickSearchInputMethodScreenHandleLSK;
  1144.     saved_MMI_current_input_type = MMI_current_input_type;
  1145.     guiBuffer = GetCurrGuiBuffer(SCR_QUICK_SEARCH_INPUT_METHOD_LIST);
  1146.     if (guiBuffer != NULL)
  1147.     {
  1148.         InputMethodScreenCloseFunction = SavedInputMethodScreenCloseFunction;
  1149.     }
  1150.     ShowCategory15Screen(
  1151.         STR_GLOBAL_INPUT_METHOD,
  1152.         0,
  1153.         STR_GLOBAL_OK,
  1154.         IMG_GLOBAL_OK,
  1155.         STR_GLOBAL_BACK,
  1156.         IMG_GLOBAL_BACK,
  1157.         nNumofItem,
  1158.         nStrItemList,
  1159.         (PU16) gIndexIconsImageList,
  1160.         LIST_MENU,
  1161.         0,
  1162.         guiBuffer);
  1163.     SetLeftSoftkeyFunction(LSK_handler, KEY_EVENT_UP);
  1164.     SetRightSoftkeyFunction(QuickSearchInputMethodScreenHandleRSK, KEY_EVENT_UP);
  1165.     SetKeyHandler(LSK_handler, KEY_RIGHT_ARROW, KEY_EVENT_DOWN);
  1166.     SetKeyHandler(QuickSearchInputMethodScreenHandleRSK, KEY_LEFT_ARROW, KEY_EVENT_DOWN);
  1167. }
  1168. /*****************************************************************************
  1169.  * FUNCTION
  1170.  *  ExitQuickSearchInputMethodScreen
  1171.  * DESCRIPTION
  1172.  *  
  1173.  * PARAMETERS
  1174.  *  void
  1175.  * RETURNS
  1176.  *  void
  1177.  *****************************************************************************/
  1178. void ExitQuickSearchInputMethodScreen(void)
  1179. {
  1180.     /*----------------------------------------------------------------*/
  1181.     /* Local Variables                                                */
  1182.     /*----------------------------------------------------------------*/
  1183.     history h;
  1184.     S16 nHistory = 0;
  1185.     /*----------------------------------------------------------------*/
  1186.     /* Code Body                                                      */
  1187.     /*----------------------------------------------------------------*/
  1188.     SavedInputMethodScreenCloseFunction = InputMethodScreenCloseFunction;
  1189.     h.scrnID = SCR_QUICK_SEARCH_INPUT_METHOD_LIST;
  1190.     h.entryFuncPtr = EntryQuickSearchInputMethodScreen;
  1191.     pfnUnicodeStrcpy((S8*) h.inputBuffer, (S8*) & nHistory);
  1192.     GetCategoryHistory(h.guiBuffer);
  1193.     AddHistory(h);
  1194. }
  1195. /*****************************************************************************
  1196.  * FUNCTION
  1197.  *  SetSavedInputType
  1198.  * DESCRIPTION
  1199.  *  
  1200.  * PARAMETERS
  1201.  *  void
  1202.  * RETURNS
  1203.  *  void
  1204.  *****************************************************************************/
  1205. void SetSavedInputType(void)
  1206. {
  1207.     /*----------------------------------------------------------------*/
  1208.     /* Local Variables                                                */
  1209.     /*----------------------------------------------------------------*/
  1210.     /*----------------------------------------------------------------*/
  1211.     /* Code Body                                                      */
  1212.     /*----------------------------------------------------------------*/
  1213.     switch (saved_MMI_current_input_type & INPUT_TYPE_MASK)
  1214.     {
  1215.         case INPUT_TYPE_NUMERIC:
  1216.         case INPUT_TYPE_NUMERIC_CHANGEABLE:
  1217.             wgui_change_inputbox_mode_mode_numeric();
  1218.             break;
  1219.         case INPUT_TYPE_ALPHANUMERIC_UPPERCASE:
  1220.             wgui_change_inputbox_mode_multitap_ABC();
  1221.             break;
  1222.         case INPUT_TYPE_ALPHANUMERIC_LOWERCASE:
  1223.             wgui_change_inputbox_mode_multitap_abc();
  1224.             break;
  1225.             /* PMT dara added for Multitap Thai */
  1226.     #if defined(__MMI_MULTITAP_THAI__)
  1227.         case INPUT_TYPE_ALPHANUMERIC_MULTITAP_THAI:
  1228.             wgui_change_inputbox_mode_multitap_thai();
  1229.             break;
  1230.     #endif /* defined(__MMI_MULTITAP_THAI__) */ 
  1231.     #if defined(__MMI_MULTITAP_SPANISH__)
  1232.         case INPUT_TYPE_ALPHANUMERIC_UPPERCASE_SPANISH:
  1233.             wgui_change_inputbox_mode_multitap_SPANISH();
  1234.             break;
  1235.         case INPUT_TYPE_ALPHANUMERIC_LOWERCASE_SPANISH:
  1236.             wgui_change_inputbox_mode_multitap_spanish();
  1237.             break;
  1238.     #endif /* defined(__MMI_MULTITAP_SPANISH__) */ 
  1239.             /* PMT VIKASG START 20050729 */
  1240.     #if defined(__MMI_MULTITAP_DANISH__)
  1241.         case INPUT_TYPE_ALPHANUMERIC_UPPERCASE_DANISH:
  1242.             wgui_change_inputbox_mode_multitap_DANISH();
  1243.             break;
  1244.         case INPUT_TYPE_ALPHANUMERIC_LOWERCASE_DANISH:
  1245.             wgui_change_inputbox_mode_multitap_danish();
  1246.             break;
  1247.     #endif /* defined(__MMI_MULTITAP_DANISH__) */ 
  1248.             //PMT VIKASG END 20050729
  1249.             //PMT CZ_PO_TU START 20050812
  1250.     #if defined(__MMI_MULTITAP_POLISH__)
  1251.         case INPUT_TYPE_ALPHANUMERIC_UPPERCASE_POLISH:
  1252.             wgui_change_inputbox_mode_multitap_POLISH();
  1253.             break;
  1254.         case INPUT_TYPE_ALPHANUMERIC_LOWERCASE_POLISH:
  1255.             wgui_change_inputbox_mode_multitap_polish();
  1256.             break;
  1257.     #endif /* defined(__MMI_MULTITAP_POLISH__) */ 
  1258.             /* PMT CZ_PO_TU END 20050812 */
  1259.     #if defined(__MMI_MULTITAP_FRENCH__)
  1260.         case INPUT_TYPE_ALPHANUMERIC_UPPERCASE_FRENCH:
  1261.             wgui_change_inputbox_mode_multitap_FRENCH();
  1262.             break;
  1263.         case INPUT_TYPE_ALPHANUMERIC_LOWERCASE_FRENCH:
  1264.             wgui_change_inputbox_mode_multitap_french();
  1265.             break;
  1266.     #endif /* defined(__MMI_MULTITAP_FRENCH__) */ 
  1267.     #if defined(__MMI_MULTITAP_GERMAN__)
  1268.         case INPUT_TYPE_ALPHANUMERIC_UPPERCASE_GERMAN:
  1269.             wgui_change_inputbox_mode_multitap_GERMAN();
  1270.             break;
  1271.         case INPUT_TYPE_ALPHANUMERIC_LOWERCASE_GERMAN:
  1272.             wgui_change_inputbox_mode_multitap_german();
  1273.             break;
  1274.     #endif /* defined(__MMI_MULTITAP_GERMAN__) */ 
  1275.     #if defined(__MMI_MULTITAP_ITALIAN__)
  1276.         case INPUT_TYPE_ALPHANUMERIC_UPPERCASE_ITALIAN:
  1277.             wgui_change_inputbox_mode_multitap_ITALIAN();
  1278.             break;
  1279.         case INPUT_TYPE_ALPHANUMERIC_LOWERCASE_ITALIAN:
  1280.             wgui_change_inputbox_mode_multitap_italian();
  1281.             break;
  1282.     #endif /* defined(__MMI_MULTITAP_ITALIAN__) */ 
  1283.     #if defined(__MMI_MULTITAP_RUSSIAN__)
  1284.         case INPUT_TYPE_ALPHANUMERIC_UPPERCASE_RUSSIAN:
  1285.             wgui_change_inputbox_mode_multitap_RUSSIAN();
  1286.             break;
  1287.         case INPUT_TYPE_ALPHANUMERIC_LOWERCASE_RUSSIAN:
  1288.             wgui_change_inputbox_mode_multitap_russian();
  1289.             break;
  1290.     #endif /* defined(__MMI_MULTITAP_RUSSIAN__) */ 
  1291.     #if defined(__MMI_MULTITAP_BULGARIAN__)
  1292.         case INPUT_TYPE_ALPHANUMERIC_UPPERCASE_BULGARIAN:
  1293.             wgui_change_inputbox_mode_multitap_BULGARIAN();
  1294.             break;
  1295.         case INPUT_TYPE_ALPHANUMERIC_LOWERCASE_BULGARIAN:
  1296.             wgui_change_inputbox_mode_multitap_bulgarian();
  1297.             break;
  1298.     #endif /* defined(__MMI_MULTITAP_BULGARIAN__) */ 
  1299.     #if defined(__MMI_MULTITAP_TURKISH__)
  1300.         case INPUT_TYPE_ALPHANUMERIC_UPPERCASE_TURKISH:
  1301.             wgui_change_inputbox_mode_multitap_TURKISH();
  1302.             break;
  1303.         case INPUT_TYPE_ALPHANUMERIC_LOWERCASE_TURKISH:
  1304.             wgui_change_inputbox_mode_multitap_turkish();
  1305.             break;
  1306.     #endif /* defined(__MMI_MULTITAP_TURKISH__) */ 
  1307.     #if defined(__MMI_MULTITAP_PORTUGUESE__)
  1308.         case INPUT_TYPE_ALPHANUMERIC_UPPERCASE_PORTUGUESE:
  1309.             wgui_change_inputbox_mode_multitap_PORTUGUESE();
  1310.             break;
  1311.         case INPUT_TYPE_ALPHANUMERIC_LOWERCASE_PORTUGUESE:
  1312.             wgui_change_inputbox_mode_multitap_portuguese();
  1313.             break;
  1314.     #endif /* defined(__MMI_MULTITAP_PORTUGUESE__) */ 
  1315.     #if defined(__MMI_MULTITAP_HINDI__)
  1316.         case INPUT_TYPE_MULTITAP_HINDI:
  1317.             wgui_change_inputbox_mode_multitap_HINDI();
  1318.             break;
  1319.     #endif /* defined(__MMI_MULTITAP_HINDI__) */ 
  1320.    
  1321.     #if defined(__MMI_MULTITAP_MARATHI__)
  1322.         case INPUT_TYPE_MULTITAP_MARATHI:
  1323.             wgui_change_inputbox_mode_multitap_MARATHI();
  1324.             break;
  1325.     #endif /* defined(__MMI_MULTITAP_MARATHI__) */ 
  1326.     
  1327.     #if defined(__MMI_MULTITAP_INDONESIAN__)
  1328.         case INPUT_TYPE_ALPHANUMERIC_UPPERCASE_INDONESIAN:
  1329.             wgui_change_inputbox_mode_multitap_INDONESIAN();
  1330.             break;
  1331.         case INPUT_TYPE_ALPHANUMERIC_LOWERCASE_INDONESIAN:
  1332.             wgui_change_inputbox_mode_multitap_indonesian();
  1333.             break;
  1334.     #endif /* defined(__MMI_MULTITAP_INDONESIAN__) */ 
  1335.             /* PMT CZ_PO_TU START 20050812 */
  1336.     #if defined(__MMI_MULTITAP_CZECH__)
  1337.         case INPUT_TYPE_ALPHANUMERIC_UPPERCASE_CZECH:
  1338.             wgui_change_inputbox_mode_multitap_CZECH();
  1339.             break;
  1340.         case INPUT_TYPE_ALPHANUMERIC_LOWERCASE_CZECH:
  1341.             wgui_change_inputbox_mode_multitap_czech();
  1342.             break;
  1343.     #endif /* defined(__MMI_MULTITAP_CZECH__) */ 
  1344.             /* PMT CZ_PO_TU END 20050812 */
  1345.     #if defined(__MMI_MULTITAP_MALAY__)
  1346.         case INPUT_TYPE_ALPHANUMERIC_UPPERCASE_MALAY:
  1347.             wgui_change_inputbox_mode_multitap_MALAY();
  1348.             break;
  1349.         case INPUT_TYPE_ALPHANUMERIC_LOWERCASE_MALAY:
  1350.             wgui_change_inputbox_mode_multitap_malay();
  1351.             break;
  1352.     #endif /* defined(__MMI_MULTITAP_MALAY__) */ 
  1353.     #if defined(__MMI_MULTITAP_VIETNAMESE__)
  1354.         case INPUT_TYPE_ALPHANUMERIC_UPPERCASE_VIETNAMESE:
  1355.             wgui_change_inputbox_mode_multitap_VIETNAMESE();
  1356.             break;
  1357.         case INPUT_TYPE_ALPHANUMERIC_LOWERCASE_VIETNAMESE:
  1358.             wgui_change_inputbox_mode_multitap_vietnamese();
  1359.             break;
  1360.     #endif /* defined(__MMI_MULTITAP_VIETNAMESE__) */ 
  1361.             /* PMT START HU_FI 20050825 */
  1362.     #if defined(__MMI_MULTITAP_FINNISH__)
  1363.         case INPUT_TYPE_ALPHANUMERIC_UPPERCASE_FINNISH:
  1364.             wgui_change_inputbox_mode_multitap_FINNISH();
  1365.             break;
  1366.         case INPUT_TYPE_ALPHANUMERIC_LOWERCASE_FINNISH:
  1367.             wgui_change_inputbox_mode_multitap_finnish();
  1368.             break;
  1369.     #endif /* defined(__MMI_MULTITAP_FINNISH__) */ 
  1370.     #if defined(__MMI_MULTITAP_HUNGARIAN__)
  1371.         case INPUT_TYPE_ALPHANUMERIC_UPPERCASE_HUNGARIAN:
  1372.             wgui_change_inputbox_mode_multitap_HUNGARIAN();
  1373.             break;
  1374.         case INPUT_TYPE_ALPHANUMERIC_LOWERCASE_HUNGARIAN:
  1375.             wgui_change_inputbox_mode_multitap_hungarian();
  1376.             break;
  1377.     #endif /* defined(__MMI_MULTITAP_HUNGARIAN__) */ 
  1378.             //PMT END HU_FI 20050825
  1379.             //PMT NO_AR_SL_DU START 20050909
  1380.     #if defined(__MMI_MULTITAP_SLOVAK__)
  1381.         case INPUT_TYPE_ALPHANUMERIC_UPPERCASE_SLOVAK:
  1382.             wgui_change_inputbox_mode_multitap_SLOVAK();
  1383.             break;
  1384.         case INPUT_TYPE_ALPHANUMERIC_LOWERCASE_SLOVAK:
  1385.             wgui_change_inputbox_mode_multitap_slovak();
  1386.             break;
  1387.     #endif /* defined(__MMI_MULTITAP_SLOVAK__) */ 
  1388.     #if defined(__MMI_MULTITAP_DUTCH__)
  1389.         case INPUT_TYPE_ALPHANUMERIC_UPPERCASE_DUTCH:
  1390.             wgui_change_inputbox_mode_multitap_DUTCH();
  1391.             break;
  1392.         case INPUT_TYPE_ALPHANUMERIC_LOWERCASE_DUTCH:
  1393.             wgui_change_inputbox_mode_multitap_dutch();
  1394.             break;
  1395.     #endif /* defined(__MMI_MULTITAP_DUTCH__) */ 
  1396.     #if defined(__MMI_MULTITAP_ARABIC__)
  1397.         case INPUT_TYPE_ALPHANUMERIC_ARABIC:
  1398.             wgui_change_inputbox_mode_multitap_arabic();
  1399.             break;
  1400.     #endif /* defined(__MMI_MULTITAP_ARABIC__) */ 
  1401.             /* PMT START PERSIAN */
  1402.     #if defined(__MMI_MULTITAP_PERSIAN__)
  1403.         case INPUT_TYPE_ALPHANUMERIC_PERSIAN:
  1404.             wgui_change_inputbox_mode_multitap_persian();
  1405.             break;
  1406.     #endif /* defined(__MMI_MULTITAP_PERSIAN__) */ 
  1407.             /* PMT END PERSIAN */
  1408.             /* Norwegian start */
  1409.     #if defined(__MMI_MULTITAP_NORWEGIAN__)
  1410.         case INPUT_TYPE_ALPHANUMERIC_UPPERCASE_NORWEGIAN:
  1411.             wgui_change_inputbox_mode_multitap_NORWEGIAN();
  1412.             break;
  1413.         case INPUT_TYPE_ALPHANUMERIC_LOWERCASE_NORWEGIAN:
  1414.             wgui_change_inputbox_mode_multitap_norwegian();
  1415.             break;
  1416.     #endif /* defined(__MMI_MULTITAP_NORWEGIAN__) */ 
  1417.             //Norwegian end
  1418.             //PMT NO_AR_SL_DU END 20050909
  1419.             //PMT START SWEDISH 20050916
  1420.     #if defined(__MMI_MULTITAP_SWEDISH__)
  1421.         case INPUT_TYPE_ALPHANUMERIC_UPPERCASE_SWEDISH:
  1422.             wgui_change_inputbox_mode_multitap_SWEDISH();
  1423.             break;
  1424.         case INPUT_TYPE_ALPHANUMERIC_LOWERCASE_SWEDISH:
  1425.             wgui_change_inputbox_mode_multitap_swedish();
  1426.             break;
  1427.     #endif /* defined(__MMI_MULTITAP_SWEDISH__) */ 
  1428.             /* PMT END SWEDISH 20050916 */
  1429.             /* PMT START CR_ROM_SLO 20050923 */
  1430.     #if defined(__MMI_MULTITAP_CROATIAN__)
  1431.         case INPUT_TYPE_ALPHANUMERIC_UPPERCASE_CROATIAN:
  1432.             wgui_change_inputbox_mode_multitap_CROATIAN();
  1433.             break;
  1434.         case INPUT_TYPE_ALPHANUMERIC_LOWERCASE_CROATIAN:
  1435.             wgui_change_inputbox_mode_multitap_croatian();
  1436.             break;
  1437.     #endif /* defined(__MMI_MULTITAP_CROATIAN__) */ 
  1438.     #if defined(__MMI_MULTITAP_ROMANIAN__)
  1439.         case INPUT_TYPE_ALPHANUMERIC_UPPERCASE_ROMANIAN:
  1440.             wgui_change_inputbox_mode_multitap_ROMANIAN();
  1441.             break;
  1442.         case INPUT_TYPE_ALPHANUMERIC_LOWERCASE_ROMANIAN:
  1443.             wgui_change_inputbox_mode_multitap_romanian();
  1444.             break;
  1445.     #endif /* defined(__MMI_MULTITAP_ROMANIAN__) */ 
  1446.     #if defined(__MMI_MULTITAP_SLOVENIAN__)
  1447.         case INPUT_TYPE_ALPHANUMERIC_UPPERCASE_SLOVENIAN:
  1448.             wgui_change_inputbox_mode_multitap_SLOVENIAN();
  1449.             break;
  1450.         case INPUT_TYPE_ALPHANUMERIC_LOWERCASE_SLOVENIAN:
  1451.             wgui_change_inputbox_mode_multitap_slovenian();
  1452.             break;
  1453.     #endif /* defined(__MMI_MULTITAP_SLOVENIAN__) */ 
  1454.             /* PMT END CR_ROM_SLO 20050923 */
  1455.             /* PMT START GR_HE_CZ_FI_DA_HU 20051007 */
  1456.     #if defined(__MMI_MULTITAP_HEBREW__)
  1457.         case INPUT_TYPE_ALPHANUMERIC_HEBREW:
  1458.             wgui_change_inputbox_mode_multitap_hebrew();
  1459.             break;
  1460.     #endif /* defined(__MMI_MULTITAP_HEBREW__) */ 
  1461.     #if defined(__MMI_MULTITAP_GREEK__)
  1462.         case INPUT_TYPE_ALPHANUMERIC_UPPERCASE_GREEK:
  1463.             wgui_change_inputbox_mode_multitap_GREEK();
  1464.             break;
  1465.         case INPUT_TYPE_ALPHANUMERIC_LOWERCASE_GREEK:
  1466.             wgui_change_inputbox_mode_multitap_greek();
  1467.             break;
  1468.     #endif /* defined(__MMI_MULTITAP_GREEK__) */ 
  1469.             /* PMT END GR_HE_CZ_FI_DA_HU 20051007 */
  1470.     #if defined (__MMI_T9__) || defined (__MMI_ZI__) || defined(__MMI_KA__) || defined(__MMI_ITAP__)|| defined(__MMI_CSTAR__)     //KP Jerry add "__MMI_CSTAR__" on 2007-3-8
  1471.         case INPUT_TYPE_SMART_UPPERCASE_ABC:
  1472.             wgui_change_inputbox_mode_smart_ABC();
  1473.             break;
  1474.         case INPUT_TYPE_SMART_LOWERCASE_ABC:
  1475.             wgui_change_inputbox_mode_smart_abc();
  1476.             break;
  1477. //KP Jerry modify on 2007-4-18 start
  1478. #ifdef __MMI_LANG_TR_CHINESE__      //KP Jerry add on 2007-4-17
  1479.         case INPUT_TYPE_TR_MULTITAP_BOPOMO:
  1480.             wgui_change_inputbox_mode_tr_multitap_bpmf();
  1481.             break;
  1482.         case INPUT_TYPE_TR_BOPOMO:
  1483.             wgui_change_inputbox_mode_tr_bpmf();
  1484.             break;
  1485.         case INPUT_TYPE_TR_STROKE:
  1486.             wgui_change_inputbox_mode_tr_stroke();
  1487.             break;
  1488. #endif/*__MMI_LANG_TR_CHINESE__*/      //KP Jerry add on 2007-4-17
  1489. #ifdef __MMI_LANG_SM_CHINESE__      //KP Jerry add on 2007-4-17
  1490.         case INPUT_TYPE_SM_MULTITAP_PINYIN:
  1491.             wgui_change_inputbox_mode_sm_multitap_pinyin();
  1492.             break;
  1493.         case INPUT_TYPE_SM_PINYIN:
  1494.             wgui_change_inputbox_mode_sm_pinyin();
  1495.             break;
  1496.         case INPUT_TYPE_SM_STROKE:
  1497.             wgui_change_inputbox_mode_sm_stroke();
  1498.             break;
  1499. #endif/*__MMI_LANG_SM_CHINESE__*/      //KP Jerry add on 2007-4-17
  1500. //KP Jerry modify on 2007-4-18 end
  1501.     #if defined(__MMI_T9_SPANISH__) || defined(__MMI_ZI_EU_SPANISH__) || defined(__MMI_ZI_SA_SPANISH__) || defined(__MMI_CSTAR_SPANISH__)     //KP Jerry add "__MMI_CSTAR_SPANISH__" on 2007-3-8
  1502.         case INPUT_TYPE_SMART_UPPERCASE_SPANISH:
  1503.             wgui_change_inputbox_mode_smart_SPANISH();
  1504.             break;
  1505.         case INPUT_TYPE_SMART_LOWERCASE_SPANISH:
  1506.             wgui_change_inputbox_mode_smart_spanish();
  1507.             break;
  1508.     #endif /* defined(__MMI_T9_SPANISH__) || defined(__MMI_ZI_EU_SPANISH__) || defined(__MMI_ZI_SA_SPANISH__) || defined(__MMI_CSTAR_SPANISH__) */     //KP Jerry add "__MMI_CSTAR_SPANISH__" on 2007-3-8 
  1509.             /* PMT VIKASG START 20050729 */
  1510.     #if defined(__MMI_T9_DANISH__) || defined(__MMI_ZI_DANISH__) || defined(__MMI_CSTAR_DANISH__)     //KP Jerry add "__MMI_CSTAR_DANISH__" on 2007-3-8
  1511.         case INPUT_TYPE_SMART_UPPERCASE_DANISH:
  1512.             wgui_change_inputbox_mode_smart_DANISH();
  1513.             break;
  1514.         case INPUT_TYPE_SMART_LOWERCASE_DANISH:
  1515.             wgui_change_inputbox_mode_smart_danish();
  1516.             break;
  1517.     #endif /* defined(__MMI_T9_DANISH__) || defined(__MMI_ZI_DANISH__) || defined(__MMI_CSTAR_DANISH__) */     //KP Jerry add "__MMI_CSTAR_DANISH__" on 2007-3-8 
  1518.             //PMT VIKASG END 20050729
  1519.             //PMT CZ_PO_TU START 20050812
  1520.     #if defined(__MMI_T9_POLISH__) || defined(__MMI_ZI_POLISH__) || defined(__MMI_CSTAR_POLISH__)     //KP Jerry add "__MMI_CSTAR_POLISH__" on 2007-3-8
  1521.         case INPUT_TYPE_SMART_UPPERCASE_POLISH:
  1522.             wgui_change_inputbox_mode_smart_POLISH();
  1523.             break;
  1524.         case INPUT_TYPE_SMART_LOWERCASE_POLISH:
  1525.             wgui_change_inputbox_mode_smart_polish();
  1526.             break;
  1527.     #endif /* defined(__MMI_T9_POLISH__) || defined(__MMI_ZI_POLISH__) || defined(__MMI_CSTAR_POLISH__) */     //KP Jerry add "__MMI_CSTAR_POLISH__" on 2007-4-14 
  1528.             /* PMT CZ_PO_TU END 20050812 */
  1529.     #if defined(__MMI_T9_FRENCH__) || defined(__MMI_ZI_CA_FRENCH__) || defined(__MMI_ZI_EU_FRENCH__) || defined(__MMI_CSTAR_FRENCH__)     //KP Jerry add "__MMI_CSTAR_FRENCH__" on 2007-4-14
  1530.         case INPUT_TYPE_SMART_UPPERCASE_FRENCH:
  1531.             wgui_change_inputbox_mode_smart_FRENCH();
  1532.             break;
  1533.         case INPUT_TYPE_SMART_LOWERCASE_FRENCH:
  1534.             wgui_change_inputbox_mode_smart_french();
  1535.             break;
  1536.     #endif /* defined(__MMI_T9_FRENCH__) || defined(__MMI_ZI_CA_FRENCH__) || defined(__MMI_ZI_EU_FRENCH__) || defined(__MMI_CSTAR_FRENCH__) */     //KP Jerry add "__MMI_CSTAR_FRENCH__" on 2007-4-14 
  1537.     #if defined(__MMI_T9_GERMAN__) || defined(__MMI_ZI_GERMAN__) || defined(__MMI_CSTAR_GERMAN__)     //KP Jerry add "__MMI_CSTAR_GERMAN__" on 2007-4-14
  1538.         case INPUT_TYPE_SMART_UPPERCASE_GERMAN:
  1539.             wgui_change_inputbox_mode_smart_GERMAN();
  1540.             break;
  1541.         case INPUT_TYPE_SMART_LOWERCASE_GERMAN:
  1542.             wgui_change_inputbox_mode_smart_german();
  1543.             break;
  1544.     #endif /* defined(__MMI_T9_GERMAN__) || defined(__MMI_ZI_GERMAN__) || defined(__MMI_CSTAR_GERMAN__) */     //KP Jerry add "__MMI_CSTAR_GERMAN__" on 2007-4-14 
  1545.     #if defined(__MMI_T9_ITALIAN__) || defined(__MMI_ZI_ITALIAN__) || defined(__MMI_CSTAR_ITALIAN__)     //KP Jerry add "__MMI_CSTAR_ITALIAN__" on 2007-4-14
  1546.         case INPUT_TYPE_SMART_UPPERCASE_ITALIAN:
  1547.             wgui_change_inputbox_mode_smart_ITALIAN();
  1548.             break;
  1549.         case INPUT_TYPE_SMART_LOWERCASE_ITALIAN:
  1550.             wgui_change_inputbox_mode_smart_italian();
  1551.             break;
  1552.     #endif /* defined(__MMI_T9_ITALIAN__) || defined(__MMI_ZI_ITALIAN__) || defined(__MMI_CSTAR_ITALIAN__) */     //KP Jerry add "__MMI_CSTAR_ITALIAN__" on 2007-4-14 
  1553.     #if defined(__MMI_T9_RUSSIAN__) || defined(__MMI_ZI_RUSSIAN__) || defined(__MMI_ZI_RECOMMENDED_SIZE_RUSSIAN__) || defined(__MMI_CSTAR_RUSSIAN__)     //KP Jerry add "__MMI_CSTAR_RUSSIAN__" on 2007-4-14
  1554.         case INPUT_TYPE_SMART_UPPERCASE_RUSSIAN:
  1555.             wgui_change_inputbox_mode_smart_RUSSIAN();
  1556.             break;
  1557.         case INPUT_TYPE_SMART_LOWERCASE_RUSSIAN:
  1558.             wgui_change_inputbox_mode_smart_russian();
  1559.             break;
  1560.     #endif /* defined(__MMI_T9_RUSSIAN__) || defined(__MMI_ZI_RUSSIAN__) || defined(__MMI_ZI_RECOMMENDED_SIZE_RUSSIAN__) || defined(__MMI_CSTAR_RUSSIAN__) */      //KP Jerry add "__MMI_CSTAR_RUSSIAN__" on 2007-4-14
  1561.     #if defined(__MMI_T9_BULGARIAN__) || defined(__MMI_ZI_BULGARIAN__) || defined(__MMI_CSTAR_BULGARIAN__) //KP Jerry add "__MMI_CSTAR_BULGARIAN__" on 2007-4-13
  1562.         case INPUT_TYPE_SMART_UPPERCASE_BULGARIAN:
  1563.             wgui_change_inputbox_mode_smart_BULGARIAN();
  1564.             break;
  1565.         case INPUT_TYPE_SMART_LOWERCASE_BULGARIAN:
  1566.             wgui_change_inputbox_mode_smart_bulgarian();
  1567.             break;
  1568.     #endif /* defined(__MMI_T9_BULGARIAN__) || defined(__MMI_ZI_BULGARIAN__) || defined(__MMI_CSTAR_BULGARIAN__) */ //KP Jerry add "__MMI_CSTAR_BULGARIAN__" on 2007-4-13 
  1569.     #if defined(__MMI_ZI_THAI__) || defined (__MMI_T9_THAI__) || defined(__MMI_CSTAR_THAI__) //KP Jerry add "__MMI_CSTAR_THAI__" on 2007-4-13
  1570.         case INPUT_TYPE_SMART_THAI:
  1571.             wgui_change_inputbox_mode_smart_thai();
  1572.             break;
  1573.     #endif /* defined(__MMI_ZI_THAI__) || defined (__MMI_T9_THAI__) || defined(__MMI_CSTAR_THAI__) */  //KP Jerry add "__MMI_CSTAR_THAI__" on 2007-4-13
  1574.     #if defined(__MMI_ZI_ARABIC__) || defined(__MMI_T9_ARABIC__) || defined(__MMI_CSTAR_ARABIC__) //KP Jerry add "__MMI_CSTAR_ARABIC__" on 2007-4-13
  1575.             /* PMT NO_AR_SL_DU END 20050909 */
  1576.         case INPUT_TYPE_SMART_ARABIC:
  1577.             wgui_change_inputbox_mode_smart_arabic();
  1578.             break;
  1579.     #endif /* defined(__MMI_ZI_ARABIC__) || defined(__MMI_T9_ARABIC__) || defined(__MMI_CSTAR_ARABIC__) */  //KP Jerry add "__MMI_CSTAR_ARABIC__" on 2007-4-13
  1580.             /* PMT START PERSIAN */
  1581.     #if defined(__MMI_ZI_PERSIAN__)
  1582.             /* PMT NO_AR_SL_DU END 20050909 */
  1583.         case INPUT_TYPE_SMART_PERSIAN:
  1584.             wgui_change_inputbox_mode_smart_persian();
  1585.             break;
  1586.     #endif /* defined(__MMI_ZI_PERSIAN__) */ 
  1587.             /* PMT end PERSIAN */
  1588.             /* PMT VIKAS GUPTA START 20051129 */
  1589.     #if defined(__MMI_ZI_HINDI__) || defined(__MMI_T9_HINDI__) || defined(__MMI_CSTAR_HINDI__) //KP Jerry add "__MMI_CSTAR_HINDI__" on 2007-4-13
  1590.             /* PMT NO_AR_SL_DU END 20050909 */
  1591.         case INPUT_TYPE_SMART_HINDI:
  1592.             wgui_change_inputbox_mode_smart_hindi();
  1593.             break;
  1594.     #endif /* defined(__MMI_ZI_HINDI__) || defined(__MMI_T9_HINDI__) || defined(__MMI_CSTAR_HINDI__) */  //KP Jerry add "__MMI_CSTAR_HINDI__" on 2007-4-13
  1595.             //PMT VIKAS GUPTA END 20051129
  1596.             //PMT START GR_HE_CZ_FI_DA_HU 20051007
  1597.             //PMT LANGUAGE START 20051221
  1598.     #if defined(__MMI_ZI_HEBREW__) || defined(__MMI_T9_HEBREW__) || defined(__MMI_CSTAR_HEBREW__) //KP Jerry add "__MMI_CSTAR_HEBREW__" on 2007-4-13
  1599.             /* PMT LANGUAGE END 20051221 */
  1600.         case INPUT_TYPE_SMART_HEBREW:
  1601.             wgui_change_inputbox_mode_smart_hebrew();
  1602.             break;
  1603.     #endif /* defined(__MMI_ZI_HEBREW__) || defined(__MMI_T9_HEBREW__) || defined(__MMI_CSTAR_HEBREW__) */  //KP Jerry add "__MMI_CSTAR_HEBREW__" on 2007-4-13
  1604.             //PMT END GR_HE_CZ_FI_DA_HU 20051007
  1605.             //PMT CZ_PO_TU START 20050812
  1606.     #if defined(__MMI_ZI_TURKISH__) || defined(__MMI_T9_TURKISH__) || defined(__MMI_CSTAR_TURKISH__) //KP Jerry add "__MMI_CSTAR_TURKISH__" on 2007-4-13
  1607.             /* PMT CZ_PO_TU END 20050812 */
  1608.         case INPUT_TYPE_SMART_UPPERCASE_TURKISH:
  1609.             wgui_change_inputbox_mode_smart_TURKISH();
  1610.             break;
  1611.         case INPUT_TYPE_SMART_LOWERCASE_TURKISH:
  1612.             wgui_change_inputbox_mode_smart_turkish();
  1613.             break;
  1614.     #endif /* defined(__MMI_ZI_TURKISH__) || defined(__MMI_T9_TURKISH__) || defined(__MMI_CSTAR_TURKISH__) */  //KP Jerry add "__MMI_CSTAR_TURKISH__" on 2007-4-13
  1615.             /* PMT SHARIQ START 20050729 */
  1616.     #if defined(__MMI_T9_PORTUGUESE__) || defined(__MMI_ZI_SA_PORTUGUESE__) || defined(__MMI_ZI_EU_PORTUGUESE__) || defined(__MMI_ZI_BZ_PORTUGUESE__) || defined(__MMI_CSTAR_PORTUGUESE__) //KP Jerry add "__MMI_CSTAR_PORTUGUESE__" on 2007-4-13
  1617.             /* PMT SHARIQ END 20050729 */
  1618.         case INPUT_TYPE_SMART_UPPERCASE_PORTUGUESE:
  1619.             wgui_change_inputbox_mode_smart_PORTUGUESE();
  1620.             break;
  1621.         case INPUT_TYPE_SMART_LOWERCASE_PORTUGUESE:
  1622.             wgui_change_inputbox_mode_smart_portuguese();
  1623.             break;
  1624.     #endif /* defined(__MMI_T9_PORTUGUESE__) || defined(__MMI_ZI_SA_PORTUGUESE__) || defined(__MMI_ZI_EU_PORTUGUESE__) || defined(__MMI_ZI_BZ_PORTUGUESE__) || defined(__MMI_CSTAR_PORTUGUESE__) */  //KP Jerry add "__MMI_CSTAR_PORTUGUESE__" on 2007-4-13
  1625.             /* PMT Gurdev Start 20050729 */
  1626.     #if defined(__MMI_ZI_INDONESIAN__) || defined(__MMI_T9_INDONESIAN__) || defined(__MMI_CSTAR_INDONESIAN__) //KP Jerry add "__MMI_CSTAR_INDONESIAN__" on 2007-4-13
  1627.         case INPUT_TYPE_SMART_UPPERCASE_INDONESIAN:
  1628.             wgui_change_inputbox_mode_smart_INDONESIAN();
  1629.             break;
  1630.         case INPUT_TYPE_SMART_LOWERCASE_INDONESIAN:
  1631.             wgui_change_inputbox_mode_smart_indonesian();
  1632.             break;
  1633.     #endif /* defined(__MMI_ZI_INDONESIAN__) || defined(__MMI_T9_INDONESIAN__) || defined(__MMI_CSTAR_INDONESIAN__) */  //KP Jerry add "__MMI_CSTAR_INDONESIAN__" on 2007-4-13
  1634.             //PMT Gurdev End 20050729
  1635.             //PMT CZ_PO_TU START 20050812
  1636.             //PMT START GR_HE_CZ_FI_DA_HU 20051007
  1637.     #if defined(__MMI_T9_CZECH__) || defined(__MMI_ZI_CZECH__) || defined(__MMI_CSTAR_CZECH__) //KP Jerry add "__MMI_CSTAR_CZECH__" on 2007-4-13
  1638.             /* PMT END GR_HE_CZ_FI_DA_HU 20051007 */
  1639.         case INPUT_TYPE_SMART_UPPERCASE_CZECH:
  1640.             wgui_change_inputbox_mode_smart_CZECH();
  1641.             break;
  1642.         case INPUT_TYPE_SMART_LOWERCASE_CZECH:
  1643.             wgui_change_inputbox_mode_smart_czech();
  1644.             break;
  1645.     #endif /* defined(__MMI_T9_CZECH__) || defined(__MMI_ZI_CZECH__) || defined(__MMI_CSTAR_CZECH__) */  //KP Jerry add "__MMI_CSTAR_CZECH__" on 2007-4-13
  1646.             //PMT CZ_PO_TU END 20050812
  1647.             //PMT START LANGUAGE 20060104
  1648.     #if defined(__MMI_ZI_MALAY__) || defined(__MMI_T9_MALAY__) || defined(__MMI_CSTAR_MALAY__) //KP Jerry add "__MMI_CSTAR_MALAY__" on 2007-4-13
  1649.             /* PMT END LANGUAGE 20060104 */
  1650.         case INPUT_TYPE_SMART_UPPERCASE_MALAY:
  1651.             wgui_change_inputbox_mode_smart_MALAY();
  1652.             break;
  1653.         case INPUT_TYPE_SMART_LOWERCASE_MALAY:
  1654.             wgui_change_inputbox_mode_smart_malay();
  1655.             break;
  1656.     #endif /* defined(__MMI_ZI_MALAY__) || defined(__MMI_T9_MALAY__) || defined(__MMI_CSTAR_MALAY__) */  //KP Jerry add "__MMI_CSTAR_MALAY__" on 2007-4-13
  1657.             /* PMT BHASKAR START 20052907 */
  1658.     #if defined(__MMI_ZI_VIETNAMESE__) || defined(__MMI_T9_VIETNAMESE__) || defined(__MMI_CSTAR_VIETNAMESE__) //KP Jerry add "__MMI_CSTAR_VIETNAMESE__" on 2007-4-13
  1659.             /* PMT BHASKAR END 20052907 */
  1660.         case INPUT_TYPE_SMART_UPPERCASE_VIETNAMESE:
  1661.             wgui_change_inputbox_mode_smart_VIETNAMESE();
  1662.             break;
  1663.         case INPUT_TYPE_SMART_LOWERCASE_VIETNAMESE:
  1664.             wgui_change_inputbox_mode_smart_vietnamese();
  1665.             break;
  1666.     #endif /* defined(__MMI_ZI_VIETNAMESE__) || defined(__MMI_T9_VIETNAMESE__) || defined(__MMI_CSTAR_VIETNAMESE__) */  //KP Jerry add "__MMI_CSTAR_VIETNAMESE__" on 2007-4-13
  1667.             /* PMT START HU_FI 20050825 */
  1668.     #if defined(__MMI_ZI_FINNISH__) || defined(__MMI_T9_FINNISH__) || defined(__MMI_CSTAR_FINNISH__) //KP Jerry add "__MMI_CSTAR_FINNISH__" on 2007-4-13
  1669.         case INPUT_TYPE_SMART_UPPERCASE_FINNISH:
  1670.             wgui_change_inputbox_mode_smart_FINNISH();
  1671.             break;
  1672.         case INPUT_TYPE_SMART_LOWERCASE_FINNISH:
  1673.             wgui_change_inputbox_mode_smart_finnish();
  1674.             break;
  1675.     #endif /* defined(__MMI_ZI_FINNISH__) || defined(__MMI_T9_FINNISH__) || defined(__MMI_CSTAR_FINNISH__) */  //KP Jerry add "__MMI_CSTAR_FINNISH__" on 2007-4-13
  1676.             /* PMT START GR_HE_CZ_FI_DA_HU 20051007 */
  1677.     #if defined(__MMI_T9_HUNGARIAN__) || defined(__MMI_ZI_HUNGARIAN__) || defined(__MMI_CSTAR_HUNGARIAN__) //KP Jerry add "__MMI_CSTAR_HUNGARIAN__" on 2007-4-13
  1678.             /* PMT END GR_HE_CZ_FI_DA_HU 20051007 */
  1679.         case INPUT_TYPE_SMART_UPPERCASE_HUNGARIAN:
  1680.             wgui_change_inputbox_mode_smart_HUNGARIAN();
  1681.             break;
  1682.         case INPUT_TYPE_SMART_LOWERCASE_HUNGARIAN:
  1683.             wgui_change_inputbox_mode_smart_hungarian();
  1684.             break;
  1685.     #endif /* defined(__MMI_T9_HUNGARIAN__) || defined(__MMI_ZI_HUNGARIAN__) || defined(__MMI_CSTAR_HUNGARIAN__) */  //KP Jerry add "__MMI_CSTAR_HUNGARIAN__" on 2007-4-13
  1686.             //PMT END HU_FI 20050825
  1687.             //PMT NO_AR_SL_DU START 20050909
  1688.     #if defined(__MMI_ZI_SLOVAK__) || defined(__MMI_T9_SLOVAK__) || defined(__MMI_CSTAR_SLOVAK__) //KP Jerry add "__MMI_CSTAR_SLOVAK__" on 2007-4-13
  1689.         case INPUT_TYPE_SMART_UPPERCASE_SLOVAK:
  1690.             wgui_change_inputbox_mode_smart_SLOVAK();
  1691.             break;
  1692.         case INPUT_TYPE_SMART_LOWERCASE_SLOVAK:
  1693.             wgui_change_inputbox_mode_smart_slovak();
  1694.             break;
  1695.     #endif /* defined(__MMI_ZI_SLOVAK__) || defined(__MMI_T9_SLOVAK__) || defined(__MMI_CSTAR_SLOVAK__) */  //KP Jerry add "__MMI_CSTAR_SLOVAK__" on 2007-4-13
  1696.     #if defined(__MMI_ZI_DUTCH__) || defined(__MMI_T9_DUTCH__) || defined(__MMI_CSTAR_DUTCH__) //KP Jerry add "__MMI_CSTAR_DUTCH__" on 2007-4-13
  1697.         case INPUT_TYPE_SMART_UPPERCASE_DUTCH:
  1698.             wgui_change_inputbox_mode_smart_DUTCH();
  1699.             break;
  1700.         case INPUT_TYPE_SMART_LOWERCASE_DUTCH:
  1701.             wgui_change_inputbox_mode_smart_dutch();
  1702.             break;
  1703.     #endif /* defined(__MMI_ZI_DUTCH__) || defined(__MMI_T9_DUTCH__) || defined(__MMI_CSTAR_DUTCH__) */  //KP Jerry add "__MMI_CSTAR_DUTCH__" on 2007-4-13
  1704.             //Norwegian start
  1705.             //PMT VIKAS GUPTA START PO_NO_ZI 20050930
  1706.     #if defined(__MMI_T9_NORWEGIAN__) || defined(__MMI_ZI_NORWEGIAN__) || defined(__MMI_CSTAR_NORWEGIAN__) //KP Jerry add "__MMI_CSTAR_NORWEGIAN__" on 2007-4-13
  1707.             /* PMT VIKAS GUPTA END PO_NO_ZI 20050930 */
  1708.         case INPUT_TYPE_SMART_UPPERCASE_NORWEGIAN:
  1709.             wgui_change_inputbox_mode_smart_NORWEGIAN();
  1710.             break;
  1711.         case INPUT_TYPE_SMART_LOWERCASE_NORWEGIAN:
  1712.             wgui_change_inputbox_mode_smart_norwegian();
  1713.             break;
  1714.     #endif /* defined(__MMI_T9_NORWEGIAN__) || defined(__MMI_ZI_NORWEGIAN__) || defined(__MMI_CSTAR_NORWEGIAN__) */  //KP Jerry add "__MMI_CSTAR_NORWEGIAN__" on 2007-4-13
  1715.             //Norwegian end
  1716.             //PMT NO_AR_SL_DU END 20050909
  1717.             //PMT START SWEDISH 20050916
  1718.     #if defined(__MMI_ZI_SWEDISH__) || defined(__MMI_T9_SWEDISH__) || defined(__MMI_CSTAR_SWEDISH__) //KP Jerry add "__MMI_CSTAR_SWEDISH__" on 2007-4-13
  1719.         case INPUT_TYPE_SMART_UPPERCASE_SWEDISH:
  1720.             wgui_change_inputbox_mode_smart_SWEDISH();
  1721.             break;
  1722.         case INPUT_TYPE_SMART_LOWERCASE_SWEDISH:
  1723.             wgui_change_inputbox_mode_smart_swedish();
  1724.             break;
  1725.     #endif /* defined(__MMI_ZI_SWEDISH__) || defined(__MMI_T9_SWEDISH__) || defined(__MMI_CSTAR_SWEDISH__) */  //KP Jerry add "__MMI_CSTAR_SWEDISH__" on 2007-4-13
  1726.             //PMT END SWEDISH 20050916
  1727.             //PMT START CR_ROM_SLO 20050923
  1728.     #if defined(__MMI_ZI_CROATIAN__) || defined(__MMI_T9_CROATIAN__) || defined(__MMI_CSTAR_CROATIAN__) //KP Jerry add "__MMI_CSTAR_CROATIAN__" on 2007-4-13
  1729.         case INPUT_TYPE_SMART_UPPERCASE_CROATIAN:
  1730.             wgui_change_inputbox_mode_smart_CROATIAN();
  1731.             break;
  1732.         case INPUT_TYPE_SMART_LOWERCASE_CROATIAN:
  1733.             wgui_change_inputbox_mode_smart_croatian();
  1734.             break;
  1735.     #endif /* defined(__MMI_ZI_CROATIAN__) || defined(__MMI_T9_CROATIAN__) || defined(__MMI_CSTAR_CROATIAN__) */  //KP Jerry add "__MMI_CSTAR_CROATIAN__" on 2007-4-13
  1736.             /* PMT START LANGUAGE 20060104 */
  1737.     #if defined(__MMI_ZI_ROMANIAN__) || defined(__MMI_T9_ROMANIAN__) || defined(__MMI_CSTAR_ROMANIAN__) //KP Jerry add "__MMI_CSTAR_ROMANIAN__" on 2007-4-13
  1738.             /* PMT END LANGUAGE 20060104 */
  1739.         case INPUT_TYPE_SMART_UPPERCASE_ROMANIAN:
  1740.             wgui_change_inputbox_mode_smart_ROMANIAN();
  1741.             break;
  1742.         case INPUT_TYPE_SMART_LOWERCASE_ROMANIAN:
  1743.             wgui_change_inputbox_mode_smart_romanian();
  1744.             break;
  1745.     #endif /* defined(__MMI_ZI_ROMANIAN__) || defined(__MMI_T9_ROMANIAN__) || defined(__MMI_CSTAR_ROMANIAN__) */  //KP Jerry add "__MMI_CSTAR_ROMANIAN__" on 2007-4-13
  1746.             /* PMT LANGUAGE START 20051221 */
  1747.     #if defined(__MMI_ZI_SLOVENIAN__) || defined(__MMI_T9_SLOVENIAN__) || defined(__MMI_CSTAR_SLOVENIAN__) //KP Jerry add "__MMI_CSTAR_SLOVENIAN__" on 2007-4-13
  1748.             /* PMT LANGUAGE END 20051221 */
  1749.         case INPUT_TYPE_SMART_UPPERCASE_SLOVENIAN:
  1750.             wgui_change_inputbox_mode_smart_SLOVENIAN();
  1751.             break;
  1752.         case INPUT_TYPE_SMART_LOWERCASE_SLOVENIAN:
  1753.             wgui_change_inputbox_mode_smart_slovenian();
  1754.             break;
  1755.     #endif /* defined(__MMI_ZI_SLOVENIAN__) || defined(__MMI_T9_SLOVENIAN__) || defined(__MMI_CSTAR_SLOVENIAN__) */  //KP Jerry add "__MMI_CSTAR_SLOVENIAN__" on 2007-4-13
  1756.             /* PMT END CR_ROM_SLO 20050923 */
  1757.             /* PMT START GR_HE_CZ_FI_DA_HU 20051007 */
  1758.     #if defined(__MMI_ZI_GREEK__) || defined(__MMI_T9_GREEK__) || defined(__MMI_CSTAR_GREEK__) //KP Jerry add "__MMI_CSTAR_GREEK__" on 2007-4-13
  1759.         case INPUT_TYPE_SMART_UPPERCASE_GREEK:
  1760.             wgui_change_inputbox_mode_smart_GREEK();
  1761.             break;
  1762.         case INPUT_TYPE_SMART_LOWERCASE_GREEK:
  1763.             wgui_change_inputbox_mode_smart_greek();
  1764.             break;
  1765.     #endif /* defined(__MMI_ZI_GREEK__) || defined(__MMI_T9_GREEK__) || defined(__MMI_CSTAR_GREEK__) */  //KP Jerry add "__MMI_CSTAR_GREEK__" on 2007-4-13
  1766.             /* PMT END GR_HE_CZ_FI_DA_HU 20051007 */
  1767.     #endif /* defined (__MMI_T9__) || defined (__MMI_ZI__) || defined(__MMI_CSTAR__) || defined(__MMI_KA__) || defined(__MMI_ITAP__) */  //KP Jerry add "__MMI_CSTAR__" on 2007-4-13
  1768.     }
  1769. }
  1770. /* __CUSTPACK_MULTIBIN     Terry   BEGIN */
  1771. extern S16 MMI_AP_required_input_mode_set[INPUT_MODE_MAX_NUM];
  1772. /*****************************************************************************
  1773.  * FUNCTION
  1774.  *  InputMethodSetKeyHandler
  1775.  * DESCRIPTION
  1776.  *  
  1777.  * PARAMETERS
  1778.  *  preFuncPtrs         [?]         
  1779.  *  postPtrs            [?]         
  1780.  *  IMEModeArray        [IN]        
  1781.  *  EnglishOnly         [IN]        
  1782.  *  AP_required         [IN]        
  1783.  * RETURNS
  1784.  *  
  1785.  *****************************************************************************/
  1786. U32 InputMethodSetKeyHandler(
  1787.         FuncPtr *preFuncPtrs,
  1788.         FuncPtr *postPtrs,
  1789.         const sIMEModeDetails *IMEModeArray,
  1790.         BOOL EnglishOnly,
  1791.         BOOL AP_required)
  1792. {
  1793.     /*----------------------------------------------------------------*/
  1794.     /* Local Variables                                                */
  1795.     /*----------------------------------------------------------------*/
  1796.     int i = 0, j = 0;
  1797.     int input_mode_id = 0;
  1798.     MMI_BOOL ExitFlag = MMI_FALSE;
  1799.     /*----------------------------------------------------------------*/
  1800.     /* Code Body                                                      */
  1801.     /*----------------------------------------------------------------*/
  1802.     for (;;)
  1803.     {
  1804.         if (AP_required)
  1805.         {
  1806.             input_mode_id = MMI_AP_required_input_mode_set[i];
  1807.         }
  1808.         else
  1809.         {
  1810.             input_mode_id = IMEModeArray[i].IME_Mode_ID;
  1811.         }
  1812.         switch (input_mode_id)
  1813.         {
  1814.             case INPUT_MODE_MULTITAP_UPPERCASE_ABC:
  1815.                 preFuncPtrs[j] = wgui_change_inputbox_mode_multitap_ABC;
  1816.                 break;
  1817.             case INPUT_MODE_MULTITAP_LOWERCASE_ABC:
  1818.                 preFuncPtrs[j] = wgui_change_inputbox_mode_multitap_abc;
  1819.                 break;
  1820.                 /* PMT LANGUAGE START 20051221 */
  1821.             case INPUT_MODE_123:
  1822.                 preFuncPtrs[j] = wgui_change_inputbox_mode_mode_numeric;
  1823.                 break;
  1824.                 /* PMT NO_AR_SL_DU END 20050909 */
  1825.         #if defined(__MMI_T9_ENGLISH__) || defined(__MMI_ZI_PRC_ENGLISH__) || defined(__MMI_ZI_UK_ENGLISH__) || defined(__MMI_CSTAR_ENGLISH__) || defined(__MMI_ITAP_ENGLISH__) //KP Jerry add "__MMI_CSTAR_ENGLISH__" on 2007-4-13
  1826.             case INPUT_MODE_SMART_UPPERCASE_ABC:
  1827.                 if (mmi_is_alphanum_pass) /* smart ABC, abc should be removed when INPUT_TYPE_ALPHANUMERIC_PASSWORD */
  1828.                 {
  1829.                     j--;
  1830.                 }
  1831.                 else
  1832.                 {
  1833.                     preFuncPtrs[j] = wgui_change_inputbox_mode_smart_ABC;
  1834.                 }
  1835.                 break;
  1836.             case INPUT_MODE_SMART_LOWERCASE_ABC:
  1837.                 if (mmi_is_alphanum_pass) /* smart ABC, abc should be removed when INPUT_TYPE_ALPHANUMERIC_PASSWORD */
  1838.                 {
  1839.                     j--;
  1840.                 }
  1841.                 else
  1842.                 {
  1843.                     preFuncPtrs[j] = wgui_change_inputbox_mode_smart_abc;
  1844.                 }
  1845.                 break;
  1846.         #endif /* defined(__MMI_T9_ENGLISH__) || defined(__MMI_ZI_PRC_ENGLISH__) || defined(__MMI_ZI_UK_ENGLISH__) || defined(__MMI_CSTAR_ENGLISH__) || defined(__MMI_ITAP_ENGLISH__) */  //KP Jerry add "__MMI_CSTAR_ENGLISH__" on 2007-4-13
  1847.         #if defined(__MMI_MULTITAP_HINDI__)
  1848.             case INPUT_MODE_MULTITAP_HINDI:
  1849.                 preFuncPtrs[j] = wgui_change_inputbox_mode_multitap_HINDI;
  1850.                 break;
  1851.         #endif /* defined(__MMI_MULTITAP_HINDI__) */ 
  1852.         
  1853.         #if defined(__MMI_MULTITAP_MARATHI__)
  1854.             case INPUT_MODE_MULTITAP_MARATHI:
  1855.                 preFuncPtrs[j] = wgui_change_inputbox_mode_multitap_MARATHI;
  1856.                 break;
  1857.         #endif /* defined(__MMI_MULTITAP_MARATHI__) */ 
  1858.         
  1859.         #if defined(__MMI_MULTITAP_ARABIC__)
  1860.             case INPUT_MODE_MULTITAP_ARABIC:
  1861.                 preFuncPtrs[j] = wgui_change_inputbox_mode_multitap_arabic;
  1862.                 break;
  1863.         #endif /* defined(__MMI_MULTITAP_ARABIC__) */ 
  1864.                 /* PMT START PERSIAN */
  1865.         #if defined(__MMI_MULTITAP_PERSIAN__)
  1866.             case INPUT_MODE_MULTITAP_PERSIAN:
  1867.                 preFuncPtrs[j] = wgui_change_inputbox_mode_multitap_persian;
  1868.                 break;
  1869.         #endif /* defined(__MMI_MULTITAP_PERSIAN__) */ 
  1870.                 /* PMT END PERSIAN */
  1871.         #if defined(__MMI_ZI_ARABIC__) || defined(__MMI_T9_ARABIC__) || defined(__MMI_CSTAR_ARABIC__) //KP Jerry add "__MMI_CSTAR_ARABIC__" on 2007-4-13
  1872.                 /* PMT NO_AR_SL_DU END 20050909 */
  1873.             case INPUT_MODE_SMART_ARABIC:
  1874.                 preFuncPtrs[j] = wgui_change_inputbox_mode_smart_arabic;
  1875.                 break;
  1876.         #endif /* defined(__MMI_ZI_ARABIC__) || defined(__MMI_T9_ARABIC__) || defined(__MMI_CSTAR_ARABIC__) */  //KP Jerry add "__MMI_CSTAR_ARABIC__" on 2007-4-13
  1877.                 /* PMT START PERSIAN */
  1878.         #if defined(__MMI_ZI_PERSIAN__)
  1879.             case INPUT_MODE_SMART_PERSIAN:
  1880.                 preFuncPtrs[j] = wgui_change_inputbox_mode_smart_persian;
  1881.                 break;
  1882.         #endif /* defined(__MMI_ZI_PERSIAN__) */ 
  1883.                 /* PMT END PERSIAN */
  1884.                 /* PMT VIKAS GUPTA START 20051129 */
  1885.         #if defined(__MMI_ZI_HINDI__) || defined(__MMI_T9_HINDI__) || defined(__MMI_CSTAR_HINDI__) //KP Jerry add "__MMI_CSTAR_HINDI__" on 2007-4-13
  1886.                 /* PMT NO_AR_SL_DU END 20050909 */
  1887.             case INPUT_MODE_SMART_HINDI:
  1888.                 preFuncPtrs[j] = wgui_change_inputbox_mode_smart_hindi;
  1889.                 break;
  1890.         #endif /* defined(__MMI_ZI_HINDI__) || defined(__MMI_T9_HINDI__) || defined(__MMI_CSTAR_HINDI__) */  //KP Jerry add "__MMI_CSTAR_HINDI__" on 2007-4-13
  1891.                 /* PMT LANGUAGE END 20051221 */
  1892.         #if defined(__MMI_MULTITAP_SPANISH__)
  1893.             case INPUT_MODE_MULTITAP_UPPERCASE_SPANISH:
  1894.                 preFuncPtrs[j] = wgui_change_inputbox_mode_multitap_SPANISH;
  1895.                 break;
  1896.             case INPUT_MODE_MULTITAP_LOWERCASE_SPANISH:
  1897.                 preFuncPtrs[j] = wgui_change_inputbox_mode_multitap_spanish;
  1898.                 break;
  1899.         #endif /* defined(__MMI_MULTITAP_SPANISH__) */ 
  1900.                 /* PMT VIKASG START 20050729 */
  1901.         #if defined(__MMI_MULTITAP_DANISH__)
  1902.             case INPUT_MODE_MULTITAP_UPPERCASE_DANISH:
  1903.                 preFuncPtrs[j] = wgui_change_inputbox_mode_multitap_DANISH;
  1904.                 break;
  1905.             case INPUT_MODE_MULTITAP_LOWERCASE_DANISH:
  1906.                 preFuncPtrs[j] = wgui_change_inputbox_mode_multitap_danish;
  1907.                 break;
  1908.         #endif /* defined(__MMI_MULTITAP_DANISH__) */ 
  1909.                 //PMT VIKASG END 20050729
  1910.                 //PMT CZ_PO_TU START 20050812
  1911.         #if defined(__MMI_MULTITAP_POLISH__)
  1912.             case INPUT_MODE_MULTITAP_UPPERCASE_POLISH:
  1913.                 preFuncPtrs[j] = wgui_change_inputbox_mode_multitap_POLISH;
  1914.                 break;
  1915.             case INPUT_MODE_MULTITAP_LOWERCASE_POLISH:
  1916.                 preFuncPtrs[j] = wgui_change_inputbox_mode_multitap_polish;
  1917.                 break;
  1918.         #endif /* defined(__MMI_MULTITAP_POLISH__) */ 
  1919.                 /* PMT CZ_PO_TU END 20050812 */
  1920.         #if defined(__MMI_MULTITAP_FRENCH__)
  1921.             case INPUT_MODE_MULTITAP_UPPERCASE_FRENCH:
  1922.                 preFuncPtrs[j] = wgui_change_inputbox_mode_multitap_FRENCH;
  1923.                 break;
  1924.             case INPUT_MODE_MULTITAP_LOWERCASE_FRENCH:
  1925.                 preFuncPtrs[j] = wgui_change_inputbox_mode_multitap_french;
  1926.                 break;
  1927.         #endif /* defined(__MMI_MULTITAP_FRENCH__) */ 
  1928.         #if defined(__MMI_MULTITAP_GERMAN__)
  1929.             case INPUT_MODE_MULTITAP_UPPERCASE_GERMAN:
  1930.                 preFuncPtrs[j] = wgui_change_inputbox_mode_multitap_GERMAN;
  1931.                 break;
  1932.             case INPUT_MODE_MULTITAP_LOWERCASE_GERMAN:
  1933.                 preFuncPtrs[j] = wgui_change_inputbox_mode_multitap_german;
  1934.                 break;
  1935.         #endif /* defined(__MMI_MULTITAP_GERMAN__) */ 
  1936.         #if defined(__MMI_MULTITAP_ITALIAN__)
  1937.             case INPUT_MODE_MULTITAP_UPPERCASE_ITALIAN:
  1938.                 preFuncPtrs[j] = wgui_change_inputbox_mode_multitap_ITALIAN;
  1939.                 break;
  1940.             case INPUT_MODE_MULTITAP_LOWERCASE_ITALIAN:
  1941.                 preFuncPtrs[j] = wgui_change_inputbox_mode_multitap_italian;
  1942.                 break;
  1943.         #endif /* defined(__MMI_MULTITAP_ITALIAN__) */ 
  1944.         #if defined(__MMI_MULTITAP_RUSSIAN__)
  1945.             case INPUT_MODE_MULTITAP_UPPERCASE_RUSSIAN:
  1946.                 preFuncPtrs[j] = wgui_change_inputbox_mode_multitap_RUSSIAN;
  1947.                 break;
  1948.             case INPUT_MODE_MULTITAP_LOWERCASE_RUSSIAN:
  1949.                 preFuncPtrs[j] = wgui_change_inputbox_mode_multitap_russian;
  1950.                 break;
  1951.         #endif /* defined(__MMI_MULTITAP_RUSSIAN__) */ 
  1952.         #if defined(__MMI_MULTITAP_BULGARIAN__)
  1953.             case INPUT_MODE_MULTITAP_UPPERCASE_BULGARIAN:
  1954.                 preFuncPtrs[j] = wgui_change_inputbox_mode_multitap_BULGARIAN;
  1955.                 break;
  1956.             case INPUT_MODE_MULTITAP_LOWERCASE_BULGARIAN:
  1957.                 preFuncPtrs[j] = wgui_change_inputbox_mode_multitap_bulgarian;
  1958.                 break;
  1959.         #endif /* defined(__MMI_MULTITAP_BULGARIAN__) */ 
  1960.         #if defined(__MMI_MULTITAP_TURKISH__)
  1961.             case INPUT_MODE_MULTITAP_UPPERCASE_TURKISH:
  1962.                 preFuncPtrs[j] = wgui_change_inputbox_mode_multitap_TURKISH;
  1963.                 break;
  1964.             case INPUT_MODE_MULTITAP_LOWERCASE_TURKISH:
  1965.                 preFuncPtrs[j] = wgui_change_inputbox_mode_multitap_turkish;
  1966.                 break;
  1967.         #endif /* defined(__MMI_MULTITAP_TURKISH__) */ 
  1968.         #if defined(__MMI_MULTITAP_PORTUGUESE__)
  1969.             case INPUT_MODE_MULTITAP_UPPERCASE_PORTUGUESE:
  1970.                 preFuncPtrs[j] = wgui_change_inputbox_mode_multitap_PORTUGUESE;
  1971.                 break;
  1972.             case INPUT_MODE_MULTITAP_LOWERCASE_PORTUGUESE:
  1973.                 preFuncPtrs[j] = wgui_change_inputbox_mode_multitap_portuguese;
  1974.                 break;
  1975.         #endif /* defined(__MMI_MULTITAP_PORTUGUESE__) */ 
  1976.         #if defined(__MMI_MULTITAP_INDONESIAN__)
  1977.             case INPUT_MODE_MULTITAP_UPPERCASE_INDONESIAN:
  1978.                 preFuncPtrs[j] = wgui_change_inputbox_mode_multitap_INDONESIAN;
  1979.                 break;
  1980.             case INPUT_MODE_MULTITAP_LOWERCASE_INDONESIAN:
  1981.                 preFuncPtrs[j] = wgui_change_inputbox_mode_multitap_indonesian;
  1982.                 break;
  1983.         #endif /* defined(__MMI_MULTITAP_INDONESIAN__) */ 
  1984.                 /* PMT CZ_PO_TU START 20050812 */
  1985.         #if defined(__MMI_MULTITAP_CZECH__)
  1986.             case INPUT_MODE_MULTITAP_UPPERCASE_CZECH:
  1987.                 preFuncPtrs[j] = wgui_change_inputbox_mode_multitap_CZECH;
  1988.                 break;
  1989.             case INPUT_MODE_MULTITAP_LOWERCASE_CZECH:
  1990.                 preFuncPtrs[j] = wgui_change_inputbox_mode_multitap_czech;
  1991.                 break;
  1992.         #endif /* defined(__MMI_MULTITAP_CZECH__) */ 
  1993.                 /* PMT CZ_PO_TU END 20050812 */
  1994.         #if defined(__MMI_MULTITAP_MALAY__)
  1995.             case INPUT_MODE_MULTITAP_UPPERCASE_MALAY:
  1996.                 preFuncPtrs[j] = wgui_change_inputbox_mode_multitap_MALAY;
  1997.                 break;
  1998.             case INPUT_MODE_MULTITAP_LOWERCASE_MALAY:
  1999.                 preFuncPtrs[j] = wgui_change_inputbox_mode_multitap_malay;
  2000.                 break;
  2001.         #endif /* defined(__MMI_MULTITAP_MALAY__) */ 
  2002.         #if defined(__MMI_MULTITAP_VIETNAMESE__)
  2003.             case INPUT_MODE_MULTITAP_UPPERCASE_VIETNAMESE:
  2004.                 preFuncPtrs[j] = wgui_change_inputbox_mode_multitap_VIETNAMESE;
  2005.                 break;
  2006.             case INPUT_MODE_MULTITAP_LOWERCASE_VIETNAMESE:
  2007.                 preFuncPtrs[j] = wgui_change_inputbox_mode_multitap_vietnamese;
  2008.                 break;
  2009.         #endif /* defined(__MMI_MULTITAP_VIETNAMESE__) */ 
  2010.                 /* PMT START HU_FI 20050825 */
  2011.         #if defined(__MMI_MULTITAP_FINNISH__)
  2012.             case INPUT_MODE_MULTITAP_UPPERCASE_FINNISH:
  2013.                 preFuncPtrs[j] = wgui_change_inputbox_mode_multitap_FINNISH;
  2014.                 break;
  2015.             case INPUT_MODE_MULTITAP_LOWERCASE_FINNISH:
  2016.                 preFuncPtrs[j] = wgui_change_inputbox_mode_multitap_finnish;
  2017.                 break;
  2018.         #endif /* defined(__MMI_MULTITAP_FINNISH__) */ 
  2019.         #if defined(__MMI_MULTITAP_HUNGARIAN__)
  2020.             case INPUT_MODE_MULTITAP_UPPERCASE_HUNGARIAN:
  2021.                 preFuncPtrs[j] = wgui_change_inputbox_mode_multitap_HUNGARIAN;
  2022.                 break;
  2023.             case INPUT_MODE_MULTITAP_LOWERCASE_HUNGARIAN:
  2024.                 preFuncPtrs[j] = wgui_change_inputbox_mode_multitap_hungarian;
  2025.                 break;
  2026.         #endif /* defined(__MMI_MULTITAP_HUNGARIAN__) */ 
  2027.                 //PMT END HU_FI 20050825
  2028.                 //PMT NO_AR_SL_DU START 20050909
  2029.         #if defined(__MMI_MULTITAP_SLOVAK__)
  2030.             case INPUT_MODE_MULTITAP_UPPERCASE_SLOVAK:
  2031.                 preFuncPtrs[j] = wgui_change_inputbox_mode_multitap_SLOVAK;
  2032.                 break;
  2033.             case INPUT_MODE_MULTITAP_LOWERCASE_SLOVAK:
  2034.                 preFuncPtrs[j] = wgui_change_inputbox_mode_multitap_slovak;
  2035.                 break;
  2036.         #endif /* defined(__MMI_MULTITAP_SLOVAK__) */ 
  2037.         #if defined(__MMI_MULTITAP_DUTCH__)
  2038.             case INPUT_MODE_MULTITAP_UPPERCASE_DUTCH:
  2039.                 preFuncPtrs[j] = wgui_change_inputbox_mode_multitap_DUTCH;
  2040.                 break;
  2041.             case INPUT_MODE_MULTITAP_LOWERCASE_DUTCH:
  2042.                 preFuncPtrs[j] = wgui_change_inputbox_mode_multitap_dutch;
  2043.                 break;
  2044.         #endif /* defined(__MMI_MULTITAP_DUTCH__) */ 
  2045.                 //PMT NO_AR_SL_DU END 20050909
  2046.                 //PMT START SWEDISH 20050916
  2047.         #if defined(__MMI_MULTITAP_SWEDISH__)
  2048.             case INPUT_MODE_MULTITAP_UPPERCASE_SWEDISH:
  2049.                 preFuncPtrs[j] = wgui_change_inputbox_mode_multitap_SWEDISH;
  2050.                 break;
  2051.             case INPUT_MODE_MULTITAP_LOWERCASE_SWEDISH:
  2052.                 preFuncPtrs[j] = wgui_change_inputbox_mode_multitap_swedish;
  2053.                 break;
  2054.         #endif /* defined(__MMI_MULTITAP_SWEDISH__) */ 
  2055.                 /* PMT END SWEDISH 20050916 */
  2056.                 /* PMT START CR_ROM_SLO 20050923 */
  2057.         #if defined(__MMI_MULTITAP_CROATIAN__)
  2058.             case INPUT_MODE_MULTITAP_UPPERCASE_CROATIAN:
  2059.                 preFuncPtrs[j] = wgui_change_inputbox_mode_multitap_CROATIAN;
  2060.                 break;
  2061.             case INPUT_MODE_MULTITAP_LOWERCASE_CROATIAN:
  2062.                 preFuncPtrs[j] = wgui_change_inputbox_mode_multitap_croatian;
  2063.                 break;
  2064.         #endif /* defined(__MMI_MULTITAP_CROATIAN__) */ 
  2065.         #if defined(__MMI_MULTITAP_ROMANIAN__)
  2066.             case INPUT_MODE_MULTITAP_UPPERCASE_ROMANIAN:
  2067.                 preFuncPtrs[j] = wgui_change_inputbox_mode_multitap_ROMANIAN;
  2068.                 break;
  2069.             case INPUT_MODE_MULTITAP_LOWERCASE_ROMANIAN:
  2070.                 preFuncPtrs[j] = wgui_change_inputbox_mode_multitap_romanian;
  2071.                 break;
  2072.         #endif /* defined(__MMI_MULTITAP_ROMANIAN__) */ 
  2073.         #if defined(__MMI_MULTITAP_SLOVENIAN__)
  2074.             case INPUT_MODE_MULTITAP_UPPERCASE_SLOVENIAN:
  2075.                 preFuncPtrs[j] = wgui_change_inputbox_mode_multitap_SLOVENIAN;
  2076.                 break;
  2077.             case INPUT_MODE_MULTITAP_LOWERCASE_SLOVENIAN:
  2078.                 preFuncPtrs[j] = wgui_change_inputbox_mode_multitap_slovenian;
  2079.                 break;
  2080.         #endif /* defined(__MMI_MULTITAP_SLOVENIAN__) */ 
  2081.                 /* PMT END CR_ROM_SLO 20050923 */
  2082.                 /* PMT START GR_HE_CZ_FI_DA_HU 20051007 */
  2083.         #if defined(__MMI_MULTITAP_GREEK__)
  2084.             case INPUT_MODE_MULTITAP_UPPERCASE_GREEK:
  2085.                 preFuncPtrs[j] = wgui_change_inputbox_mode_multitap_GREEK;
  2086.                 break;
  2087.             case INPUT_MODE_MULTITAP_LOWERCASE_GREEK:
  2088.                 preFuncPtrs[j] = wgui_change_inputbox_mode_multitap_greek;
  2089.                 break;
  2090.         #endif /* defined(__MMI_MULTITAP_GREEK__) */ 
  2091.                 //PMT END GR_HE_CZ_FI_DA_HU 20051007
  2092.                 //PMT LANGUAGE START 20051221
  2093.                 /* #if defined(__MMI_MULTITAP_HINDI__)
  2094.                    case  INPUT_MODE_MULTITAP_HINDI:
  2095.                    preFuncPtrs[j] = wgui_change_inputbox_mode_multitap_HINDI;
  2096.                    break;
  2097.                    #endif */
  2098.                 //PMT LANGUAGE END 20051221
  2099.                 //PMT dara added for Multitap Thai
  2100.         #if defined(__MMI_MULTITAP_THAI__)
  2101.             case INPUT_MODE_MULTITAP_THAI:
  2102.                 preFuncPtrs[j] = wgui_change_inputbox_mode_multitap_thai;
  2103.                 break;
  2104.         #endif /* defined(__MMI_MULTITAP_THAI__) */ 
  2105.                 //PMT end
  2106.                 //PMT START GR_HE_CZ_FI_DA_HU 20051007
  2107.         #if defined(__MMI_MULTITAP_HEBREW__)
  2108.             case INPUT_MODE_MULTITAP_HEBREW:
  2109.                 preFuncPtrs[j] = wgui_change_inputbox_mode_multitap_hebrew;
  2110.                 break;
  2111.         #endif /* defined(__MMI_MULTITAP_HEBREW__) */ 
  2112.                 //PMT END GR_HE_CZ_FI_DA_HU 20051007
  2113.                 //PMT NO_AR_SL_DU START 20050909
  2114.                 //PMT LANGUAGE START 20051221
  2115.                 /* #if defined(__MMI_MULTITAP_ARABIC__)
  2116.                    case  INPUT_MODE_MULTITAP_ARABIC:
  2117.                    preFuncPtrs[j] = wgui_change_inputbox_mode_multitap_arabic;
  2118.                    break;
  2119.                    #endif */
  2120.                 //PMT LANGUAGE END 20051221
  2121.                 //Norwegian start
  2122.         #if defined(__MMI_MULTITAP_NORWEGIAN__)
  2123.             case INPUT_MODE_MULTITAP_UPPERCASE_NORWEGIAN:
  2124.                 preFuncPtrs[j] = wgui_change_inputbox_mode_multitap_NORWEGIAN;
  2125.                 break;
  2126.             case INPUT_MODE_MULTITAP_LOWERCASE_NORWEGIAN:
  2127.                 preFuncPtrs[j] = wgui_change_inputbox_mode_multitap_norwegian;
  2128.                 break;
  2129.         #endif /* defined(__MMI_MULTITAP_NORWEGIAN__) */ 
  2130.                 //Norwegian end
  2131.                 //PMT LANGUAGE START 20051221
  2132.                 //PMT NO_AR_SL_DU END 20050909
  2133.                 /* #if defined(__MMI_T9_ENGLISH__)||defined(__MMI_ZI_PRC_ENGLISH__)||defined(__MMI_ZI_UK_ENGLISH__)||defined(__MMI_ITAP_ENGLISH__)
  2134.                    case INPUT_MODE_SMART_UPPERCASE_ABC:
  2135.                    preFuncPtrs[j] = wgui_change_inputbox_mode_smart_ABC;
  2136.                    break;
  2137.                    case INPUT_MODE_SMART_LOWERCASE_ABC:
  2138.                    preFuncPtrs[j] = wgui_change_inputbox_mode_smart_abc;
  2139.                    break;
  2140.                    #endif
  2141.                    case INPUT_MODE_123:
  2142.                    preFuncPtrs[j] = wgui_change_inputbox_mode_mode_numeric;
  2143.                    break; */
  2144.                 /* PMT LANGUAGE END 20051221 */
  2145.         #if defined(__MMI_T9_SPANISH__) || defined(__MMI_ZI_EU_SPANISH__) || defined(__MMI_ZI_SA_SPANISH__) || defined(__MMI_CSTAR_SPANISH__) //KP Jerry add "__MMI_CSTAR_SPANISH__" on 2007-4-13
  2146.             case INPUT_MODE_SMART_UPPERCASE_SPANISH:
  2147.                 preFuncPtrs[j] = wgui_change_inputbox_mode_smart_SPANISH;
  2148.                 break;
  2149.             case INPUT_MODE_SMART_LOWERCASE_SPANISH:
  2150.                 preFuncPtrs[j] = wgui_change_inputbox_mode_smart_spanish;
  2151.                 break;
  2152.         #endif /* defined(__MMI_T9_SPANISH__) || defined(__MMI_ZI_EU_SPANISH__) || defined(__MMI_ZI_SA_SPANISH__) || defined(__MMI_CSTAR_SPANISH__) */  //KP Jerry add "__MMI_CSTAR_SPANISH__" on 2007-4-13
  2153.                 /* PMT VIKASG START 20050729 */
  2154.         #if defined(__MMI_T9_DANISH__) || defined(__MMI_ZI_DANISH__) || defined(__MMI_CSTAR_DANISH__) //KP Jerry add "__MMI_CSTAR_DANISH__" on 2007-4-13
  2155.             case INPUT_MODE_SMART_UPPERCASE_DANISH:
  2156.                 preFuncPtrs[j] = wgui_change_inputbox_mode_smart_DANISH;
  2157.                 break;
  2158.             case INPUT_MODE_SMART_LOWERCASE_DANISH:
  2159.                 preFuncPtrs[j] = wgui_change_inputbox_mode_smart_danish;
  2160.                 break;
  2161.         #endif /* defined(__MMI_T9_DANISH__) || defined(__MMI_ZI_DANISH__) || defined(__MMI_CSTAR_DANISH__) */  //KP Jerry add "__MMI_CSTAR_DANISH__" on 2007-4-13
  2162.                 //PMT VIKASG END 20050729
  2163.                 //PMT CZ_PO_TU START 20050812
  2164.         #if defined(__MMI_T9_POLISH__) || defined(__MMI_ZI_POLISH__) || defined(__MMI_CSTAR_POLISH__) //KP Jerry add "__MMI_CSTAR_POLISH__" on 2007-4-13
  2165.             case INPUT_MODE_SMART_UPPERCASE_POLISH:
  2166.                 preFuncPtrs[j] = wgui_change_inputbox_mode_smart_POLISH;
  2167.                 break;
  2168.             case INPUT_MODE_SMART_LOWERCASE_POLISH:
  2169.                 preFuncPtrs[j] = wgui_change_inputbox_mode_smart_polish;
  2170.                 break;
  2171.         #endif /* defined(__MMI_T9_POLISH__) || defined(__MMI_ZI_POLISH__) || defined(__MMI_CSTAR_POLISH__) */  //KP Jerry add "__MMI_CSTAR_POLISH__" on 2007-4-13
  2172.                 /* PMT CZ_PO_TU END 20050812 */
  2173.         #if defined(__MMI_T9_FRENCH__) || defined(__MMI_ZI_CA_FRENCH__) || defined(__MMI_ZI_EU_FRENCH__) || defined(__MMI_CSTAR_FRENCH__) //KP Jerry add "__MMI_CSTAR_FRENCH__" on 2007-4-13
  2174.             case INPUT_MODE_SMART_UPPERCASE_FRENCH:
  2175.                 preFuncPtrs[j] = wgui_change_inputbox_mode_smart_FRENCH;
  2176.                 break;
  2177.             case INPUT_MODE_SMART_LOWERCASE_FRENCH:
  2178.                 preFuncPtrs[j] = wgui_change_inputbox_mode_smart_french;
  2179.                 break;
  2180.         #endif /* defined(__MMI_T9_FRENCH__) || defined(__MMI_ZI_CA_FRENCH__) || defined(__MMI_ZI_EU_FRENCH__) || defined(__MMI_CSTAR_FRENCH__) */  //KP Jerry add "__MMI_CSTAR_FRENCH__" on 2007-4-13
  2181.         #if defined(__MMI_T9_GERMAN__) || defined(__MMI_ZI_GERMAN__) || defined(__MMI_CSTAR_GERMAN__) //KP Jerry add "__MMI_CSTAR_GERMAN__" on 2007-4-13
  2182.             case INPUT_MODE_SMART_UPPERCASE_GERMAN:
  2183.                 preFuncPtrs[j] = wgui_change_inputbox_mode_smart_GERMAN;
  2184.                 break;
  2185.             case INPUT_MODE_SMART_LOWERCASE_GERMAN:
  2186.                 preFuncPtrs[j] = wgui_change_inputbox_mode_smart_german;
  2187.                 break;
  2188.         #endif /* defined(__MMI_T9_GERMAN__) || defined(__MMI_ZI_GERMAN__) || defined(__MMI_CSTAR_GERMAN__) */  //KP Jerry add "__MMI_CSTAR_GERMAN__" on 2007-4-13
  2189.         #if defined(__MMI_T9_ITALIAN__) || defined(__MMI_ZI_ITALIAN__) || defined(__MMI_CSTAR_ITALIAN__) //KP Jerry add "__MMI_CSTAR_ITALIAN__" on 2007-4-13
  2190.             case INPUT_MODE_SMART_UPPERCASE_ITALIAN:
  2191.                 preFuncPtrs[j] = wgui_change_inputbox_mode_smart_ITALIAN;
  2192.                 break;
  2193.             case INPUT_MODE_SMART_LOWERCASE_ITALIAN:
  2194.                 preFuncPtrs[j] = wgui_change_inputbox_mode_smart_italian;
  2195.                 break;
  2196.         #endif /* defined(__MMI_T9_ITALIAN__) || defined(__MMI_ZI_ITALIAN__) || defined(__MMI_CSTAR_ITALIAN__) */  //KP Jerry add "__MMI_CSTAR_ITALIAN__" on 2007-4-13
  2197.                 /* START PMT VANDANA 20051506 */
  2198.         #if defined(__MMI_T9_RUSSIAN__) || defined(__MMI_ZI_RUSSIAN__) || defined(__MMI_ZI_RECOMMENDED_SIZE_RUSSIAN__) || defined(__MMI_CSTAR_RUSSIAN__) //KP Jerry add "__MMI_CSTAR_RUSSIAN__" on 2007-4-13
  2199.                 /* END PMT */
  2200.             case INPUT_MODE_SMART_UPPERCASE_RUSSIAN:
  2201.                 preFuncPtrs[j] = wgui_change_inputbox_mode_smart_RUSSIAN;
  2202.                 break;
  2203.             case INPUT_MODE_SMART_LOWERCASE_RUSSIAN:
  2204.                 preFuncPtrs[j] = wgui_change_inputbox_mode_smart_russian;
  2205.                 break;
  2206.         #endif /* defined(__MMI_T9_RUSSIAN__) || defined(__MMI_ZI_RUSSIAN__) || defined(__MMI_ZI_RECOMMENDED_SIZE_RUSSIAN__) || defined(__MMI_CSTAR_RUSSIAN__) */  //KP Jerry add "__MMI_CSTAR_RUSSIAN__" on 2007-4-13
  2207.                 /* PMT BULGARIAN START 20051201 */
  2208.         #if defined(__MMI_T9_BULGARIAN__) || defined(__MMI_ZI_BULGARIAN__) || defined(__MMI_CSTAR_BULGARIAN__) //KP Jerry add "__MMI_CSTAR_BULGARIAN__" on 2007-4-13
  2209.             case INPUT_MODE_SMART_UPPERCASE_BULGARIAN:
  2210.                 preFuncPtrs[j] = wgui_change_inputbox_mode_smart_BULGARIAN;
  2211.                 break;
  2212.             case INPUT_MODE_SMART_LOWERCASE_BULGARIAN:
  2213.                 preFuncPtrs[j] = wgui_change_inputbox_mode_smart_bulgarian;
  2214.                 break;
  2215.         #endif /* defined(__MMI_T9_BULGARIAN__) || defined(__MMI_ZI_BULGARIAN__) || defined(__MMI_CSTAR_BULGARIAN__) */  //KP Jerry add "__MMI_CSTAR_BULGARIAN__" on 2007-4-13
  2216.                 /* PMT BULGARIAN END 20051201 */
  2217.         #if defined(__MMI_ZI_THAI__) || defined(__MMI_T9_THAI__) || defined(__MMI_CSTAR_THAI__) //KP Jerry add "__MMI_CSTAR_THAI__" on 2007-4-13
  2218.             case INPUT_MODE_SMART_THAI:
  2219.                 preFuncPtrs[j] = wgui_change_inputbox_mode_smart_thai;
  2220.                 break;
  2221.         #endif /* defined(__MMI_ZI_THAI__) || defined(__MMI_T9_THAI__) || defined(__MMI_CSTAR_THAI__) */  //KP Jerry add "__MMI_CSTAR_THAI__" on 2007-4-13
  2222.                 //PMT NO_AR_SL_DU START 20050909
  2223.                 //PMT LANGUAGE START 20051221
  2224.                 /* #if defined(__MMI_ZI_ARABIC__) || defined(__MMI_T9_ARABIC__)
  2225.                    case INPUT_MODE_SMART_ARABIC:
  2226.                    preFuncPtrs[j] = wgui_change_inputbox_mode_smart_arabic;
  2227.                    break;
  2228.                    #endif
  2229.                    //PMT VIKAS GUPTA START 20051129
  2230.                    #if defined(__MMI_ZI_HINDI__) || defined(__MMI_T9_HINDI__)
  2231.                    //PMT NO_AR_SL_DU END 20050909
  2232.                    case INPUT_MODE_SMART_HINDI:
  2233.                    preFuncPtrs[j] = wgui_change_inputbox_mode_smart_hindi;
  2234.                    break;
  2235.                    #endif */
  2236.                 //PMT LANGUAGE END 20051221
  2237.                 //PMT VIKAS GUPTA END 20051129
  2238.                 //PMT START GR_HE_CZ_FI_DA_HU 20051007
  2239.                 //PMT LANGUAGE START 20051221
  2240.         #if defined(__MMI_ZI_HEBREW__) || defined(__MMI_T9_HEBREW__) || defined(__MMI_CSTAR_HEBREW__) //KP Jerry add "__MMI_CSTAR_HEBREW__" on 2007-4-13
  2241.                 /* PMT LANGUAGE END 20051221 */
  2242.             case INPUT_MODE_SMART_HEBREW:
  2243.                 preFuncPtrs[j] = wgui_change_inputbox_mode_smart_hebrew;
  2244.                 break;
  2245.         #endif /* defined(__MMI_ZI_HEBREW__) || defined(__MMI_T9_HEBREW__) || defined(__MMI_CSTAR_HEBREW__) */  //KP Jerry add "__MMI_CSTAR_HEBREW__" on 2007-4-13
  2246.                 //PMT END GR_HE_CZ_FI_DA_HU 20051007
  2247.                 //PMT CZ_PO_TU START 20050812
  2248.         #if defined(__MMI_ZI_TURKISH__) || defined(__MMI_T9_TURKISH__) || defined(__MMI_CSTAR_TURKISH__) //KP Jerry add "__MMI_CSTAR_TURKISH__" on 2007-4-13
  2249.                 /* PMT CZ_PO_TU END 20050812 */
  2250.             case INPUT_MODE_SMART_UPPERCASE_TURKISH:
  2251.                 preFuncPtrs[j] = wgui_change_inputbox_mode_smart_TURKISH;
  2252.                 break;
  2253.             case INPUT_MODE_SMART_LOWERCASE_TURKISH:
  2254.                 preFuncPtrs[j] = wgui_change_inputbox_mode_smart_turkish;
  2255.                 break;
  2256.         #endif /* defined(__MMI_ZI_TURKISH__) || defined(__MMI_T9_TURKISH__) || defined(__MMI_CSTAR_TURKISH__) */  //KP Jerry add "__MMI_CSTAR_TURKISH__" on 2007-4-13
  2257.                 /* PMT SHARIQ START 20050729 */
  2258.         #if defined(__MMI_T9_PORTUGUESE__) || defined(__MMI_ZI_EU_PORTUGUESE__) || defined(__MMI_ZI_SA_PORTUGUESE__) || defined(__MMI_ZI_BZ_PORTUGUESE__) || defined(__MMI_CSTAR_PORTUGUESE__) //KP Jerry add "__MMI_CSTAR_PORTUGUESE__" on 2007-4-13
  2259.                 /* PMT SHARIQ END 20050729 */
  2260.             case INPUT_MODE_SMART_UPPERCASE_PORTUGUESE:
  2261.                 preFuncPtrs[j] = wgui_change_inputbox_mode_smart_PORTUGUESE;
  2262.                 break;
  2263.             case INPUT_MODE_SMART_LOWERCASE_PORTUGUESE:
  2264.                 preFuncPtrs[j] = wgui_change_inputbox_mode_smart_portuguese;
  2265.                 break;
  2266.         #endif /* defined(__MMI_T9_PORTUGUESE__) || defined(__MMI_ZI_EU_PORTUGUESE__) || defined(__MMI_ZI_SA_PORTUGUESE__) || defined(__MMI_ZI_BZ_PORTUGUESE__) || defined(__MMI_CSTAR_PORTUGUESE__) */  //KP Jerry add "__MMI_CSTAR_PORTUGUESE__" on 2007-4-13
  2267.                 /* PMT Gurdev Start 20050729 */
  2268.         #if defined(__MMI_ZI_INDONESIAN__) || defined(__MMI_T9_INDONESIAN__) || defined(__MMI_CSTAR_INDONESIAN__) //KP Jerry add "__MMI_CSTAR_INDONESIAN__" on 2007-4-13
  2269.             case INPUT_MODE_SMART_UPPERCASE_INDONESIAN:
  2270.                 preFuncPtrs[j] = wgui_change_inputbox_mode_smart_INDONESIAN;
  2271.                 break;
  2272.             case INPUT_MODE_SMART_LOWERCASE_INDONESIAN:
  2273.                 preFuncPtrs[j] = wgui_change_inputbox_mode_smart_indonesian;
  2274.                 break;
  2275.         #endif /* defined(__MMI_ZI_INDONESIAN__) || defined(__MMI_T9_INDONESIAN__) || defined(__MMI_CSTAR_INDONESIAN__) */  //KP Jerry add "__MMI_CSTAR_INDONESIAN__" on 2007-4-13
  2276.                 //PMT Gurdev End 20050729
  2277.                 //PMT CZ_PO_TU START 20050812
  2278.                 //PMT START GR_HE_CZ_FI_DA_HU 20051007
  2279.         #if defined(__MMI_T9_CZECH__) || defined(__MMI_ZI_CZECH__) || defined(__MMI_CSTAR_CZECH__) //KP Jerry add "__MMI_CSTAR_CZECH__" on 2007-4-13
  2280.                 /* PMT END GR_HE_CZ_FI_DA_HU 20051007 */
  2281.             case INPUT_MODE_SMART_UPPERCASE_CZECH:
  2282.                 preFuncPtrs[j] = wgui_change_inputbox_mode_smart_CZECH;
  2283.                 break;
  2284.             case INPUT_MODE_SMART_LOWERCASE_CZECH:
  2285.                 preFuncPtrs[j] = wgui_change_inputbox_mode_smart_czech;
  2286.                 break;
  2287.         #endif /* defined(__MMI_T9_CZECH__) || defined(__MMI_ZI_CZECH__) || defined(__MMI_CSTAR_CZECH__) */  //KP Jerry add "__MMI_CSTAR_CZECH__" on 2007-4-13
  2288.                 //PMT CZ_PO_TU END 20050812
  2289.                 //PMT START LANGUAGE 20060104
  2290.         #if defined(__MMI_ZI_MALAY__) || defined(__MMI_T9_MALAY__) || defined(__MMI_CSTAR_MALAY__) //KP Jerry add "__MMI_CSTAR_MALAY__" on 2007-4-13
  2291.                 /* PMT END LANGUAGE 20060104 */
  2292.             case INPUT_MODE_SMART_UPPERCASE_MALAY:
  2293.                 preFuncPtrs[j] = wgui_change_inputbox_mode_smart_MALAY;
  2294.                 break;
  2295.             case INPUT_MODE_SMART_LOWERCASE_MALAY:
  2296.                 preFuncPtrs[j] = wgui_change_inputbox_mode_smart_malay;
  2297.                 break;
  2298.         #endif /* defined(__MMI_ZI_MALAY__) || defined(__MMI_T9_MALAY__) || defined(__MMI_CSTAR_MALAY__) */  //KP Jerry add "__MMI_CSTAR_MALAY__" on 2007-4-13
  2299.                 /* PMT BHASKAR START 20052907 */
  2300.         #if defined(__MMI_ZI_VIETNAMESE__) || defined(__MMI_T9_VIETNAMESE__) || defined(__MMI_CSTAR_VIETNAMESE__) //KP Jerry add "__MMI_CSTAR_VIETNAMESE__" on 2007-4-13
  2301.                 /* PMT BHASKAR END 20052907 */
  2302.             case INPUT_MODE_SMART_UPPERCASE_VIETNAMESE:
  2303.                 preFuncPtrs[j] = wgui_change_inputbox_mode_smart_VIETNAMESE;
  2304.                 break;
  2305.             case INPUT_MODE_SMART_LOWERCASE_VIETNAMESE:
  2306.                 preFuncPtrs[j] = wgui_change_inputbox_mode_smart_vietnamese;
  2307.                 break;
  2308.         #endif /* defined(__MMI_ZI_VIETNAMESE__) || defined(__MMI_T9_VIETNAMESE__) || defined(__MMI_CSTAR_VIETNAMESE__) */  //KP Jerry add "__MMI_CSTAR_VIETNAMESE__" on 2007-4-13
  2309.                 /* PMT START HU_FI 20050825 */
  2310.         #if defined(__MMI_ZI_FINNISH__) || defined(__MMI_T9_FINNISH__) || defined(__MMI_CSTAR_FINNISH__) //KP Jerry add "__MMI_CSTAR_FINNISH__" on 2007-4-13
  2311.             case INPUT_MODE_SMART_UPPERCASE_FINNISH:
  2312.                 preFuncPtrs[j] = wgui_change_inputbox_mode_smart_FINNISH;
  2313.                 break;
  2314.             case INPUT_MODE_SMART_LOWERCASE_FINNISH:
  2315.                 preFuncPtrs[j] = wgui_change_inputbox_mode_smart_finnish;
  2316.                 break;
  2317.         #endif /* defined(__MMI_ZI_FINNISH__) || defined(__MMI_T9_FINNISH__) || defined(__MMI_CSTAR_FINNISH__) */  //KP Jerry add "__MMI_CSTAR_FINNISH__" on 2007-4-13
  2318.                 /* PMT START GR_HE_CZ_FI_DA_HU 20051007 */
  2319.         #if defined(__MMI_T9_HUNGARIAN__) || defined(__MMI_ZI_HUNGARIAN__) || defined(__MMI_CSTAR_HUNGARIAN__) //KP Jerry add "__MMI_CSTAR_HUNGARIAN__" on 2007-4-13
  2320.                 /* PMT END GR_HE_CZ_FI_DA_HU 20051007 */
  2321.             case INPUT_MODE_SMART_UPPERCASE_HUNGARIAN:
  2322.                 preFuncPtrs[j] = wgui_change_inputbox_mode_smart_HUNGARIAN;
  2323.                 break;
  2324.             case INPUT_MODE_SMART_LOWERCASE_HUNGARIAN:
  2325.                 preFuncPtrs[j] = wgui_change_inputbox_mode_smart_hungarian;
  2326.                 break;
  2327.         #endif /* defined(__MMI_T9_HUNGARIAN__) || defined(__MMI_ZI_HUNGARIAN__) || defined(__MMI_CSTAR_HUNGARIAN__) */  //KP Jerry add "__MMI_CSTAR_HUNGARIAN__" on 2007-4-13
  2328.                 //PMT END HU_FI 20050825
  2329.                 //PMT NO_AR_SL_DU START 20050909
  2330.         #if defined(__MMI_ZI_SLOVAK__) || defined(__MMI_T9_SLOVAK__) || defined(__MMI_CSTAR_SLOVAK__) //KP Jerry add "__MMI_CSTAR_SLOVAK__" on 2007-4-13
  2331.             case INPUT_MODE_SMART_UPPERCASE_SLOVAK:
  2332.                 preFuncPtrs[j] = wgui_change_inputbox_mode_smart_SLOVAK;
  2333.                 break;
  2334.             case INPUT_MODE_SMART_LOWERCASE_SLOVAK:
  2335.                 preFuncPtrs[j] = wgui_change_inputbox_mode_smart_slovak;
  2336.                 break;
  2337.         #endif /* defined(__MMI_ZI_SLOVAK__) || defined(__MMI_T9_SLOVAK__) || defined(__MMI_CSTAR_SLOVAK__) */  //KP Jerry add "__MMI_CSTAR_SLOVAK__" on 2007-4-13
  2338.         #if defined(__MMI_ZI_DUTCH__) || defined(__MMI_T9_DUTCH__) || defined(__MMI_CSTAR_DUTCH__) //KP Jerry add "__MMI_CSTAR_DUTCH__" on 2007-4-13
  2339.             case INPUT_MODE_SMART_UPPERCASE_DUTCH:
  2340.                 preFuncPtrs[j] = wgui_change_inputbox_mode_smart_DUTCH;
  2341.                 break;
  2342.             case INPUT_MODE_SMART_LOWERCASE_DUTCH:
  2343.                 preFuncPtrs[j] = wgui_change_inputbox_mode_smart_dutch;
  2344.                 break;
  2345.         #endif /* defined(__MMI_ZI_DUTCH__) || defined(__MMI_T9_DUTCH__) || defined(__MMI_CSTAR_DUTCH__) */  //KP Jerry add "__MMI_CSTAR_DUTCH__" on 2007-4-13
  2346.                 //Norwegian start
  2347.                 //PMT VIKAS GUPTA START PO_NO_ZI 20050930
  2348.         #if defined(__MMI_T9_NORWEGIAN__) || defined(__MMI_ZI_NORWEGIAN__) || defined(__MMI_CSTAR_NORWEGIAN__) //KP Jerry add "__MMI_CSTAR_NORWEGIAN__" on 2007-4-13
  2349.                 /* PMT VIKAS GUPTA END PO_NO_ZI 20050930 */
  2350.             case INPUT_MODE_SMART_UPPERCASE_NORWEGIAN:
  2351.                 preFuncPtrs[j] = wgui_change_inputbox_mode_smart_NORWEGIAN;
  2352.                 break;
  2353.             case INPUT_MODE_SMART_LOWERCASE_NORWEGIAN:
  2354.                 preFuncPtrs[j] = wgui_change_inputbox_mode_smart_norwegian;
  2355.                 break;
  2356.         #endif /* defined(__MMI_T9_NORWEGIAN__) || defined(__MMI_ZI_NORWEGIAN__) || defined(__MMI_CSTAR_NORWEGIAN__) */  //KP Jerry add "__MMI_CSTAR_NORWEGIAN__" on 2007-4-13
  2357.                 //Norwegian end
  2358.                 //PMT NO_AR_SL_DU END 20050909
  2359.                 //PMT START SWEDISH 20050916
  2360.         #if defined(__MMI_ZI_SWEDISH__) || defined(__MMI_T9_SWEDISH__) || defined(__MMI_CSTAR_SWEDISH__) //KP Jerry add "__MMI_CSTAR_SWEDISH__" on 2007-4-13
  2361.             case INPUT_MODE_SMART_UPPERCASE_SWEDISH:
  2362.                 preFuncPtrs[j] = wgui_change_inputbox_mode_smart_SWEDISH;
  2363.                 break;
  2364.             case INPUT_MODE_SMART_LOWERCASE_SWEDISH:
  2365.                 preFuncPtrs[j] = wgui_change_inputbox_mode_smart_swedish;
  2366.                 break;
  2367.         #endif /* defined(__MMI_ZI_SWEDISH__) || defined(__MMI_T9_SWEDISH__) || defined(__MMI_CSTAR_SWEDISH__) */  //KP Jerry add "__MMI_CSTAR_SWEDISH__" on 2007-4-13
  2368.                 /* PMT END SWEDISH 20050916 */
  2369.                 /* PMT START CR_ROM_SLO 20050923 */
  2370.         #if defined(__MMI_ZI_CROATIAN__) || defined(__MMI_T9_CROATIAN__) || defined(__MMI_CSTAR_CROATIAN__) //KP Jerry add "__MMI_CSTAR_CROATIAN__" on 2007-4-13
  2371.             case INPUT_MODE_SMART_UPPERCASE_CROATIAN:
  2372.                 preFuncPtrs[j] = wgui_change_inputbox_mode_smart_CROATIAN;
  2373.                 break;
  2374.             case INPUT_MODE_SMART_LOWERCASE_CROATIAN:
  2375.                 preFuncPtrs[j] = wgui_change_inputbox_mode_smart_croatian;
  2376.                 break;
  2377.         #endif /* defined(__MMI_ZI_CROATIAN__) || defined(__MMI_T9_CROATIAN__) || defined(__MMI_CSTAR_CROATIAN__) */  //KP Jerry add "__MMI_CSTAR_CROATIAN__" on 2007-4-13
  2378.                 /* PMT START LANGUAGE 20060104 */
  2379.         #if defined(__MMI_ZI_ROMANIAN__) || defined(__MMI_T9_ROMANIAN__) || defined(__MMI_CSTAR_ROMANIAN__) //KP Jerry add "__MMI_CSTAR_ROMANIAN__" on 2007-4-13
  2380.                 /* PMT END LANGUAGE 20060104 */
  2381.             case INPUT_MODE_SMART_UPPERCASE_ROMANIAN:
  2382.                 preFuncPtrs[j] = wgui_change_inputbox_mode_smart_ROMANIAN;
  2383.                 break;
  2384.             case INPUT_MODE_SMART_LOWERCASE_ROMANIAN:
  2385.                 preFuncPtrs[j] = wgui_change_inputbox_mode_smart_romanian;
  2386.                 break;
  2387.         #endif /* defined(__MMI_ZI_ROMANIAN__) || defined(__MMI_T9_ROMANIAN__) || defined(__MMI_CSTAR_ROMANIAN__) */  //KP Jerry add "__MMI_CSTAR_ROMANIAN__" on 2007-4-13
  2388.                 /* PMT LANGUAGE START 20051221 */
  2389.         #if defined(__MMI_ZI_SLOVENIAN__) || defined(__MMI_T9_SLOVENIAN__) || defined(__MMI_CSTAR_SLOVENIAN__) //KP Jerry add "__MMI_CSTAR_SLOVENIAN__" on 2007-4-13
  2390.                 /* PMT LANGUAGE END 20051221 */
  2391.             case INPUT_MODE_SMART_UPPERCASE_SLOVENIAN:
  2392.                 preFuncPtrs[j] = wgui_change_inputbox_mode_smart_SLOVENIAN;
  2393.                 break;
  2394.             case INPUT_MODE_SMART_LOWERCASE_SLOVENIAN:
  2395.                 preFuncPtrs[j] = wgui_change_inputbox_mode_smart_slovenian;
  2396.                 break;
  2397.         #endif /* defined(__MMI_ZI_SLOVENIAN__) || defined(__MMI_T9_SLOVENIAN__) || defined(__MMI_CSTAR_SLOVENIAN__) */  //KP Jerry add "__MMI_CSTAR_SLOVENIAN__" on 2007-4-13
  2398.                 /* PMT END CR_ROM_SLO 20050923 */
  2399.                 /* PMT START GR_HE_CZ_FI_DA_HU 20051007 */
  2400.         #if defined(__MMI_ZI_GREEK__) || defined(__MMI_T9_GREEK__) || defined(__MMI_CSTAR_GREEK__) //KP Jerry add "__MMI_CSTAR_GREEK__" on 2007-4-13
  2401.             case INPUT_MODE_SMART_UPPERCASE_GREEK:
  2402.                 preFuncPtrs[j] = wgui_change_inputbox_mode_smart_GREEK;
  2403.                 break;
  2404.             case INPUT_MODE_SMART_LOWERCASE_GREEK:
  2405.                 preFuncPtrs[j] = wgui_change_inputbox_mode_smart_greek;
  2406.                 break;
  2407.         #endif /* defined(__MMI_ZI_GREEK__) || defined(__MMI_T9_GREEK__) || defined(__MMI_CSTAR_GREEK__) */  //KP Jerry add "__MMI_CSTAR_GREEK__" on 2007-4-13
  2408.                 /* PMT END GR_HE_CZ_FI_DA_HU 20051007 */
  2409.         #if defined(__MMI_T9_TR_CHINESE__) || defined(__MMI_ZI_TR_CHINESE__) ||defined(__MMI_CSTAR_TR_CHINESE__) || defined(__MMI_ITAP_TR_CHINESE__)    //KP Jerry add "__MMI_CSTAR_XXX__" on 2007-4-18
  2410.         #if defined(__MMI_T9_MULTITAP_PHONETIC_INPUT__) || defined(__MMI_ZI_MULTITAP_PHONETIC_INPUT__) || defined(__MMI_CSTAR_MULTITAP_PHONETIC_INPUT__) || defined(__MMI_ITAP_MULTITAP_PHONETIC_INPUT__)       //KP Jerry add "__MMI_CSTAR_XXX__" on 2007-4-18
  2411.             case INPUT_MODE_TR_MULTITAP_BOPOMO:
  2412.                 preFuncPtrs[j] = wgui_change_inputbox_mode_tr_multitap_bpmf;
  2413.                 break;
  2414.         #endif /* defined(__MMI_T9_MULTITAP_PHONETIC_INPUT__) || defined(__MMI_ZI_MULTITAP_PHONETIC_INPUT__) || defined(__MMI_CSTAR_MULTITAP_PHONETIC_INPUT__) || defined(__MMI_ITAP_MULTITAP_PHONETIC_INPUT__) */     //KP Jerry add "__MMI_CSTAR_XXX__" on 2007-4-18
  2415.         #if (defined(__MMI_T9_SMART_PHONETIC_INPUT__) && defined(__MMI_T9_AMB_BPMF_INPUT__)) || defined(__MMI_ZI_SMART_PHONETIC_INPUT__) || defined(__MMI_CSTAR_SMART_PHONETIC_INPUT__) || defined(__MMI_ITAP_SMART_PHONETIC_INPUT__)       //KP Jerry add "__MMI_CSTAR_XXX__" on 2007-4-18
  2416.             case INPUT_MODE_TR_BOPOMO:
  2417.                 preFuncPtrs[j] = wgui_change_inputbox_mode_tr_bpmf;
  2418.                 break;
  2419.         #endif /* (defined(__MMI_T9_SMART_PHONETIC_INPUT__) && defined(__MMI_T9_AMB_BPMF_INPUT__)) || defined(__MMI_ZI_SMART_PHONETIC_INPUT__) || defined(__MMI_CSTAR_SMART_PHONETIC_INPUT__) || defined(__MMI_ITAP_SMART_PHONETIC_INPUT__) */     //KP Jerry add "__MMI_CSTAR_XXX__" on 2007-4-18
  2420.             case INPUT_MODE_TR_STROKE:
  2421.                 preFuncPtrs[j] = wgui_change_inputbox_mode_tr_stroke;
  2422.                 break;
  2423.         #endif /* defined(__MMI_T9_TR_CHINESE__) || defined(__MMI_ZI_TR_CHINESE__) || defined(__MMI_CSTAR_TR_CHINESE__) || defined(__MMI_ITAP_TR_CHINESE__) */     //KP Jerry add "__MMI_CSTAR_XXX__" on 2007-4-18
  2424.         #if defined(__MMI_T9_SM_CHINESE__) || defined(__MMI_ZI_SM_CHINESE__) || defined(__MMI_CSTAR_SM_CHINESE__) || defined(__MMI_ITAP_SM_CHINESE__)    //KP Jerry add "__MMI_CSTAR_XXX__" on 2007-4-18
  2425.         #if defined(__MMI_T9_MULTITAP_PHONETIC_INPUT__) || defined(__MMI_ZI_MULTITAP_PHONETIC_INPUT__) || defined(__MMI_CSTAR_MULTITAP_PHONETIC_INPUT__) || defined(__MMI_ITAP_MULTITAP_PHONETIC_INPUT__)    //KP Jerry add "__MMI_CSTAR_XXX__" on 2007-4-18
  2426.             case INPUT_MODE_SM_MULTITAP_PINYIN:
  2427.                 preFuncPtrs[j] = wgui_change_inputbox_mode_sm_multitap_pinyin;
  2428.                 break;
  2429.         #endif /* defined(__MMI_T9_MULTITAP_PHONETIC_INPUT__) || defined(__MMI_ZI_MULTITAP_PHONETIC_INPUT__) || defined(__MMI_CSTAR_MULTITAP_PHONETIC_INPUT__) || defined(__MMI_ITAP_MULTITAP_PHONETIC_INPUT__) */     //KP Jerry add "__MMI_CSTAR_XXX__" on 2007-4-18
  2430.         #if defined(__MMI_T9_SMART_PHONETIC_INPUT__) || defined(__MMI_ZI_SMART_PHONETIC_INPUT__) || defined(__MMI_CSTAR_SMART_PHONETIC_INPUT__) || defined(__MMI_ITAP_SMART_PHONETIC_INPUT__)    //KP Jerry add "__MMI_CSTAR_XXX__" on 2007-4-18
  2431.             case INPUT_MODE_SM_PINYIN:
  2432.                 preFuncPtrs[j] = wgui_change_inputbox_mode_sm_pinyin;
  2433.                 break;
  2434.         #endif /* defined(__MMI_T9_SMART_PHONETIC_INPUT__) || defined(__MMI_ZI_SMART_PHONETIC_INPUT__) || defined(__MMI_CSTAR_SMART_PHONETIC_INPUT__) || defined(__MMI_ITAP_SMART_PHONETIC_INPUT__) */     //KP Jerry add "__MMI_CSTAR_XXX__" on 2007-4-18
  2435.             case INPUT_MODE_SM_STROKE:
  2436.                 preFuncPtrs[j] = wgui_change_inputbox_mode_sm_stroke;
  2437.                 break;
  2438.         #endif /* defined(__MMI_T9_SM_CHINESE__) || defined(__MMI_ZI_SM_CHINESE__) || defined(__MMI_CSTAR_SM_CHINESE__) || defined(__MMI_ITAP_SM_CHINESE__) */     //KP Jerry add "__MMI_CSTAR_XXX__" on 2007-4-18
  2439.         #if defined(__MMI_KA__)
  2440.             case INPUT_MODE_SM_PINYIN:
  2441.                 preFuncPtrs[j] = wgui_change_inputbox_mode_sm_pinyin;
  2442.                 break;
  2443.             case INPUT_MODE_SM_STROKE:
  2444.                 preFuncPtrs[j] = wgui_change_inputbox_mode_sm_stroke;
  2445.                 break;
  2446.         #endif /* defined(__MMI_KA__) */ 
  2447.         #if defined(__MMI_WCSS_INPUT_FORMAT_SUPPORT__)
  2448.             case INPUT_MODE_MULTITAP_UPPERCASE_ABC_NO_NUMERIC:
  2449.             case INPUT_MODE_MULTITAP_LOWERCASE_ABC_NO_NUMERIC:
  2450.             case INPUT_MODE_123_SYMBOLS:
  2451.         #endif /* defined(__MMI_WCSS_INPUT_FORMAT_SUPPORT__) */ 
  2452.             case (0xff):
  2453.                 break;
  2454.             default:
  2455.                 if (AP_required)
  2456.                 {
  2457.                     i++;
  2458.                     if (MMI_AP_required_input_mode_set[i - 1] == -1 || MMI_AP_required_input_mode_set[i] == -1)
  2459.                     {
  2460.                         ExitFlag = 1;
  2461.                         break;
  2462.                     }
  2463.                     continue;
  2464.                 }
  2465.                 else
  2466.                 {
  2467.                     MMI_ASSERT(0);
  2468.                 }
  2469.         }
  2470.         if (AP_required)
  2471.         {
  2472.             if (MMI_AP_required_input_mode_set[i] != -1 && ExitFlag != MMI_TRUE)
  2473.             {
  2474.                 postPtrs[j] = InputMethodScreenCloseFunction;
  2475.                 i++;
  2476.                 j++;
  2477.                 if (MMI_AP_required_input_mode_set[i] == -1)
  2478.                 {
  2479.                     break;
  2480.                 }
  2481.             }
  2482.             else
  2483.             {
  2484.                 break;
  2485.             }
  2486.         }
  2487.         else
  2488.         {
  2489.             if ((0xff) != IMEModeArray[i].IME_Mode_ID
  2490.         #if defined(__MMI_WCSS_INPUT_FORMAT_SUPPORT__)
  2491.                 && INPUT_MODE_MULTITAP_UPPERCASE_ABC_NO_NUMERIC != IMEModeArray[i].IME_Mode_ID
  2492.                 && INPUT_MODE_MULTITAP_LOWERCASE_ABC_NO_NUMERIC != IMEModeArray[i].IME_Mode_ID
  2493.                 && INPUT_MODE_123_SYMBOLS != IMEModeArray[i].IME_Mode_ID
  2494.         #endif /* defined(__MMI_WCSS_INPUT_FORMAT_SUPPORT__) */ 
  2495.                 )
  2496.             {
  2497.                 if (MMI_TRUE == EnglishOnly)
  2498.                 {
  2499.                     if (IMEModeArray[i].English_Only_Flag)
  2500.                     {
  2501.                         postPtrs[j] = InputMethodScreenCloseFunction;
  2502.                         j++;
  2503.                     }
  2504.                     i++;
  2505.                 }
  2506.                 else
  2507.                 {
  2508.                     postPtrs[j] = InputMethodScreenCloseFunction;
  2509.                     i++;
  2510.                     j++;
  2511.                 }
  2512.             }
  2513.             else
  2514.             {
  2515.                 break;
  2516.             }
  2517.         }
  2518.     }
  2519.     /* PMT LANGUAGE START 20051221 */
  2520. //PMT START PERSIAN
  2521. #if defined __MMI_LANG_HINDI__ && (defined __MMI_LANG_ARABIC__ || defined __MMI_LANG_PERSIAN__)
  2522. //PMT END PERSIAN
  2523.     if (HINDI_PRESENT || ARABIC_PRESENT)
  2524.     {
  2525.         return j - 2;
  2526.     }
  2527.     else
  2528. #endif /* defined __MMI_LANG_HINDI__ && defined __MMI_LANG_ARABIC__ */ 
  2529.         /* PMT LANGUAGE END 20051221 */
  2530.         return j;
  2531. }
  2532. /*****************************************************************************
  2533.  * FUNCTION
  2534.  *  APRequiredInputMethodScreenHandleLSK
  2535.  * DESCRIPTION
  2536.  *  
  2537.  * PARAMETERS
  2538.  *  void
  2539.  * RETURNS
  2540.  *  void
  2541.  *****************************************************************************/
  2542. void APRequiredInputMethodScreenHandleLSK(void)
  2543. {
  2544.     /*----------------------------------------------------------------*/
  2545.     /* Local Variables                                                */
  2546.     /*----------------------------------------------------------------*/
  2547.     U32 i;
  2548.     FuncPtr currPreFuncPtr = NULL;
  2549.     FuncPtr currPostFuncPtr = NULL;
  2550.     S32 index = GetHighlightedItem();
  2551.     /*----------------------------------------------------------------*/
  2552.     /* Code Body                                                      */
  2553.     /*----------------------------------------------------------------*/
  2554.     /* MTK Elvis multitap phonetic input mode */
  2555.     i = 0;
  2556.     i = InputMethodSetKeyHandler(
  2557.             preHandleInputMethodLSKFuncPtrs,
  2558.             postHandleInputMethodLSKFuncPtrs,
  2559.             gIMEModeArray,
  2560.             MMI_FALSE,
  2561.             MMI_TRUE);
  2562. #if !defined(__MMI_TOUCH_SCREEN__)
  2563.     postHandleInputMethodLSKFuncPtrs[i] = UI_dummy_function;
  2564.     preHandleInputMethodLSKFuncPtrs[i++] = EntrySymbolPickerScreenFromMenuList;
  2565. #endif /* !defined(__MMI_TOUCH_SCREEN__) */ 
  2566.     currPreFuncPtr = preHandleInputMethodLSKFuncPtrs[index];
  2567.     currPostFuncPtr = postHandleInputMethodLSKFuncPtrs[index];
  2568.     /* PMT LANGUAGE START 20051221 */
  2569.     /* PMT START PERSIAN */
  2570. #if defined __MMI_LANG_HINDI__ && (defined __MMI_LANG_ARABIC__ || defined __MMI_LANG_PERSIAN__)
  2571.     /* PMT END PERSIAN */
  2572.     if (HINDI_PRESENT)
  2573.     {
  2574.         /* PMT START LANGUAGE 20060104 */
  2575.     #if defined(__MMI_MULTITAP_ARABIC__)
  2576.         if (currPreFuncPtr == wgui_change_inputbox_mode_multitap_arabic)
  2577.         {
  2578.             index++;
  2579.             currPreFuncPtr = preHandleInputMethodLSKFuncPtrs[index];
  2580.             currPostFuncPtr = postHandleInputMethodLSKFuncPtrs[index];
  2581.         }
  2582.         else
  2583.             /* PMT START PERSIAN */
  2584.     #elif defined(__MMI_MULTITAP_PERSIAN__)
  2585.         if (currPreFuncPtr == wgui_change_inputbox_mode_multitap_persian)
  2586.         {
  2587.             index++;
  2588.             currPreFuncPtr = preHandleInputMethodLSKFuncPtrs[index];
  2589.             currPostFuncPtr = postHandleInputMethodLSKFuncPtrs[index];
  2590.         }
  2591.         else
  2592.     #endif 
  2593.             /* PMT END PERSIAN */
  2594.         if (currPreFuncPtr == wgui_change_inputbox_mode_multitap_HINDI)
  2595.             /* PMT END LANGUAGE 20060104 */
  2596.         {
  2597.             index += 2;
  2598.             currPreFuncPtr = preHandleInputMethodLSKFuncPtrs[index];
  2599.             currPostFuncPtr = postHandleInputMethodLSKFuncPtrs[index];
  2600.         }
  2601.     }
  2602. #endif /* defined __MMI_LANG_HINDI__ && (defined __MMI_LANG_ARABIC__ || defined __MMI_LANG_PERSIAN__) */ 
  2603.     /* PMT LANGUAGE END 20051221 */
  2604.     if (currPreFuncPtr != NULL)
  2605.     {
  2606.         (*currPreFuncPtr) ();
  2607.     }
  2608.     if (currPostFuncPtr != NULL)
  2609.     {
  2610.         (*currPostFuncPtr) ();
  2611.     }
  2612. }
  2613. /*****************************************************************************
  2614.  * FUNCTION
  2615.  *  InputMethodScreenHandleLSK
  2616.  * DESCRIPTION
  2617.  *  
  2618.  * PARAMETERS
  2619.  *  void
  2620.  * RETURNS
  2621.  *  void
  2622.  *****************************************************************************/
  2623. void InputMethodScreenHandleLSK(void)
  2624. {
  2625.     /*----------------------------------------------------------------*/
  2626.     /* Local Variables                                                */
  2627.     /*----------------------------------------------------------------*/
  2628.     U32 i;
  2629.     FuncPtr currPreFuncPtr = NULL;
  2630.     FuncPtr currPostFuncPtr = NULL;
  2631.     S32 index = GetHighlightedItem();
  2632.     /*----------------------------------------------------------------*/
  2633.     /* Code Body                                                      */
  2634.     /*----------------------------------------------------------------*/
  2635.     /* MTK Elvis multitap phonetic input mode */
  2636.     i = 0;
  2637.     i = InputMethodSetKeyHandler(
  2638.             preHandleInputMethodLSKFuncPtrs,
  2639.             postHandleInputMethodLSKFuncPtrs,
  2640.             gIMEModeArray,
  2641.             MMI_FALSE,
  2642.             MMI_FALSE);
  2643. #if !defined(__MMI_TOUCH_SCREEN__)
  2644.     postHandleInputMethodLSKFuncPtrs[i] = UI_dummy_function;
  2645.     preHandleInputMethodLSKFuncPtrs[i++] = EntrySymbolPickerScreenFromMenuList;
  2646. #endif /* !defined(__MMI_TOUCH_SCREEN__) */ 
  2647.     currPreFuncPtr = preHandleInputMethodLSKFuncPtrs[index];
  2648.     currPostFuncPtr = postHandleInputMethodLSKFuncPtrs[index];
  2649.     /* PMT LANGUAGE START 20051221 */
  2650. #if defined __MMI_LANG_HINDI__ && defined __MMI_LANG_ARABIC__
  2651.     if (HINDI_PRESENT)
  2652.     {
  2653.         /* PMT START LANGUAGE 20060104 */
  2654.     #if defined(__MMI_MULTITAP_ARABIC__)
  2655.         if (currPreFuncPtr == wgui_change_inputbox_mode_multitap_arabic)
  2656.         {
  2657.             index++;
  2658.             currPreFuncPtr = preHandleInputMethodLSKFuncPtrs[index];
  2659.             currPostFuncPtr = postHandleInputMethodLSKFuncPtrs[index];
  2660.         }
  2661.         else
  2662.     #endif /* defined(__MMI_MULTITAP_ARABIC__) */ 
  2663.         if (currPreFuncPtr == wgui_change_inputbox_mode_multitap_HINDI)
  2664.             /* PMT END LANGUAGE 20060104 */
  2665.         {
  2666.             index += 2;
  2667.             currPreFuncPtr = preHandleInputMethodLSKFuncPtrs[index];
  2668.             currPostFuncPtr = postHandleInputMethodLSKFuncPtrs[index];
  2669.         }
  2670.     }
  2671. #endif /* defined __MMI_LANG_HINDI__ && defined __MMI_LANG_ARABIC__ */ 
  2672.     /* PMT LANGUAGE END 20051221 */
  2673.     if (currPreFuncPtr != NULL)
  2674.     {
  2675.         (*currPreFuncPtr) ();
  2676.     }
  2677.     if (currPostFuncPtr != NULL)
  2678.     {
  2679.         (*currPostFuncPtr) ();
  2680.     }
  2681. }
  2682. /*****************************************************************************
  2683.  * FUNCTION
  2684.  *  InputMethodScreenEnglishOnlyHandleLSK
  2685.  * DESCRIPTION
  2686.  *  
  2687.  * PARAMETERS
  2688.  *  void
  2689.  * RETURNS
  2690.  *  void
  2691.  *****************************************************************************/
  2692. void InputMethodScreenEnglishOnlyHandleLSK(void)
  2693. {
  2694.     /*----------------------------------------------------------------*/
  2695.     /* Local Variables                                                */
  2696.     /*----------------------------------------------------------------*/
  2697.     U32 i;
  2698.     FuncPtr currPreFuncPtr = NULL;
  2699.     FuncPtr currPostFuncPtr = NULL;
  2700.     S32 index = GetHighlightedItem();
  2701.     /*----------------------------------------------------------------*/
  2702.     /* Code Body                                                      */
  2703.     /*----------------------------------------------------------------*/
  2704.     /* MTK Elvis multitap phonetic input mode */
  2705.     i = 0;
  2706.     i = InputMethodSetKeyHandler(
  2707.             preHandleInputMethodLSKFuncPtrs,
  2708.             postHandleInputMethodLSKFuncPtrs,
  2709.             gIMEModeArray,