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

MTK

开发平台:

C/C++

  1.     {0x0637, 0x0638, 0x0639, 0x063A, 0x0034, ''},
  2.     {0x0633, 0x0634, 0x0635, 0x0636, 0x0035, ''},
  3.     {0x062F, 0x0630, 0x0631, 0x0632, 0x0698, 0x0036, ''},
  4.     {0x0648, 0x0624, 0x0649, 0x064A, 0x0626, 0x0621, 0x06CC, 0x0037, ''},
  5.     {0x0645, 0x0646, 0x0647, 0x0629, 0x0038, ''},
  6.     {0x0641, 0x0642, 0x0643, 0x0644, 0x06A9, 0x06AF, 0x0039, ''},
  7.  #if !defined(__MMI_MULTITAP_FOR_STAR_AND_POUND__)
  8.  #else /* !defined(__MMI_MULTITAP_FOR_STAR_AND_POUND__) */ 
  9.     {''},
  10.     {''},
  11.  #endif /* !defined(__MMI_MULTITAP_FOR_STAR_AND_POUND__) */ 
  12. };
  13. #endif /* defined(__MMI_MULTITAP_PERSIAN__) */ 
  14. /* PMT END PERSIAN */
  15. #if defined(__MMI_MULTITAP_NORWEGIAN__)
  16. const UI_character_type default_norwegian_uppercase_multitap_strings[MAX_MULTITAPS][32] = 
  17. {
  18.     {' ', '0', ''},
  19.     {'.', ',', '-', '?', '!', ''', '@', ':', '1', ')', '(', ';', '*', ''},
  20.     {'A', 'B', 'C', 0x00C5, 0x00C6, 0x00C1, 0x00C0, 0x00C4, '2', ''},
  21.     {'D', 'E', 'F', 0x00C9, 0x00C8, '3', ''},
  22.     {'G', 'H', 'I', '4', ''},
  23.     {'J', 'K', 'L', '5', ''},
  24.     {'M', 'N', 'O', 0x00D8, 0x00D3, 0x00D2, 0x00D4, 0x00D6, '6', ''},
  25.     {'P', 'Q', 'R', 'S', '7', ''},
  26.     {'T', 'U', 'V', 0x00DC, '8', ''},
  27.     {'W', 'X', 'Y', 'Z', '9', ''},
  28. #if !defined(__MMI_MULTITAP_FOR_STAR_AND_POUND__)
  29. #else /* !defined(__MMI_MULTITAP_FOR_STAR_AND_POUND__) */ 
  30.     {''},
  31.     {''},
  32. #endif /* !defined(__MMI_MULTITAP_FOR_STAR_AND_POUND__) */ 
  33. };
  34. const UI_character_type default_norwegian_lowercase_multitap_strings[MAX_MULTITAPS][32] = 
  35. {
  36.     {' ', '0', ''},
  37.     {'.', ',', '-', '?', '!', ''', '@', ':', '1', ')', '(', ';', '*', ''},
  38.     {'a', 'b', 'c', 0x00E5, 0x00E6, 0x00E1, 0x00E0, 0x00E4, '2', ''},
  39.     {'d', 'e', 'f', 0x00E9, 0x00E8, '3', ''},
  40.     {'g', 'h', 'i', '4', ''},
  41.     {'j', 'k', 'l', '5', ''},
  42.     {'m', 'n', 'o', 0x00F8, 0x00F3, 0x00F2, 0x00F4, 0x00F6, '6', ''},
  43.     {'p', 'q', 'r', 's', 0x00DF, '7', ''},
  44.     {'t', 'u', 'v', 0x00FC, '8', ''},
  45.     {'w', 'x', 'y', 'z', '9', ''},
  46. #if !defined(__MMI_MULTITAP_FOR_STAR_AND_POUND__)
  47. #else /* !defined(__MMI_MULTITAP_FOR_STAR_AND_POUND__) */ 
  48.     {''},
  49.     {''},
  50. #endif /* !defined(__MMI_MULTITAP_FOR_STAR_AND_POUND__) */ 
  51. };
  52. #endif /* defined(__MMI_MULTITAP_NORWEGIAN__) */ 
  53. //Norwegian end
  54. #if defined(__MMI_MULTITAP_SWEDISH__)
  55. const UI_character_type default_swedish_uppercase_multitap_strings[MAX_MULTITAPS][32] = 
  56. {
  57.     /* {' ','0','.',',','+','*','-','=',':',';',''','"',''}, */
  58.     {' ', '0', ''},
  59.     // {'1','@','!','?','#','$','/','_'/*MTK*/,''},
  60.     {'.', ',', '-', '?', '!', ''', '@', ':', '#', '$', '/', '_', '1', ''},
  61.     {'A', 'B', 'C', '2', 0x00C4, 0x00C5, ''},
  62.     {'D', 'E', 'F', '3', 0x00C9, ''},
  63.     {'G', 'H', 'I', '4', ''},
  64.     {'J', 'K', 'L', '5', ''},
  65.     {'M', 'N', 'O', '6', 0x00D6, ''},
  66.     {'P', 'Q', 'R', 'S', '7', ''},
  67.     {'T', 'U', 'V', '8', 0x00DC, ''},
  68.     {'W', 'X', 'Y', 'Z', '9', ''},
  69. #if !defined(__MMI_MULTITAP_FOR_STAR_AND_POUND__)
  70. #else /* !defined(__MMI_MULTITAP_FOR_STAR_AND_POUND__) */ 
  71.     {''},
  72.     {''},
  73. #endif /* !defined(__MMI_MULTITAP_FOR_STAR_AND_POUND__) */ 
  74. };
  75. const UI_character_type default_swedish_lowercase_multitap_strings[MAX_MULTITAPS][32] = 
  76. {
  77.     /* {' ','0','.',',','+','*','-','=',':',';',''','"',''}, */
  78.     {' ', '0', ''},
  79.     // {'1','@','!','?','#','$','/','_'/*MTK*/,''},
  80.     {'.', ',', '-', '?', '!', ''', '@', ':', '#', '$', '/', '_', '1', ''},
  81.     {'a', 'b', 'c', '2', 0x00E4, 0x00E5, ''},
  82.     {'d', 'e', 'f', '3', 0x00E9, ''},
  83.     {'g', 'h', 'i', '4', ''},
  84.     {'j', 'k', 'l', '5', ''},
  85.     {'m', 'n', 'o', '6', 0x00F6, ''},
  86.     {'p', 'q', 'r', 's', '7', 0x00DF, ''},
  87.     {'t', 'u', 'v', '8', 0x00FC, ''},
  88.     {'w', 'x', 'y', 'z', '9', ''},
  89. #if !defined(__MMI_MULTITAP_FOR_STAR_AND_POUND__)
  90. #else /* !defined(__MMI_MULTITAP_FOR_STAR_AND_POUND__) */ 
  91.     {''},
  92.     {''},
  93. #endif /* !defined(__MMI_MULTITAP_FOR_STAR_AND_POUND__) */ 
  94. };
  95. #endif /* defined(__MMI_MULTITAP_SWEDISH__) */ 
  96. #if defined(__MMI_MULTITAP_CROATIAN__)
  97. const UI_character_type default_croatian_uppercase_multitap_strings[MAX_MULTITAPS][32] = 
  98. {
  99.     /* {' ','0','.',',','+','*','-','=',':',';',''','"',''}, */
  100.     {' ', '0', ''},
  101.     // {'1','@','!','?','#','$','/','_'/*MTK*/,''},
  102.     {'.', ',', '-', '?', '!', ''', '@', ':', '#', '$', '/', '_', '1', ')', '(', ';', '*', ''},
  103.     {'A', 'B', 'C', '2', 0x010c, 0x0106, ''},
  104.     {'D', 'E', 'F', '3', 0x0110, ''},
  105.     {'G', 'H', 'I', '4', ''},
  106.     {'J', 'K', 'L', '5', ''},
  107.     {'M', 'N', 'O', '6', ''},
  108.     {'P', 'Q', 'R', 'S', '7', 0x0160, ''},
  109.     {'T', 'U', 'V', '8', ''},
  110.     {'W', 'X', 'Y', 'Z', '9', 0x017d, ''},
  111. #if !defined(__MMI_MULTITAP_FOR_STAR_AND_POUND__)
  112. #else /* !defined(__MMI_MULTITAP_FOR_STAR_AND_POUND__) */ 
  113.     {''},
  114.     {''},
  115. #endif /* !defined(__MMI_MULTITAP_FOR_STAR_AND_POUND__) */ 
  116. };
  117. const UI_character_type default_croatian_lowercase_multitap_strings[MAX_MULTITAPS][32] = 
  118. {
  119.     /* {' ','0','.',',','+','*','-','=',':',';',''','"',''}, */
  120.     {' ', '0', ''},
  121.     // {'1','@','!','?','#','$','/','_'/*MTK*/,''},
  122.     {'.', ',', '-', '?', '!', ''', '@', ':', '#', '$', '/', '_', '1', ')', '(', ';', '*', ''},
  123.     {'a', 'b', 'c', '2', 0x010d, 0x0107, ''},
  124.     {'d', 'e', 'f', '3', 0x0111, ''},
  125.     {'g', 'h', 'i', '4', ''},
  126.     {'j', 'k', 'l', '5', ''},
  127.     {'m', 'n', 'o', '6', ''},
  128.     {'p', 'q', 'r', 's', '7', 0x0161, ''},
  129.     {'t', 'u', 'v', '8', ''},
  130.     {'w', 'x', 'y', 'z', '9', 0x017e, ''},
  131. #if !defined(__MMI_MULTITAP_FOR_STAR_AND_POUND__)
  132. #else /* !defined(__MMI_MULTITAP_FOR_STAR_AND_POUND__) */ 
  133.     {''},
  134.     {''},
  135. #endif /* !defined(__MMI_MULTITAP_FOR_STAR_AND_POUND__) */ 
  136. };
  137. #endif /* defined(__MMI_MULTITAP_CROATIAN__) */ 
  138. #if defined(__MMI_MULTITAP_ROMANIAN__)
  139. const UI_character_type default_romanian_uppercase_multitap_strings[MAX_MULTITAPS][32] = 
  140. {
  141.     //{' ','0','.',',','+','*','-','=',':',';',''','"',''},
  142.     {' ', '0', ''},
  143.     //{'1','@','!','?','#','$','/','_'/*MTK*/,''},
  144.     {'.', ',', '-', '?', '!', ''', '@', ':', '#', '$', '/', '_', '1', ')', '(', ';', '*', ''},
  145.     {'A', 'B', 'C', '2', 0x0102, 0x00C2, 0x00C1, 0x00C4, ''},
  146.     {'D', 'E', 'F', '3', 0x00C9, ''},
  147.     {'G', 'H', 'I', '4', 0x00CE, 0x00CD, ''},
  148.     {'J', 'K', 'L', '5', ''},
  149.     {'M', 'N', 'O', '6', 0x00D3, 0x00D6, 0x0150, ''},
  150.     {'P', 'Q', 'R', 'S', '7', 0x015E, ''},
  151.     {'T', 'U', 'V', '8', 0x0162, 0x00DA, 0x00DC, 0x0170, ''},
  152.     {'W', 'X', 'Y', 'Z', '9', ''},
  153. #if !defined(__MMI_MULTITAP_FOR_STAR_AND_POUND__)
  154. #else /* !defined(__MMI_MULTITAP_FOR_STAR_AND_POUND__) */ 
  155.     {''},
  156.     {''},
  157. #endif /* !defined(__MMI_MULTITAP_FOR_STAR_AND_POUND__) */ 
  158. };
  159. const UI_character_type default_romanian_lowercase_multitap_strings[MAX_MULTITAPS][32] = 
  160. {
  161.     //{' ','0','.',',','+','*','-','=',':',';',''','"',''},
  162.     {' ', '0', ''},
  163.     //{'1','@','!','?','#','$','/','_'/*MTK*/,''},
  164.     {'.', ',', '-', '?', '!', ''', '@', ':', '#', '$', '/', '_', '1', ')', '(', ';', '*', ''},
  165.     {'a', 'b', 'c', '2', 0x0103, 0x00E2, 0x00E1, 0x00E4, ''},
  166.     {'d', 'e', 'f', '3', 0x00E9, ''},
  167.     {'g', 'h', 'i', '4', 0x00EE, 0x00ED, ''},
  168.     {'j', 'k', 'l', '5', ''},
  169.     {'m', 'n', 'o', '6', 0x00F3, 0x00F6, 0x0151, ''},
  170.     {'p', 'q', 'r', 's', '7', 0x015F, 0x00DF, ''},
  171.     {'t', 'u', 'v', '8', 0x0163, 0x00FA, 0x00FC, 0x0171, ''},
  172.     {'w', 'x', 'y', 'z', '9', ''},
  173. #if !defined(__MMI_MULTITAP_FOR_STAR_AND_POUND__)
  174. #else /* !defined(__MMI_MULTITAP_FOR_STAR_AND_POUND__) */ 
  175.     {''},
  176.     {''},
  177. #endif /* !defined(__MMI_MULTITAP_FOR_STAR_AND_POUND__) */ 
  178. };
  179. #endif /* defined(__MMI_MULTITAP_ROMANIAN__) */ 
  180. #if defined(__MMI_MULTITAP_SLOVENIAN__)
  181. const UI_character_type default_slovenian_uppercase_multitap_strings[MAX_MULTITAPS][32] = 
  182. {
  183.     /* {' ','0','.',',','+','*','-','=',':',';',''','"',''}, */
  184.     {' ', '0', ''},
  185.     // {'1','@','!','?','#','$','/','_'/*MTK*/,''},
  186.     {'.', ',', '-', '?', '!', ''', '@', ':', '1', ')', '(', ';', '*', ''},
  187.     {'A', 'B', 'C', '2', 0x010C, 0x0106, 0x00C1, 0x00C4, ''},
  188.     {'D', 'E', 'F', '3', 0x0110, 0x00C9, ''},
  189.     {'G', 'H', 'I', '4', 0x00CD, ''},
  190.     {'J', 'K', 'L', '5', ''},
  191.     {'M', 'N', 'O', '6', 0x00D3, 0x00D6, 0x0150, 0x00D4, ''},
  192.     {'P', 'Q', 'R', 'S', '7', 0x0160, ''},
  193.     {'T', 'U', 'V', '8', 0x00DA, 0x00DC, 0x0170, ''},
  194.     {'W', 'X', 'Y', 'Z', '9', 0x017D, ''},
  195. #if !defined(__MMI_MULTITAP_FOR_STAR_AND_POUND__)
  196. #else /* !defined(__MMI_MULTITAP_FOR_STAR_AND_POUND__) */ 
  197.     {''},
  198.     {''},
  199. #endif /* !defined(__MMI_MULTITAP_FOR_STAR_AND_POUND__) */ 
  200. };
  201. const UI_character_type default_slovenian_lowercase_multitap_strings[MAX_MULTITAPS][32] = 
  202. {
  203.     /* {' ','0','.',',','+','*','-','=',':',';',''','"',''}, */
  204.     {' ', '0', ''},
  205.     // {'1','@','!','?','#','$','/','_'/*MTK*/,''},
  206.     {'.', ',', '-', '?', '!', ''', '@', ':', '1', ')', '(', ';', '*', ''},
  207.     {'a', 'b', 'c', '2', 0x010D, 0x0107, 0x00E1, 0x00E4, ''},
  208.     {'d', 'e', 'f', '3', 0x0111, 0x00E9, ''},
  209.     {'g', 'h', 'i', '4', 0x00ED, ''},
  210.     {'j', 'k', 'l', '5', ''},
  211.     {'m', 'n', 'o', '6', 0x00F3, 0x00F6, 0x0151, 0x00F4, ''},
  212.     {'p', 'q', 'r', 's', '7', 0x0161, 0x00DF, ''},
  213.     {'t', 'u', 'v', '8', 0x00FA, 0x00FC, 0x0171, ''},
  214.     {'w', 'x', 'y', 'z', '9', 0x017E, ''},
  215. #if !defined(__MMI_MULTITAP_FOR_STAR_AND_POUND__)
  216. #else /* !defined(__MMI_MULTITAP_FOR_STAR_AND_POUND__) */ 
  217.     {''},
  218.     {''},
  219. #endif /* !defined(__MMI_MULTITAP_FOR_STAR_AND_POUND__) */ 
  220. };
  221. #endif /* defined(__MMI_MULTITAP_SLOVENIAN__) */ 
  222. #if defined(__MMI_MULTITAP_GREEK__)
  223. const UI_character_type default_greek_uppercase_multitap_strings[MAX_MULTITAPS][32] = 
  224. {
  225.     /* {' ','0','.',',','+','*','-','=',':',';',''','"',''}, */
  226.     {' ', '0', ''},
  227.     //{'1','@','!','?','#','$','/','_'/*MTK*/,''},
  228.     {'.', ',', '-', '?', '!', ''', '@', ':', '#', '$', '/', '_', '1', ';', '(', ')', '*', ''},
  229.     {'A', 'B', 'C', '2', 0x03b1, 0x03b2, 0x03ac, 0x03b3, ''},
  230.     {'D', 'E', 'F', '3', 0x03b4, 0x03b5, 0x03b6, 0x03ad, ''},
  231.     {'G', 'H', 'I', '4', 0x03b7, 0x03b8, 0x03b9, 0x03ae, 0x03af, 0x03ca, 0x0390, ''},
  232.     {'J', 'K', 'L', '5', 0x03ba, 0x03bb, 0x03bc, ''},
  233.     {'M', 'N', 'O', '6', 0x03bd, 0x03be, 0x03bf, 0x03cc, ''},
  234.     {'P', 'Q', 'R', 'S', '7', 0x03c0, 0x03c1, 0x03c3, 0x03c2, ''},
  235.     {'T', 'U', 'V', '8', 0x03c4, 0x03c5, 0x03c6, 0x03cd, 0x03cb, 0x03b0, ''},
  236.     {'W', 'X', 'Y', 'Z', '9', 0x03c7, 0x03c8, 0x03c9, 0x03ce, ''},
  237. #if !defined(__MMI_MULTITAP_FOR_STAR_AND_POUND__)
  238. #else /* !defined(__MMI_MULTITAP_FOR_STAR_AND_POUND__) */ 
  239.     {''},
  240.     {''},
  241. #endif /* !defined(__MMI_MULTITAP_FOR_STAR_AND_POUND__) */ 
  242. };
  243. const UI_character_type default_greek_lowercase_multitap_strings[MAX_MULTITAPS][32] = 
  244. {
  245.     /* {' ','0','.',',','+','*','-','=',':',';',''','"',''}, */
  246.     {' ', '0', ''},
  247.     //{'1','@','!','?','#','$','/','_'/*MTK*/,''},
  248.     {'.', ',', '-', '?', '!', ''', '@', ':', '#', '$', '/', '_', '1', ';', '(', ')', '*', ''},
  249.     {'a', 'b', 'c', '2', 0x03b1, 0x03b2, 0x03ac, 0x03b3, ''},
  250.     {'d', 'e', 'f', '3', 0x03b4, 0x03b5, 0x03b6, 0x03ad, ''},
  251.     {'g', 'h', 'i', '4', 0x03b7, 0x03b8, 0x03b9, 0x03ae, 0x03af, 0x03ca, 0x0390, ''},
  252.     {'j', 'k', 'l', '5', 0x03ba, 0x03bb, 0x03bc, ''},
  253.     {'m', 'n', 'o', '6', 0x03bd, 0x03be, 0x03bf, 0x03cc, ''},
  254.     {'p', 'q', 'r', 's', '7', 0x03c0, 0x03c1, 0x03c3, 0x03c2, ''},
  255.     {'t', 'u', 'v', '8', 0x03c4, 0x03c5, 0x03c6, 0x03cd, 0x03cb, 0x03b0, ''},
  256.     {'w', 'x', 'y', 'z', '9', 0x03c7, 0x03c8, 0x03c9, 0x03ce, ''},
  257. #if !defined(__MMI_MULTITAP_FOR_STAR_AND_POUND__)
  258. #else /* !defined(__MMI_MULTITAP_FOR_STAR_AND_POUND__) */ 
  259.     {''},
  260.     {''},
  261. #endif /* !defined(__MMI_MULTITAP_FOR_STAR_AND_POUND__) */ 
  262. };
  263. #endif /* defined(__MMI_MULTITAP_GREEK__) */ 
  264. #if defined(__MMI_MULTITAP_HEBREW__)
  265. const UI_character_type default_hebrew_multitap_strings[MAX_MULTITAPS][32] = 
  266. {
  267.     {' ', '0', ''},
  268.     {'.', ',', '-', '?', '!', ''', '@', ':', '1', ';', '(', ')', '*', ''},
  269.     //      {0x002E, 0x002c, 0x002d, 0x003f, 0x0021, 0x0027, 0x0022, 0x003A, 0x0031,   ''},
  270.     {0x05d3, 0x05d4, 0x05d5, 0x0032, ''},
  271.     {0x05d0, 0x05d1, 0x05d2, 0x0033, ''},
  272.     {0x05de, 0x05dd, 0x05e0, 0x05df, 0x0034, ''},
  273.     {0x05d9, 0x05db, 0x05da, 0x05dc, 0x0035, ''},
  274.     {0x05d6, 0x05d7, 0x05d8, 0x0036, ''},
  275.     {0x05e8, 0x05e9, 0x05ea, 0x0037, ''},
  276.     {0x05e6, 0x05e5, 0x05e7, 0x0038, ''},
  277.     {0x05e1, 0x05e2, 0x05e4, 0x05e3, 0x0039, ''},
  278. #if !defined(__MMI_MULTITAP_FOR_STAR_AND_POUND__)
  279. #else /* !defined(__MMI_MULTITAP_FOR_STAR_AND_POUND__) */ 
  280.     {''},
  281.     {''},
  282. #endif /* !defined(__MMI_MULTITAP_FOR_STAR_AND_POUND__) */ 
  283. };
  284. #endif /* defined(__MMI_MULTITAP_HEBREW__) */ 
  285. //MTK Elvis modify for stacked character--thai
  286. const UI_character_type default_thai_multitap_strings[MAX_MULTITAPS][32] = 
  287. {
  288.     /* key0 */ {0x0E50, 0x0030, ''},
  289.     /* key1 */ {0x0E51, 0x0E01, 0x0E02, 0x0E04, 0x0E06, 0x0E07, 0x0E08, 0x0E30, 0x0E31, 0x0031, ''},
  290.     /* key2 */ {0x0E09, 0x0E0A, 0x0E0B, 0x0E0C, 0x0E0D, 0x0E32, 0x0E33, 0x0E45, 0x0E52, 0x0032, ''},
  291.     /* key3 */ {0x0E0E, 0x0E0F, 0x0E10, 0x0E11, 0x0E12, 0x0E13, 0x0E34, 0x0E35, 0x0E53, 0x0033, ''},
  292.     /* key4 */ {0x0E14, 0x0E15, 0x0E16, 0x0E17, 0x0E18, 0x0E19, 0x0E36, 0x0E37, 0x0E54, 0x0034, ''},
  293.     /* key5 */ {0x0E48, 0x0E49, 0x0E4A, 0x0E4B, 0x0E47, 0x0E4C, 0x0E55, 0x0035, ''},
  294.     /* key6 */ {0x0E1A, 0x0E1B, 0x0E1C, 0x0E1D, 0x0E1E, 0x0E1F, 0x0E38, 0x0E39, 0x0E56, 0x0036, ''},
  295.     /* key7 */ {0x0E20, 0x0E21, 0x0E22, 0x0E23, 0x0E24, 0x0E25, 0x0E40, 0x0E41, 0x0E57, 0x0037, ''},
  296.     /* key8 */ {0x0E27, 0x0E28, 0x0E29, 0x0E2A, 0x0E42, 0x0E46, 0x0E58, 0x0038, ''},
  297.     /* key9 */ {0x0E2B, 0x0E2C, 0x0E2D, 0x0E2E, 0x0E43, 0x0E44, 0x0E59, 0x0039, ''},
  298. #if !defined(__MMI_MULTITAP_FOR_STAR_AND_POUND__)
  299. #else /* !defined(__MMI_MULTITAP_FOR_STAR_AND_POUND__) */ 
  300.     {''},
  301.     {''},
  302. #endif /* !defined(__MMI_MULTITAP_FOR_STAR_AND_POUND__) */ 
  303. };
  304. /* MTK end */
  305. const UI_character_type numberless_uppercase_multitap_strings[MAX_MULTITAPS][32] = 
  306. {
  307.     /* {' ','.',',','+','*','-','=',':',';',''','"',''}, */
  308.     {' ', ''},
  309.     // {'1','@','!','?','#','$','/','_'/*MTK*/,''},
  310.     {'.', ',', '-', '?', '!', ''', '@', ':', '#', '$', '/', '_', ''},
  311.     {'A', 'B', 'C', ''},
  312.     {'D', 'E', 'F', ''},
  313.     {'G', 'H', 'I', ''},
  314.     {'J', 'K', 'L', ''},
  315.     {'M', 'N', 'O', ''},
  316.     {'P', 'Q', 'R', 'S', ''},
  317.     {'T', 'U', 'V', ''},
  318.     {'W', 'X', 'Y', 'Z', ''},
  319. #if !defined(__MMI_MULTITAP_FOR_STAR_AND_POUND__)
  320. #else /* !defined(__MMI_MULTITAP_FOR_STAR_AND_POUND__) */ 
  321.     {''},
  322.     {''},
  323. #endif /* !defined(__MMI_MULTITAP_FOR_STAR_AND_POUND__) */ 
  324. };
  325. const UI_character_type numberless_lowercase_multitap_strings[MAX_MULTITAPS][32] = 
  326. {
  327.     /* {' ','.',',','+','*','-','=',':',';',''','"',''}, */
  328.     {' ', ''},
  329.     // {'1','@','!','?','#','$','/','_'/*MTK*/,''},
  330.     {'.', ',', '-', '?', '!', ''', '@', ':', '#', '$', '/', '_', ''},
  331.     {'a', 'b', 'c', ''},
  332.     {'d', 'e', 'f', ''},
  333.     {'g', 'h', 'i', ''},
  334.     {'j', 'k', 'l', ''},
  335.     {'m', 'n', 'o', ''},
  336.     {'p', 'q', 'r', 's', ''},
  337.     {'t', 'u', 'v', ''},
  338.     {'w', 'x', 'y', 'z', ''},
  339. #if !defined(__MMI_MULTITAP_FOR_STAR_AND_POUND__)
  340. #else /* !defined(__MMI_MULTITAP_FOR_STAR_AND_POUND__) */ 
  341.     {''},
  342.     {''},
  343. #endif /* !defined(__MMI_MULTITAP_FOR_STAR_AND_POUND__) */ 
  344. };
  345. /* MTK Terry for English Only */
  346. const UI_character_type english_only_uppercase_multitap_strings[MAX_MULTITAPS][32] = 
  347. {
  348.     /* {' ','.',',','+','*','-','=',':',';',''','"',''}, */
  349.     {' ', '0', ''},
  350.     // {'1','@','!','?','#','$','/','_'/*MTK*/,''},
  351.     {'.', ',', '-', '?', '!', ''', '@', ':', '#', '$', '/', '_', '1', ''},
  352.     {'A', 'B', 'C', '2', ''},
  353.     {'D', 'E', 'F', '3', ''},
  354.     {'G', 'H', 'I', '4', ''},
  355.     {'J', 'K', 'L', '5', ''},
  356.     {'M', 'N', 'O', '6', ''},
  357.     {'P', 'Q', 'R', 'S', '7', ''},
  358.     {'T', 'U', 'V', '8', ''},
  359.     {'W', 'X', 'Y', 'Z', '9', ''},
  360. #if !defined(__MMI_MULTITAP_FOR_STAR_AND_POUND__)
  361. #else /* !defined(__MMI_MULTITAP_FOR_STAR_AND_POUND__) */ 
  362.     {''},
  363.     {''},
  364. #endif /* !defined(__MMI_MULTITAP_FOR_STAR_AND_POUND__) */ 
  365. };
  366. const UI_character_type english_only_lowercase_multitap_strings[MAX_MULTITAPS][32] = 
  367. {
  368.     /* {' ','.',',','+','*','-','=',':',';',''','"',''}, */
  369.     {' ', '0', ''},
  370.     // {'1','@','!','?','#','$','/','_'/*MTK*/,''},
  371.     {'.', ',', '-', '?', '!', ''', '@', ':', '#', '$', '/', '_', '1', ''},
  372.     {'a', 'b', 'c', '2', ''},
  373.     {'d', 'e', 'f', '3', ''},
  374.     {'g', 'h', 'i', '4', ''},
  375.     {'j', 'k', 'l', '5', ''},
  376.     {'m', 'n', 'o', '6', ''},
  377.     {'p', 'q', 'r', 's', '7', ''},
  378.     {'t', 'u', 'v', '8', ''},
  379.     {'w', 'x', 'y', 'z', '9', ''},
  380. #if !defined(__MMI_MULTITAP_FOR_STAR_AND_POUND__)
  381. #else /* !defined(__MMI_MULTITAP_FOR_STAR_AND_POUND__) */ 
  382.     {''},
  383.     {''},
  384. #endif /* !defined(__MMI_MULTITAP_FOR_STAR_AND_POUND__) */ 
  385. };
  386. multitap_input MMI_uppercase_multitaps[MAX_MULTITAPS];
  387. multitap_input MMI_lowercase_multitaps[MAX_MULTITAPS];
  388. multitap_input MMI_hindi_multitaps[MAX_MULTITAPS];
  389. /* PMT RAKESH START 20061006 */
  390. #if defined (__MMI_MULTITAP_MARATHI__)
  391. multitap_input MMI_marathi_multitaps[MAX_MULTITAPS];
  392. #endif 
  393. /* PMT RAKESH END 20061006 */
  394. multitap_input MMI_bpmf_multitaps[MAX_MULTITAPS];
  395. /* PMT dara added for Multitap thai */
  396. #if defined (__MMI_MULTITAP_THAI__)
  397. multitap_input MMI_thai_multitaps[MAX_MULTITAPS_THAI];
  398. #endif 
  399. /* MTK Terry for Spanish French German Italian Russian Turkish Portuguese Indonesian Malay Vietnamese */
  400. #if defined(__MMI_MULTITAP_SPANISH__)
  401. multitap_input MMI_spanish_uppercase_multitaps[MAX_MULTITAPS];
  402. multitap_input MMI_spanish_lowercase_multitaps[MAX_MULTITAPS];
  403. #endif /* defined(__MMI_MULTITAP_SPANISH__) */ 
  404. #if defined(__MMI_MULTITAP_DANISH__)
  405. multitap_input MMI_danish_uppercase_multitaps[MAX_MULTITAPS];
  406. multitap_input MMI_danish_lowercase_multitaps[MAX_MULTITAPS];
  407. #endif /* defined(__MMI_MULTITAP_DANISH__) */ 
  408. #if defined(__MMI_MULTITAP_POLISH__)
  409. multitap_input MMI_polish_uppercase_multitaps[MAX_MULTITAPS];
  410. multitap_input MMI_polish_lowercase_multitaps[MAX_MULTITAPS];
  411. #endif /* defined(__MMI_MULTITAP_POLISH__) */ 
  412. #if defined(__MMI_MULTITAP_FRENCH__)
  413. multitap_input MMI_french_uppercase_multitaps[MAX_MULTITAPS];
  414. multitap_input MMI_french_lowercase_multitaps[MAX_MULTITAPS];
  415. #endif /* defined(__MMI_MULTITAP_FRENCH__) */ 
  416. #if defined(__MMI_MULTITAP_GERMAN__)
  417. multitap_input MMI_german_uppercase_multitaps[MAX_MULTITAPS];
  418. multitap_input MMI_german_lowercase_multitaps[MAX_MULTITAPS];
  419. #endif /* defined(__MMI_MULTITAP_GERMAN__) */ 
  420. #if defined(__MMI_MULTITAP_ITALIAN__)
  421. multitap_input MMI_italian_uppercase_multitaps[MAX_MULTITAPS];
  422. multitap_input MMI_italian_lowercase_multitaps[MAX_MULTITAPS];
  423. #endif /* defined(__MMI_MULTITAP_ITALIAN__) */ 
  424. #if defined(__MMI_MULTITAP_RUSSIAN__)
  425. multitap_input MMI_russian_uppercase_multitaps[MAX_MULTITAPS];
  426. multitap_input MMI_russian_lowercase_multitaps[MAX_MULTITAPS];
  427. #endif /* defined(__MMI_MULTITAP_RUSSIAN__) */ 
  428. #if defined(__MMI_MULTITAP_BULGARIAN__)
  429. multitap_input MMI_bulgarian_uppercase_multitaps[MAX_MULTITAPS];
  430. multitap_input MMI_bulgarian_lowercase_multitaps[MAX_MULTITAPS];
  431. #endif /* defined(__MMI_MULTITAP_BULGARIAN__) */ 
  432. #if defined(__MMI_MULTITAP_TURKISH__)
  433. multitap_input MMI_turkish_uppercase_multitaps[MAX_MULTITAPS];
  434. multitap_input MMI_turkish_lowercase_multitaps[MAX_MULTITAPS];
  435. #endif /* defined(__MMI_MULTITAP_TURKISH__) */ 
  436. #if defined(__MMI_MULTITAP_PORTUGUESE__)
  437. multitap_input MMI_portuguese_uppercase_multitaps[MAX_MULTITAPS];
  438. multitap_input MMI_portuguese_lowercase_multitaps[MAX_MULTITAPS];
  439. #endif /* defined(__MMI_MULTITAP_PORTUGUESE__) */ 
  440. #if defined(__MMI_MULTITAP_INDONESIAN__)
  441. multitap_input MMI_indonesian_uppercase_multitaps[MAX_MULTITAPS];
  442. multitap_input MMI_indonesian_lowercase_multitaps[MAX_MULTITAPS];
  443. #endif /* defined(__MMI_MULTITAP_INDONESIAN__) */ 
  444. #if defined(__MMI_MULTITAP_CZECH__)
  445. multitap_input MMI_czech_uppercase_multitaps[MAX_MULTITAPS];
  446. multitap_input MMI_czech_lowercase_multitaps[MAX_MULTITAPS];
  447. #endif /* defined(__MMI_MULTITAP_CZECH__) */ 
  448. #if defined(__MMI_MULTITAP_MALAY__)
  449. multitap_input MMI_malay_uppercase_multitaps[MAX_MULTITAPS];
  450. multitap_input MMI_malay_lowercase_multitaps[MAX_MULTITAPS];
  451. #endif /* defined(__MMI_MULTITAP_MALAY__) */ 
  452. #if defined(__MMI_MULTITAP_VIETNAMESE__)
  453. multitap_input MMI_vietnamese_uppercase_multitaps[MAX_MULTITAPS];
  454. multitap_input MMI_vietnamese_lowercase_multitaps[MAX_MULTITAPS];
  455. #endif /* defined(__MMI_MULTITAP_VIETNAMESE__) */ 
  456. #if defined(__MMI_MULTITAP_FINNISH__)
  457. multitap_input MMI_finnish_uppercase_multitaps[MAX_MULTITAPS];
  458. multitap_input MMI_finnish_lowercase_multitaps[MAX_MULTITAPS];
  459. #endif /* defined(__MMI_MULTITAP_FINNISH__) */ 
  460. #if defined(__MMI_MULTITAP_HUNGARIAN__)
  461. multitap_input MMI_hungarian_uppercase_multitaps[MAX_MULTITAPS];
  462. multitap_input MMI_hungarian_lowercase_multitaps[MAX_MULTITAPS];
  463. #endif /* defined(__MMI_MULTITAP_HUNGARIAN__) */ 
  464. #if defined(__MMI_MULTITAP_SWEDISH__)
  465. multitap_input MMI_swedish_uppercase_multitaps[MAX_MULTITAPS];
  466. multitap_input MMI_swedish_lowercase_multitaps[MAX_MULTITAPS];
  467. #endif /* defined(__MMI_MULTITAP_SWEDISH__) */ 
  468. #if defined(__MMI_MULTITAP_HEBREW__)
  469. multitap_input MMI_hebrew_multitaps[MAX_MULTITAPS];
  470. #endif 
  471. #if defined(__MMI_MULTITAP_SLOVAK__)
  472. multitap_input MMI_slovak_uppercase_multitaps[MAX_MULTITAPS];
  473. multitap_input MMI_slovak_lowercase_multitaps[MAX_MULTITAPS];
  474. #endif /* defined(__MMI_MULTITAP_SLOVAK__) */ 
  475. #if defined(__MMI_MULTITAP_DUTCH__)
  476. multitap_input MMI_dutch_uppercase_multitaps[MAX_MULTITAPS];
  477. multitap_input MMI_dutch_lowercase_multitaps[MAX_MULTITAPS];
  478. #endif /* defined(__MMI_MULTITAP_DUTCH__) */ 
  479. /* Norwegian start */
  480. #if defined(__MMI_MULTITAP_NORWEGIAN__)
  481. multitap_input MMI_norwegian_uppercase_multitaps[MAX_MULTITAPS];
  482. multitap_input MMI_norwegian_lowercase_multitaps[MAX_MULTITAPS];
  483. #endif /* defined(__MMI_MULTITAP_NORWEGIAN__) */ 
  484. /* Norwegian end */
  485. #if defined(__MMI_MULTITAP_ARABIC__)
  486. multitap_input MMI_arabic_multitaps[MAX_MULTITAPS];
  487. #endif 
  488. /* PMT START PERSIAN */
  489. #if defined(__MMI_MULTITAP_PERSIAN__)
  490. multitap_input MMI_persian_multitaps[MAX_MULTITAPS];
  491. #endif 
  492. //PMT END PERSIAN
  493. #if defined(__MMI_MULTITAP_CROATIAN__)
  494. multitap_input MMI_croatian_uppercase_multitaps[MAX_MULTITAPS];
  495. multitap_input MMI_croatian_lowercase_multitaps[MAX_MULTITAPS];
  496. #endif /* defined(__MMI_MULTITAP_CROATIAN__) */ 
  497. #if defined(__MMI_MULTITAP_ROMANIAN__)
  498. multitap_input MMI_romanian_uppercase_multitaps[MAX_MULTITAPS];
  499. multitap_input MMI_romanian_lowercase_multitaps[MAX_MULTITAPS];
  500. #endif /* defined(__MMI_MULTITAP_ROMANIAN__) */ 
  501. #if defined(__MMI_MULTITAP_SLOVENIAN__)
  502. multitap_input MMI_slovenian_uppercase_multitaps[MAX_MULTITAPS];
  503. multitap_input MMI_slovenian_lowercase_multitaps[MAX_MULTITAPS];
  504. #endif /* defined(__MMI_MULTITAP_SLOVENIAN__) */ 
  505. #if defined(__MMI_MULTITAP_GREEK__)
  506. multitap_input MMI_greek_uppercase_multitaps[MAX_MULTITAPS];
  507. multitap_input MMI_greek_lowercase_multitaps[MAX_MULTITAPS];
  508. #endif /* defined(__MMI_MULTITAP_GREEK__) */ 
  509. #if defined(__MMI_WCSS_INPUT_FORMAT_SUPPORT__)
  510. multitap_input MMI_uppercase_numberless_multitaps[MAX_MULTITAPS];
  511. multitap_input MMI_lowercase_numberless_multitaps[MAX_MULTITAPS];
  512. #endif /* defined(__MMI_WCSS_INPUT_FORMAT_SUPPORT__) */ 
  513. U8 MMI_current_multitap_mode = 0;
  514. //PMT dara added for Multitap thai 
  515. //W05.36 Fix Vietnamese Tone Input Issue
  516. mmi_editor_inoutbox_enum MMI_current_input_box_type = EDITOR_NONE_INPUT_BOX;
  517. #ifdef __MMI_MULTITAP_THAI__
  518. /* byte                                                 MMI_current_inputbox_type=0; */
  519. U8 MMI_update_multitap_thai = 0;    
  520. #endif /* __MMI_MULTITAP_THAI__ */ 
  521. S32 MMI_active_multitap = -1;
  522. S32 MMI_timer_multitap = -1;
  523. void (*hide_multitap) (void);
  524. /* W05.36 Fix Vietnamese Tone Input Issue */
  525. /*****************************************************************************
  526.  * FUNCTION
  527.  *  set_current_input_box_type
  528.  * DESCRIPTION
  529.  *  
  530.  * PARAMETERS
  531.  *  input_box_type      [IN]        
  532.  * RETURNS
  533.  *  void
  534.  *****************************************************************************/
  535. void set_current_input_box_type(mmi_editor_inoutbox_enum input_box_type)
  536. {
  537.     /*----------------------------------------------------------------*/
  538.     /* Local Variables                                                */
  539.     /*----------------------------------------------------------------*/
  540.     /*----------------------------------------------------------------*/
  541.     /* Code Body                                                      */
  542.     /*----------------------------------------------------------------*/
  543.     MMI_current_input_box_type = input_box_type;
  544. }
  545. /*****************************************************************************
  546.  * FUNCTION
  547.  *  get_multitap_state
  548.  * DESCRIPTION
  549.  *  
  550.  * PARAMETERS
  551.  *  void
  552.  * RETURNS
  553.  *  
  554.  *****************************************************************************/
  555. MMI_BOOL get_multitap_state(void)
  556. {
  557.     /*----------------------------------------------------------------*/
  558.     /* Local Variables                                                */
  559.     /*----------------------------------------------------------------*/
  560.     /*----------------------------------------------------------------*/
  561.     /* Code Body                                                      */
  562.     /*----------------------------------------------------------------*/
  563.     switch (MMI_current_input_box_type)
  564.     {
  565.         case EDITOR_MULTILINE_INPUT_BOX:
  566.         case EDITOR_INLINE_MULTILINE_INPUT_BOX:
  567.             if (UI_MULTI_LINE_INPUT_BOX_STATE_MULTITAP & MMI_multiline_inputbox.flags)
  568.             {
  569.                 return MMI_TRUE;
  570.             }
  571.         case EDITOR_EMS_INPUT_BOX:
  572.             if (UI_EMS_INPUT_BOX_STATE_MULTITAP & MMI_EMS_inputbox.flags)
  573.             {
  574.                 return MMI_TRUE;
  575.             }
  576.         case EDITOR_SINGLE_LINE_INPU_BOX:
  577.             if (UI_SINGLE_LINE_INPUT_BOX_STATE_MULTITAP & MMI_singleline_inputbox.flags)
  578.             {
  579.                 return MMI_TRUE;
  580.             }
  581.         case EDITOR_INLINE_TEXT:
  582.             if (UI_SINGLE_LINE_INPUT_BOX_STATE_MULTITAP & MMI_inline_singleline_inputbox.flags)
  583.             {
  584.                 return MMI_TRUE;
  585.             }
  586.             break;
  587.     }
  588.     return MMI_FALSE;
  589. }
  590. #ifdef __MMI_LANG_VIETNAMESE__
  591. /*****************************************************************************
  592.  * FUNCTION
  593.  *  get_viet_multitap_string
  594.  * DESCRIPTION
  595.  *  
  596.  * PARAMETERS
  597.  *  void
  598.  * RETURNS
  599.  *  
  600.  *****************************************************************************/
  601. UI_character_type *get_viet_multitap_string(void)
  602. {
  603.     /*----------------------------------------------------------------*/
  604.     /* Local Variables                                                */
  605.     /*----------------------------------------------------------------*/
  606.     UI_character_type previous_char = 0;
  607.     /* W05.37 Fix Vietnamese Tone Issue Side effect */
  608.     U8 test_input_mode = 0;
  609.     /*----------------------------------------------------------------*/
  610.     /* Code Body                                                      */
  611.     /*----------------------------------------------------------------*/
  612.     if (test_change_input_mode)
  613.     {
  614.         test_input_mode = test_change_input_mode();
  615.     }
  616.     switch (MMI_current_input_box_type)
  617.     {
  618.         case EDITOR_MULTILINE_INPUT_BOX:
  619.         case EDITOR_INLINE_MULTILINE_INPUT_BOX:
  620.             previous_char = gui_multi_line_current_character(&MMI_multiline_inputbox);
  621.             break;
  622.         case EDITOR_EMS_INPUT_BOX:
  623.             previous_char = gui_EMS_current_character(&MMI_EMS_inputbox);
  624.             break;
  625.         case EDITOR_SINGLE_LINE_INPU_BOX:
  626.             previous_char = gui_single_line_current_character(&MMI_singleline_inputbox);
  627.             break;
  628.         case EDITOR_INLINE_TEXT:
  629.             previous_char = gui_single_line_current_character(&MMI_inline_singleline_inputbox);
  630.             break;
  631.     }
  632.     if (VIET_VOWEL_NONE == mmi_viet_vowel_letter(previous_char) || MMI_allow_only_english_input_modes ||
  633.         !test_input_mode)
  634.     {
  635.         return (UI_character_type*) english_only_uppercase_multitap_strings[MMI_VIET_TONE_KEY];
  636.     }
  637.     else
  638.     {
  639.         return (UI_character_type*) default_uppercase_multitap_strings[MMI_VIET_TONE_KEY];
  640.     }
  641. }
  642. #endif /* __MMI_LANG_VIETNAMESE__ */ 
  643. /*****************************************************************************
  644.  * FUNCTION
  645.  *  show_multitap
  646.  * DESCRIPTION
  647.  *  Displays the active multitap object
  648.  *  
  649.  *  Internal function
  650.  * PARAMETERS
  651.  *  void
  652.  * RETURNS
  653.  *  void
  654.  *****************************************************************************/
  655. void show_multitap(void)
  656. {
  657.     /*----------------------------------------------------------------*/
  658.     /* Local Variables                                                */
  659.     /*----------------------------------------------------------------*/
  660.     multitap_input *ami = NULL;
  661.     /* PMT dara added for Multitap thai */
  662. #if defined(__MMI_MULTITAP_THAI__)
  663.     U8 max_multitaps;
  664.     /*----------------------------------------------------------------*/
  665.     /* Code Body                                                      */
  666.     /*----------------------------------------------------------------*/
  667.     if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_THAI ||
  668.         MMI_current_multitap_mode == INPUT_MODE_MMI_MULTITAP_THAI)
  669.     {
  670.         max_multitaps = MAX_MULTITAPS_THAI;
  671.     }
  672.     else
  673.     {
  674.         max_multitaps = MAX_MULTITAPS;
  675.     }
  676. #else /* defined(__MMI_MULTITAP_THAI__) */ 
  677.     U8 max_multitaps = MAX_MULTITAPS;
  678. #endif /* defined(__MMI_MULTITAP_THAI__) */ 
  679.     if (MMI_active_multitap >= 0 && MMI_active_multitap < max_multitaps)
  680.     {
  681.         if (MMI_current_multitap_mode == 0)
  682.         {
  683.             ami = &MMI_uppercase_multitaps[MMI_active_multitap];
  684.         }
  685.         else if (MMI_current_multitap_mode == 1)
  686.         {
  687.             ami = &MMI_lowercase_multitaps[MMI_active_multitap];
  688.         }
  689.         /* MTK Elvis to add two more multitap modes */
  690.         else if (MMI_current_multitap_mode == INPUT_MODE_MMI_MULTITAP_BPMF)
  691.         {
  692.             ami = &MMI_bpmf_multitaps[MMI_active_multitap];
  693.         }
  694.         else if (MMI_current_multitap_mode == INPUT_MODE_MMI_MULTITAP_PINYIN)
  695.         {
  696.             ami = &MMI_lowercase_multitaps[MMI_active_multitap];
  697.         }
  698.         else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_ABC)
  699.         {
  700.             ami = &MMI_lowercase_multitaps[MMI_active_multitap];
  701.         }
  702.         /* MTK end */
  703.     #if defined(__MMI_WCSS_INPUT_FORMAT_SUPPORT__)
  704.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_ABC_NO_NUMERIC)
  705.         {
  706.             ami = &MMI_uppercase_numberless_multitaps[MMI_active_multitap];
  707.         }
  708.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_ABC_NO_NUMERIC)
  709.         {
  710.             ami = &MMI_lowercase_numberless_multitaps[MMI_active_multitap];
  711.         }
  712.     #endif /* defined(__MMI_WCSS_INPUT_FORMAT_SUPPORT__) */ 
  713.         /* PMT dara added for Multitap thai */
  714.     #if defined (__MMI_MULTITAP_THAI__)
  715.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_THAI)
  716.         {
  717.             ami = &MMI_thai_multitaps[MMI_active_multitap];
  718.         }
  719.         else if (MMI_current_multitap_mode == INPUT_MODE_MMI_MULTITAP_THAI)
  720.         {
  721.             ami = &MMI_thai_multitaps[MMI_active_multitap];
  722.         }
  723.     #endif /* defined (__MMI_MULTITAP_THAI__) */ 
  724.         /* MTK Terry for Spanish French German Italian Russian Turkish Portuguese Indonesian Malay Vietnamese */
  725.     #if defined(__MMI_MULTITAP_SPANISH__)
  726.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_SPANISH)
  727.         {
  728.             ami = &MMI_spanish_uppercase_multitaps[MMI_active_multitap];
  729.         }
  730.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_SPANISH)
  731.         {
  732.             ami = &MMI_spanish_lowercase_multitaps[MMI_active_multitap];
  733.         }
  734.         else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_SPANISH)
  735.         {
  736.             ami = &MMI_spanish_lowercase_multitaps[MMI_active_multitap];
  737.         }
  738.     #endif /* defined(__MMI_MULTITAP_SPANISH__) */ 
  739.     #if defined(__MMI_MULTITAP_DANISH__)
  740.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_DANISH)
  741.         {
  742.             ami = &MMI_danish_uppercase_multitaps[MMI_active_multitap];
  743.         }
  744.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_DANISH)
  745.         {
  746.             ami = &MMI_danish_lowercase_multitaps[MMI_active_multitap];
  747.         }
  748.         else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_DANISH)
  749.         {
  750.             ami = &MMI_danish_lowercase_multitaps[MMI_active_multitap];
  751.         }
  752.     #endif /* defined(__MMI_MULTITAP_DANISH__) */ 
  753.     #if defined(__MMI_MULTITAP_POLISH__)
  754.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_POLISH)
  755.         {
  756.             ami = &MMI_polish_uppercase_multitaps[MMI_active_multitap];
  757.         }
  758.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_POLISH)
  759.         {
  760.             ami = &MMI_polish_lowercase_multitaps[MMI_active_multitap];
  761.         }
  762.         else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_POLISH)
  763.         {
  764.             ami = &MMI_polish_lowercase_multitaps[MMI_active_multitap];
  765.         }
  766.     #endif /* defined(__MMI_MULTITAP_POLISH__) */ 
  767.     #if defined(__MMI_MULTITAP_FRENCH__)
  768.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_FRENCH)
  769.         {
  770.             ami = &MMI_french_uppercase_multitaps[MMI_active_multitap];
  771.         }
  772.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_FRENCH)
  773.         {
  774.             ami = &MMI_french_lowercase_multitaps[MMI_active_multitap];
  775.         }
  776.         else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_FRENCH)
  777.         {
  778.             ami = &MMI_french_lowercase_multitaps[MMI_active_multitap];
  779.         }
  780.     #endif /* defined(__MMI_MULTITAP_FRENCH__) */ 
  781.     #if defined(__MMI_MULTITAP_GERMAN__)
  782.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_GERMAN)
  783.         {
  784.             ami = &MMI_german_uppercase_multitaps[MMI_active_multitap];
  785.         }
  786.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_GERMAN)
  787.         {
  788.             ami = &MMI_german_lowercase_multitaps[MMI_active_multitap];
  789.         }
  790.         else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_GERMAN)
  791.         {
  792.             ami = &MMI_german_lowercase_multitaps[MMI_active_multitap];
  793.         }
  794.     #endif /* defined(__MMI_MULTITAP_GERMAN__) */ 
  795.     #if defined(__MMI_MULTITAP_ITALIAN__)
  796.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_ITALIAN)
  797.         {
  798.             ami = &MMI_italian_uppercase_multitaps[MMI_active_multitap];
  799.         }
  800.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_ITALIAN)
  801.         {
  802.             ami = &MMI_italian_lowercase_multitaps[MMI_active_multitap];
  803.         }
  804.         else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_ITALIAN)
  805.         {
  806.             ami = &MMI_italian_lowercase_multitaps[MMI_active_multitap];
  807.         }
  808.     #endif /* defined(__MMI_MULTITAP_ITALIAN__) */ 
  809.     #if defined(__MMI_MULTITAP_RUSSIAN__)
  810.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_RUSSIAN)
  811.         {
  812.             ami = &MMI_russian_uppercase_multitaps[MMI_active_multitap];
  813.         }
  814.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_RUSSIAN)
  815.         {
  816.             ami = &MMI_russian_lowercase_multitaps[MMI_active_multitap];
  817.         }
  818.         else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_RUSSIAN)
  819.         {
  820.             ami = &MMI_russian_lowercase_multitaps[MMI_active_multitap];
  821.         }
  822.     #endif /* defined(__MMI_MULTITAP_RUSSIAN__) */ 
  823.     #if defined(__MMI_MULTITAP_BULGARIAN__)
  824.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_BULGARIAN)
  825.         {
  826.             ami = &MMI_bulgarian_uppercase_multitaps[MMI_active_multitap];
  827.         }
  828.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_BULGARIAN)
  829.         {
  830.             ami = &MMI_bulgarian_lowercase_multitaps[MMI_active_multitap];
  831.         }
  832.         else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_BULGARIAN)
  833.         {
  834.             ami = &MMI_bulgarian_lowercase_multitaps[MMI_active_multitap];
  835.         }
  836.     #endif /* defined(__MMI_MULTITAP_BULGARIAN__) */ 
  837.     #if defined(__MMI_MULTITAP_TURKISH__)
  838.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_TURKISH)
  839.         {
  840.             ami = &MMI_turkish_uppercase_multitaps[MMI_active_multitap];
  841.         }
  842.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_TURKISH)
  843.         {
  844.             ami = &MMI_turkish_lowercase_multitaps[MMI_active_multitap];
  845.         }
  846.         else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_TURKISH)
  847.         {
  848.             ami = &MMI_turkish_lowercase_multitaps[MMI_active_multitap];
  849.         }
  850.     #endif /* defined(__MMI_MULTITAP_TURKISH__) */ 
  851.     #if defined(__MMI_MULTITAP_PORTUGUESE__)
  852.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_PORTUGUESE)
  853.         {
  854.             ami = &MMI_portuguese_uppercase_multitaps[MMI_active_multitap];
  855.         }
  856.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_PORTUGUESE)
  857.         {
  858.             ami = &MMI_portuguese_lowercase_multitaps[MMI_active_multitap];
  859.         }
  860.         else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_PORTUGUESE)
  861.         {
  862.             ami = &MMI_portuguese_lowercase_multitaps[MMI_active_multitap];
  863.         }
  864.     #endif /* defined(__MMI_MULTITAP_PORTUGUESE__) */ 
  865.     /* PMT RAKESH START 20061006 */
  866.     #if defined(__MMI_MULTITAP_HINDI__)
  867.     /* PMT RAKESH END 20061006 */
  868.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_HINDI)
  869.         {
  870.             ami = &MMI_hindi_multitaps[MMI_active_multitap];
  871.         }
  872.     #endif /* defined(__MMI_MULTITAP_HINDI__) */ 
  873.         /* PMT RAKESH START 20061006 */
  874.     #if defined (__MMI_MULTITAP_MARATHI__)
  875.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_MARATHI)
  876.         {
  877.             ami = &MMI_marathi_multitaps[MMI_active_multitap];
  878.         }
  879.     #endif /* defined (__MMI_MULTITAP_MARATHI__) */ 
  880.         /* PMT RAKESH END 20061006 */
  881.     #if defined(__MMI_MULTITAP_INDONESIAN__)
  882.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_INDONESIAN)
  883.         {
  884.             ami = &MMI_indonesian_uppercase_multitaps[MMI_active_multitap];
  885.         }
  886.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_INDONESIAN)
  887.         {
  888.             ami = &MMI_indonesian_lowercase_multitaps[MMI_active_multitap];
  889.         }
  890.         else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_INDONESIAN)
  891.         {
  892.             ami = &MMI_indonesian_lowercase_multitaps[MMI_active_multitap];
  893.         }
  894.     #endif /* defined(__MMI_MULTITAP_INDONESIAN__) */ 
  895.     #if defined(__MMI_MULTITAP_CZECH__)
  896.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_CZECH)
  897.         {
  898.             ami = &MMI_czech_uppercase_multitaps[MMI_active_multitap];
  899.         }
  900.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_CZECH)
  901.         {
  902.             ami = &MMI_czech_lowercase_multitaps[MMI_active_multitap];
  903.         }
  904.         else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_CZECH)
  905.         {
  906.             ami = &MMI_czech_lowercase_multitaps[MMI_active_multitap];
  907.         }
  908.     #endif /* defined(__MMI_MULTITAP_CZECH__) */ 
  909.     #if defined(__MMI_MULTITAP_MALAY__)
  910.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_MALAY)
  911.         {
  912.             ami = &MMI_malay_uppercase_multitaps[MMI_active_multitap];
  913.         }
  914.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_MALAY)
  915.         {
  916.             ami = &MMI_malay_lowercase_multitaps[MMI_active_multitap];
  917.         }
  918.         else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_MALAY)
  919.         {
  920.             ami = &MMI_malay_lowercase_multitaps[MMI_active_multitap];
  921.         }
  922.     #endif /* defined(__MMI_MULTITAP_MALAY__) */ 
  923.     #if defined(__MMI_MULTITAP_VIETNAMESE__)
  924.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_VIETNAMESE)
  925.         {
  926.             ami = &MMI_vietnamese_uppercase_multitaps[MMI_active_multitap];
  927.         }
  928.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_VIETNAMESE)
  929.         {
  930.             ami = &MMI_vietnamese_lowercase_multitaps[MMI_active_multitap];
  931.         }
  932.         else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_VIETNAMESE)
  933.         {
  934.             ami = &MMI_vietnamese_lowercase_multitaps[MMI_active_multitap];
  935.         }
  936.     #endif /* defined(__MMI_MULTITAP_VIETNAMESE__) */ 
  937.     #if defined(__MMI_MULTITAP_FINNISH__)
  938.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_FINNISH)
  939.         {
  940.             ami = &MMI_finnish_uppercase_multitaps[MMI_active_multitap];
  941.         }
  942.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_FINNISH)
  943.         {
  944.             ami = &MMI_finnish_lowercase_multitaps[MMI_active_multitap];
  945.         }
  946.         else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_FINNISH)
  947.         {
  948.             ami = &MMI_finnish_lowercase_multitaps[MMI_active_multitap];
  949.         }
  950.     #endif /* defined(__MMI_MULTITAP_FINNISH__) */ 
  951.     #if defined(__MMI_MULTITAP_HUNGARIAN__)
  952.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_HUNGARIAN)
  953.         {
  954.             ami = &MMI_hungarian_uppercase_multitaps[MMI_active_multitap];
  955.         }
  956.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_HUNGARIAN)
  957.         {
  958.             ami = &MMI_hungarian_lowercase_multitaps[MMI_active_multitap];
  959.         }
  960.         else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_HUNGARIAN)
  961.         {
  962.             ami = &MMI_hungarian_lowercase_multitaps[MMI_active_multitap];
  963.         }
  964.     #endif /* defined(__MMI_MULTITAP_HUNGARIAN__) */ 
  965.     #if defined(__MMI_MULTITAP_SWEDISH__)
  966.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_SWEDISH)
  967.         {
  968.             ami = &MMI_swedish_uppercase_multitaps[MMI_active_multitap];
  969.         }
  970.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_SWEDISH)
  971.         {
  972.             ami = &MMI_swedish_lowercase_multitaps[MMI_active_multitap];
  973.         }
  974.         else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_SWEDISH)
  975.         {
  976.             ami = &MMI_swedish_lowercase_multitaps[MMI_active_multitap];
  977.         }
  978.     #endif /* defined(__MMI_MULTITAP_SWEDISH__) */ 
  979.     #if defined(__MMI_MULTITAP_HEBREW__)
  980.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_HEBREW)
  981.         {
  982.             ami = &MMI_hebrew_multitaps[MMI_active_multitap];
  983.         }
  984.         else if (MMI_current_multitap_mode == INPUT_MODE_MMI_MULTITAP_HEBREW)
  985.         {
  986.             ami = &MMI_hebrew_multitaps[MMI_active_multitap];
  987.         }
  988.     #endif /* defined(__MMI_MULTITAP_HEBREW__) */ 
  989.     #if defined(__MMI_MULTITAP_SLOVAK__)
  990.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_SLOVAK)
  991.         {
  992.             ami = &MMI_slovak_uppercase_multitaps[MMI_active_multitap];
  993.         }
  994.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_SLOVAK)
  995.         {
  996.             ami = &MMI_slovak_lowercase_multitaps[MMI_active_multitap];
  997.         }
  998.         else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_SLOVAK)
  999.         {
  1000.             ami = &MMI_slovak_lowercase_multitaps[MMI_active_multitap];
  1001.         }
  1002.     #endif /* defined(__MMI_MULTITAP_SLOVAK__) */ 
  1003.     #if defined(__MMI_MULTITAP_DUTCH__)
  1004.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_DUTCH)
  1005.         {
  1006.             ami = &MMI_dutch_uppercase_multitaps[MMI_active_multitap];
  1007.         }
  1008.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_DUTCH)
  1009.         {
  1010.             ami = &MMI_dutch_lowercase_multitaps[MMI_active_multitap];
  1011.         }
  1012.         else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_DUTCH)
  1013.         {
  1014.             ami = &MMI_dutch_lowercase_multitaps[MMI_active_multitap];
  1015.         }
  1016.     #endif /* defined(__MMI_MULTITAP_DUTCH__) */ 
  1017.         /* Norwegian start */
  1018.     #if defined(__MMI_MULTITAP_NORWEGIAN__)
  1019.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_NORWEGIAN)
  1020.         {
  1021.             ami = &MMI_norwegian_uppercase_multitaps[MMI_active_multitap];
  1022.         }
  1023.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_NORWEGIAN)
  1024.         {
  1025.             ami = &MMI_norwegian_lowercase_multitaps[MMI_active_multitap];
  1026.         }
  1027.         else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_NORWEGIAN)
  1028.         {
  1029.             ami = &MMI_norwegian_lowercase_multitaps[MMI_active_multitap];
  1030.         }
  1031.     #endif /* defined(__MMI_MULTITAP_NORWEGIAN__) */ 
  1032.         /* Norwegian end */
  1033.     #if defined(__MMI_MULTITAP_ARABIC__)
  1034.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_ARABIC)
  1035.         {
  1036.             ami = &MMI_arabic_multitaps[MMI_active_multitap];
  1037.         }
  1038.         else if (MMI_current_multitap_mode == INPUT_MODE_MMI_MULTITAP_ARABIC)
  1039.         {
  1040.             ami = &MMI_arabic_multitaps[MMI_active_multitap];
  1041.         }
  1042.     #endif /* defined(__MMI_MULTITAP_ARABIC__) */ 
  1043.         /* PMT START PERSIAN */
  1044.     #if defined(__MMI_MULTITAP_PERSIAN__)
  1045.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_PERSIAN)
  1046.         {
  1047.             ami = &MMI_persian_multitaps[MMI_active_multitap];
  1048.         }
  1049.         else if (MMI_current_multitap_mode == INPUT_MODE_MMI_MULTITAP_PERSIAN)
  1050.         {
  1051.             ami = &MMI_persian_multitaps[MMI_active_multitap];
  1052.         }
  1053.     #endif /* defined(__MMI_MULTITAP_PERSIAN__) */ 
  1054.         //PMT END PERSIAN
  1055.     #if defined(__MMI_MULTITAP_CROATIAN__)
  1056.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_CROATIAN)
  1057.         {
  1058.             ami = &MMI_croatian_uppercase_multitaps[MMI_active_multitap];
  1059.         }
  1060.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_CROATIAN)
  1061.         {
  1062.             ami = &MMI_croatian_lowercase_multitaps[MMI_active_multitap];
  1063.         }
  1064.         else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_CROATIAN)
  1065.         {
  1066.             ami = &MMI_croatian_lowercase_multitaps[MMI_active_multitap];
  1067.         }
  1068.     #endif /* defined(__MMI_MULTITAP_CROATIAN__) */ 
  1069.     #if defined(__MMI_MULTITAP_ROMANIAN__)
  1070.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_ROMANIAN)
  1071.         {
  1072.             ami = &MMI_romanian_uppercase_multitaps[MMI_active_multitap];
  1073.         }
  1074.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_ROMANIAN)
  1075.         {
  1076.             ami = &MMI_romanian_lowercase_multitaps[MMI_active_multitap];
  1077.         }
  1078.         else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_ROMANIAN)
  1079.         {
  1080.             ami = &MMI_romanian_lowercase_multitaps[MMI_active_multitap];
  1081.         }
  1082.     #endif /* defined(__MMI_MULTITAP_ROMANIAN__) */ 
  1083.     #if defined(__MMI_MULTITAP_SLOVENIAN__)
  1084.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_SLOVENIAN)
  1085.         {
  1086.             ami = &MMI_slovenian_uppercase_multitaps[MMI_active_multitap];
  1087.         }
  1088.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_SLOVENIAN)
  1089.         {
  1090.             ami = &MMI_slovenian_lowercase_multitaps[MMI_active_multitap];
  1091.         }
  1092.         else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_SLOVENIAN)
  1093.         {
  1094.             ami = &MMI_slovenian_lowercase_multitaps[MMI_active_multitap];
  1095.         }
  1096.     #endif /* defined(__MMI_MULTITAP_SLOVENIAN__) */ 
  1097.     #if defined(__MMI_MULTITAP_GREEK__)
  1098.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_GREEK)
  1099.         {
  1100.             ami = &MMI_greek_uppercase_multitaps[MMI_active_multitap];
  1101.         }
  1102.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_GREEK)
  1103.         {
  1104.             ami = &MMI_greek_lowercase_multitaps[MMI_active_multitap];
  1105.         }
  1106.         else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_GREEK)
  1107.         {
  1108.             ami = &MMI_greek_lowercase_multitaps[MMI_active_multitap];
  1109.         }
  1110.     #endif /* defined(__MMI_MULTITAP_GREEK__) */ 
  1111.         if (ami != NULL)
  1112.         {
  1113.             gui_show_multitap_input(ami);
  1114.         }
  1115.     }
  1116. #if(UI_DOUBLE_BUFFER_SUPPORT)
  1117.     gui_BLT_double_buffer(ami->x, ami->y, (ami->x + ami->width /* +1 */ ), (ami->y + ami->height /* +1 */ ));
  1118. #endif 
  1119. }
  1120. #ifdef __MMI_TOUCH_SCREEN__
  1121. /* no output event because multitap_input has its own callback function */
  1122. /*****************************************************************************
  1123.  * FUNCTION
  1124.  *  wgui_multitap_translate_and_handle_pen_event
  1125.  * DESCRIPTION
  1126.  *  
  1127.  * PARAMETERS
  1128.  *  x               [IN]        
  1129.  *  y               [IN]        
  1130.  *  pen_event       [IN]        
  1131.  * RETURNS
  1132.  *  
  1133.  *****************************************************************************/
  1134. BOOL wgui_multitap_translate_and_handle_pen_event(S32 x, S32 y, mmi_pen_event_type_enum pen_event)
  1135. {
  1136.     /*----------------------------------------------------------------*/
  1137.     /* Local Variables                                                */
  1138.     /*----------------------------------------------------------------*/
  1139.     multitap_input *ami = NULL;
  1140.     S32 index;
  1141.     BOOL ret;
  1142.     /*----------------------------------------------------------------*/
  1143.     /* Code Body                                                      */
  1144.     /*----------------------------------------------------------------*/
  1145.     if (MMI_active_multitap >= 0 && MMI_active_multitap < MAX_MULTITAPS)
  1146.     {
  1147.         if (MMI_current_multitap_mode == 0)
  1148.         {
  1149.             ami = &MMI_uppercase_multitaps[MMI_active_multitap];
  1150.         }
  1151.         else if (MMI_current_multitap_mode == 1)
  1152.         {
  1153.             ami = &MMI_lowercase_multitaps[MMI_active_multitap];
  1154.         }
  1155.         else if (MMI_current_multitap_mode == INPUT_MODE_MMI_MULTITAP_BPMF)
  1156.         {
  1157.             ami = &MMI_bpmf_multitaps[MMI_active_multitap];
  1158.         }
  1159.         else if (MMI_current_multitap_mode == INPUT_MODE_MMI_MULTITAP_PINYIN)
  1160.         {
  1161.             ami = &MMI_lowercase_multitaps[MMI_active_multitap];
  1162.         }
  1163.         else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_ABC)
  1164.         {
  1165.             ami = &MMI_lowercase_multitaps[MMI_active_multitap];
  1166.         }
  1167.     #if defined(__MMI_WCSS_INPUT_FORMAT_SUPPORT__)
  1168.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_ABC_NO_NUMERIC)
  1169.         {
  1170.             ami = &MMI_uppercase_numberless_multitaps[MMI_active_multitap];
  1171.         }
  1172.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_ABC_NO_NUMERIC)
  1173.         {
  1174.             ami = &MMI_lowercase_numberless_multitaps[MMI_active_multitap];
  1175.         }
  1176.     #endif /* defined(__MMI_WCSS_INPUT_FORMAT_SUPPORT__) */ 
  1177.         /* PMT dara added for Multitap thai */
  1178.     #if defined (__MMI_MULTITAP_THAI__)
  1179.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_THAI)
  1180.         {
  1181.             ami = &MMI_thai_multitaps[MMI_active_multitap];
  1182.         }
  1183.     #endif /* defined (__MMI_MULTITAP_THAI__) */ 
  1184.     #if defined(__MMI_MULTITAP_SPANISH__)
  1185.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_SPANISH)
  1186.         {
  1187.             ami = &MMI_spanish_uppercase_multitaps[MMI_active_multitap];
  1188.         }
  1189.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_SPANISH)
  1190.         {
  1191.             ami = &MMI_spanish_lowercase_multitaps[MMI_active_multitap];
  1192.         }
  1193.         else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_SPANISH)
  1194.         {
  1195.             ami = &MMI_spanish_lowercase_multitaps[MMI_active_multitap];
  1196.         }
  1197.     #endif /* defined(__MMI_MULTITAP_SPANISH__) */ 
  1198.     #if defined(__MMI_MULTITAP_DANISH__)
  1199.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_DANISH)
  1200.         {
  1201.             ami = &MMI_danish_uppercase_multitaps[MMI_active_multitap];
  1202.         }
  1203.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_DANISH)
  1204.         {
  1205.             ami = &MMI_danish_lowercase_multitaps[MMI_active_multitap];
  1206.         }
  1207.         else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_DANISH)
  1208.         {
  1209.             ami = &MMI_danish_lowercase_multitaps[MMI_active_multitap];
  1210.         }
  1211.     #endif /* defined(__MMI_MULTITAP_DANISH__) */ 
  1212.     #if defined(__MMI_MULTITAP_POLISH__)
  1213.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_POLISH)
  1214.         {
  1215.             ami = &MMI_polish_uppercase_multitaps[MMI_active_multitap];
  1216.         }
  1217.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_POLISH)
  1218.         {
  1219.             ami = &MMI_polish_lowercase_multitaps[MMI_active_multitap];
  1220.         }
  1221.         else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_POLISH)
  1222.         {
  1223.             ami = &MMI_polish_lowercase_multitaps[MMI_active_multitap];
  1224.         }
  1225.     #endif /* defined(__MMI_MULTITAP_POLISH__) */ 
  1226.     #if defined(__MMI_MULTITAP_FRENCH__)
  1227.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_FRENCH)
  1228.         {
  1229.             ami = &MMI_french_uppercase_multitaps[MMI_active_multitap];
  1230.         }
  1231.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_FRENCH)
  1232.         {
  1233.             ami = &MMI_french_lowercase_multitaps[MMI_active_multitap];
  1234.         }
  1235.         else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_FRENCH)
  1236.         {
  1237.             ami = &MMI_french_lowercase_multitaps[MMI_active_multitap];
  1238.         }
  1239.     #endif /* defined(__MMI_MULTITAP_FRENCH__) */ 
  1240.     #if defined(__MMI_MULTITAP_GERMAN__)
  1241.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_GERMAN)
  1242.         {
  1243.             ami = &MMI_german_uppercase_multitaps[MMI_active_multitap];
  1244.         }
  1245.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_GERMAN)
  1246.         {
  1247.             ami = &MMI_german_lowercase_multitaps[MMI_active_multitap];
  1248.         }
  1249.         else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_GERMAN)
  1250.         {
  1251.             ami = &MMI_german_lowercase_multitaps[MMI_active_multitap];
  1252.         }
  1253.     #endif /* defined(__MMI_MULTITAP_GERMAN__) */ 
  1254.     #if defined(__MMI_MULTITAP_ITALIAN__)
  1255.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_ITALIAN)
  1256.         {
  1257.             ami = &MMI_italian_uppercase_multitaps[MMI_active_multitap];
  1258.         }
  1259.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_ITALIAN)
  1260.         {
  1261.             ami = &MMI_italian_lowercase_multitaps[MMI_active_multitap];
  1262.         }
  1263.         else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_ITALIAN)
  1264.         {
  1265.             ami = &MMI_italian_lowercase_multitaps[MMI_active_multitap];
  1266.         }
  1267.     #endif /* defined(__MMI_MULTITAP_ITALIAN__) */ 
  1268.     #if defined(__MMI_MULTITAP_RUSSIAN__)
  1269.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_RUSSIAN)
  1270.         {
  1271.             ami = &MMI_russian_uppercase_multitaps[MMI_active_multitap];
  1272.         }
  1273.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_RUSSIAN)
  1274.         {
  1275.             ami = &MMI_russian_lowercase_multitaps[MMI_active_multitap];
  1276.         }
  1277.         else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_RUSSIAN)
  1278.         {
  1279.             ami = &MMI_russian_lowercase_multitaps[MMI_active_multitap];
  1280.         }
  1281.     #endif /* defined(__MMI_MULTITAP_RUSSIAN__) */ 
  1282.     #if defined(__MMI_MULTITAP_BULGARIAN__)
  1283.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_BULGARIAN)
  1284.         {
  1285.             ami = &MMI_bulgarian_uppercase_multitaps[MMI_active_multitap];
  1286.         }
  1287.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_BULGARIAN)
  1288.         {
  1289.             ami = &MMI_bulgarian_lowercase_multitaps[MMI_active_multitap];
  1290.         }
  1291.         else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_BULGARIAN)
  1292.         {
  1293.             ami = &MMI_bulgarian_lowercase_multitaps[MMI_active_multitap];
  1294.         }
  1295.     #endif /* defined(__MMI_MULTITAP_BULGARIAN__) */ 
  1296.     #if defined(__MMI_MULTITAP_TURKISH__)
  1297.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_TURKISH)
  1298.         {
  1299.             ami = &MMI_turkish_uppercase_multitaps[MMI_active_multitap];
  1300.         }
  1301.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_TURKISH)
  1302.         {
  1303.             ami = &MMI_turkish_lowercase_multitaps[MMI_active_multitap];
  1304.         }
  1305.         else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_TURKISH)
  1306.         {
  1307.             ami = &MMI_turkish_lowercase_multitaps[MMI_active_multitap];
  1308.         }
  1309.     #endif /* defined(__MMI_MULTITAP_TURKISH__) */ 
  1310.     #if defined(__MMI_MULTITAP_PORTUGUESE__)
  1311.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_PORTUGUESE)
  1312.         {
  1313.             ami = &MMI_portuguese_uppercase_multitaps[MMI_active_multitap];
  1314.         }
  1315.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_PORTUGUESE)
  1316.         {
  1317.             ami = &MMI_portuguese_lowercase_multitaps[MMI_active_multitap];
  1318.         }
  1319.         else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_PORTUGUESE)
  1320.         {
  1321.             ami = &MMI_portuguese_lowercase_multitaps[MMI_active_multitap];
  1322.         }
  1323.     #endif /* defined(__MMI_MULTITAP_PORTUGUESE__) */ 
  1324.     /* PMT RAKESH START 20061006 */
  1325.     #if defined(__MMI_MULTITAP_HINDI__)
  1326.     /* PMT RAKESH END 20061006 */
  1327.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_HINDI)
  1328.         {
  1329.             ami = &MMI_hindi_multitaps[MMI_active_multitap];
  1330.         }
  1331.     /* PMT RAKESH START 20061006 */
  1332.     #endif /* defined(__MMI_MULTITAP_HINDI__) */ 
  1333.     /* PMT RAKESH END 20061006 */
  1334.     #if defined(__MMI_MULTITAP_INDONESIAN__)
  1335.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_INDONESIAN)
  1336.         {
  1337.             ami = &MMI_indonesian_uppercase_multitaps[MMI_active_multitap];
  1338.         }
  1339.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_INDONESIAN)
  1340.         {
  1341.             ami = &MMI_indonesian_lowercase_multitaps[MMI_active_multitap];
  1342.         }
  1343.         else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_INDONESIAN)
  1344.         {
  1345.             ami = &MMI_indonesian_lowercase_multitaps[MMI_active_multitap];
  1346.         }
  1347.     #endif /* defined(__MMI_MULTITAP_INDONESIAN__) */ 
  1348.     #if defined(__MMI_MULTITAP_CZECH__)
  1349.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_CZECH)
  1350.         {
  1351.             ami = &MMI_czech_uppercase_multitaps[MMI_active_multitap];
  1352.         }
  1353.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_CZECH)
  1354.         {
  1355.             ami = &MMI_czech_lowercase_multitaps[MMI_active_multitap];
  1356.         }
  1357.         else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_CZECH)
  1358.         {
  1359.             ami = &MMI_czech_lowercase_multitaps[MMI_active_multitap];
  1360.         }
  1361.     #endif /* defined(__MMI_MULTITAP_CZECH__) */ 
  1362.     #if defined(__MMI_MULTITAP_MALAY__)
  1363.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_MALAY)
  1364.         {
  1365.             ami = &MMI_malay_uppercase_multitaps[MMI_active_multitap];
  1366.         }
  1367.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_MALAY)
  1368.         {
  1369.             ami = &MMI_malay_lowercase_multitaps[MMI_active_multitap];
  1370.         }
  1371.         else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_MALAY)
  1372.         {
  1373.             ami = &MMI_malay_lowercase_multitaps[MMI_active_multitap];
  1374.         }
  1375.     #endif /* defined(__MMI_MULTITAP_MALAY__) */ 
  1376.     #if defined(__MMI_MULTITAP_VIETNAMESE__)
  1377.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_VIETNAMESE)
  1378.         {
  1379.             ami = &MMI_vietnamese_uppercase_multitaps[MMI_active_multitap];
  1380.         }
  1381.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_VIETNAMESE)
  1382.         {
  1383.             ami = &MMI_vietnamese_lowercase_multitaps[MMI_active_multitap];
  1384.         }
  1385.         else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_VIETNAMESE)
  1386.         {
  1387.             ami = &MMI_vietnamese_lowercase_multitaps[MMI_active_multitap];
  1388.         }
  1389.     #endif /* defined(__MMI_MULTITAP_VIETNAMESE__) */ 
  1390.     #if defined(__MMI_MULTITAP_HEBREW__)
  1391.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_HEBREW)
  1392.         {
  1393.             ami = &MMI_hebrew_multitaps[MMI_active_multitap];
  1394.         }
  1395.         else if (MMI_current_multitap_mode == INPUT_MODE_MMI_MULTITAP_HEBREW)
  1396.         {
  1397.             ami = &MMI_hebrew_multitaps[MMI_active_multitap];
  1398.         }
  1399.     #endif /* defined(__MMI_MULTITAP_HEBREW__) */ 
  1400.     #if defined(__MMI_MULTITAP_FINNISH__)
  1401.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_FINNISH)
  1402.         {
  1403.             ami = &MMI_finnish_uppercase_multitaps[MMI_active_multitap];
  1404.         }
  1405.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_FINNISH)
  1406.         {
  1407.             ami = &MMI_finnish_lowercase_multitaps[MMI_active_multitap];
  1408.         }
  1409.         else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_FINNISH)
  1410.         {
  1411.             ami = &MMI_finnish_lowercase_multitaps[MMI_active_multitap];
  1412.         }
  1413.     #endif /* defined(__MMI_MULTITAP_FINNISH__) */ 
  1414.     #if defined(__MMI_MULTITAP_HUNGARIAN__)
  1415.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_HUNGARIAN)
  1416.         {
  1417.             ami = &MMI_hungarian_uppercase_multitaps[MMI_active_multitap];
  1418.         }
  1419.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_HUNGARIAN)
  1420.         {
  1421.             ami = &MMI_hungarian_lowercase_multitaps[MMI_active_multitap];
  1422.         }
  1423.         else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_HUNGARIAN)
  1424.         {
  1425.             ami = &MMI_hungarian_lowercase_multitaps[MMI_active_multitap];
  1426.         }
  1427.     #endif /* defined(__MMI_MULTITAP_HUNGARIAN__) */ 
  1428.     #if defined(__MMI_MULTITAP_SLOVAK__)
  1429.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_SLOVAK)
  1430.         {
  1431.             ami = &MMI_slovak_uppercase_multitaps[MMI_active_multitap];
  1432.         }
  1433.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_SLOVAK)
  1434.         {
  1435.             ami = &MMI_slovak_lowercase_multitaps[MMI_active_multitap];
  1436.         }
  1437.         else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_SLOVAK)
  1438.         {
  1439.             ami = &MMI_slovak_lowercase_multitaps[MMI_active_multitap];
  1440.         }
  1441.     #endif /* defined(__MMI_MULTITAP_SLOVAK__) */ 
  1442.     #if defined(__MMI_MULTITAP_DUTCH__)
  1443.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_DUTCH)
  1444.         {
  1445.             ami = &MMI_dutch_uppercase_multitaps[MMI_active_multitap];
  1446.         }
  1447.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_DUTCH)
  1448.         {
  1449.             ami = &MMI_dutch_lowercase_multitaps[MMI_active_multitap];
  1450.         }
  1451.         else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_DUTCH)
  1452.         {
  1453.             ami = &MMI_dutch_lowercase_multitaps[MMI_active_multitap];
  1454.         }
  1455.     #endif /* defined(__MMI_MULTITAP_DUTCH__) */ 
  1456.     #if defined(__MMI_MULTITAP_ARABIC__)
  1457.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_ARABIC)
  1458.         {
  1459.             ami = &MMI_arabic_multitaps[MMI_active_multitap];
  1460.         }
  1461.         else if (MMI_current_multitap_mode == INPUT_MODE_MMI_MULTITAP_ARABIC)
  1462.         {
  1463.             ami = &MMI_arabic_multitaps[MMI_active_multitap];
  1464.         }
  1465.     #endif /* defined(__MMI_MULTITAP_ARABIC__) */ 
  1466.         /* PMT START PERSIAN */
  1467.     #if defined(__MMI_MULTITAP_PERSIAN__)
  1468.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_PERSIAN)
  1469.         {
  1470.             ami = &MMI_persian_multitaps[MMI_active_multitap];
  1471.         }
  1472.         else if (MMI_current_multitap_mode == INPUT_MODE_MMI_MULTITAP_PERSIAN)
  1473.         {
  1474.             ami = &MMI_persian_multitaps[MMI_active_multitap];
  1475.         }
  1476.     #endif /* defined(__MMI_MULTITAP_PERSIAN__) */ 
  1477.         /* PMT END PERSIAN */
  1478.     #if defined(__MMI_MULTITAP_NORWEGIAN__)
  1479.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_NORWEGIAN)
  1480.         {
  1481.             ami = &MMI_norwegian_uppercase_multitaps[MMI_active_multitap];
  1482.         }
  1483.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_NORWEGIAN)
  1484.         {
  1485.             ami = &MMI_norwegian_lowercase_multitaps[MMI_active_multitap];
  1486.         }
  1487.         else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_NORWEGIAN)
  1488.         {
  1489.             ami = &MMI_norwegian_lowercase_multitaps[MMI_active_multitap];
  1490.         }
  1491.     #endif /* defined(__MMI_MULTITAP_NORWEGIAN__) */ 
  1492.         //Norwegian end
  1493.     #if defined(__MMI_MULTITAP_SWEDISH__)
  1494.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_SWEDISH)
  1495.         {
  1496.             ami = &MMI_swedish_uppercase_multitaps[MMI_active_multitap];
  1497.         }
  1498.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_SWEDISH)
  1499.         {
  1500.             ami = &MMI_swedish_lowercase_multitaps[MMI_active_multitap];
  1501.         }
  1502.         else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_SWEDISH)
  1503.         {
  1504.             ami = &MMI_swedish_lowercase_multitaps[MMI_active_multitap];
  1505.         }
  1506.     #endif /* defined(__MMI_MULTITAP_SWEDISH__) */ 
  1507.     #if defined(__MMI_MULTITAP_CROATIAN__)
  1508.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_CROATIAN)
  1509.         {
  1510.             ami = &MMI_croatian_uppercase_multitaps[MMI_active_multitap];
  1511.         }
  1512.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_CROATIAN)
  1513.         {
  1514.             ami = &MMI_croatian_lowercase_multitaps[MMI_active_multitap];
  1515.         }
  1516.         else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_CROATIAN)
  1517.         {
  1518.             ami = &MMI_croatian_lowercase_multitaps[MMI_active_multitap];
  1519.         }
  1520.     #endif /* defined(__MMI_MULTITAP_CROATIAN__) */ 
  1521.     #if defined(__MMI_MULTITAP_ROMANIAN__)
  1522.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_ROMANIAN)
  1523.         {
  1524.             ami = &MMI_romanian_uppercase_multitaps[MMI_active_multitap];
  1525.         }
  1526.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_ROMANIAN)
  1527.         {
  1528.             ami = &MMI_romanian_lowercase_multitaps[MMI_active_multitap];
  1529.         }
  1530.         else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_ROMANIAN)
  1531.         {
  1532.             ami = &MMI_romanian_lowercase_multitaps[MMI_active_multitap];
  1533.         }
  1534.     #endif /* defined(__MMI_MULTITAP_ROMANIAN__) */ 
  1535.     #if defined(__MMI_MULTITAP_SLOVENIAN__)
  1536.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_SLOVENIAN)
  1537.         {
  1538.             ami = &MMI_slovenian_uppercase_multitaps[MMI_active_multitap];
  1539.         }
  1540.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_SLOVENIAN)
  1541.         {
  1542.             ami = &MMI_slovenian_lowercase_multitaps[MMI_active_multitap];
  1543.         }
  1544.         else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_SLOVENIAN)
  1545.         {
  1546.             ami = &MMI_slovenian_lowercase_multitaps[MMI_active_multitap];
  1547.         }
  1548.     #endif /* defined(__MMI_MULTITAP_SLOVENIAN__) */ 
  1549.     #if defined(__MMI_MULTITAP_GREEK__)
  1550.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_GREEK)
  1551.         {
  1552.             ami = &MMI_greek_uppercase_multitaps[MMI_active_multitap];
  1553.         }
  1554.         else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_GREEK)
  1555.         {
  1556.             ami = &MMI_greek_lowercase_multitaps[MMI_active_multitap];
  1557.         }
  1558.         else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_GREEK)
  1559.         {
  1560.             ami = &MMI_greek_lowercase_multitaps[MMI_active_multitap];
  1561.         }
  1562.     #endif /* defined(__MMI_MULTITAP_GREEK__) */ 
  1563.     }
  1564.     ret = MMI_TRUE;
  1565.     if (ami != NULL)
  1566.     {
  1567.         switch (pen_event)
  1568.         {
  1569.             case MMI_PEN_EVENT_DOWN:
  1570.                 if (gui_multitap_input_translate_pen_position(ami, x, y, &index))
  1571.                 {
  1572.                     ami->current_position = index;
  1573.                     show_multitap();
  1574.                     ami->input_callback(ami->text[ami->current_position]);
  1575.                     gui_cancel_timer(disable_active_multitap);
  1576.                 }
  1577.                 else
  1578.                 {
  1579.                     ret = MMI_FALSE;
  1580.                 }
  1581.                 break;
  1582.             case MMI_PEN_EVENT_UP:
  1583.                 gui_start_timer(MMI_MULTITAP_TIMEOUT, disable_active_multitap);
  1584.                 break;
  1585.             case MMI_PEN_EVENT_MOVE:
  1586.                 if (gui_multitap_input_translate_pen_position(ami, x, y, &index))
  1587.                 {
  1588.                     ami->current_position = index;
  1589.                     show_multitap();
  1590.                     ami->input_callback(ami->text[ami->current_position]);
  1591.                     gui_cancel_timer(disable_active_multitap);
  1592.                 }
  1593.                 else
  1594.                 {
  1595.                     ret = MMI_FALSE;
  1596.                 }
  1597.                 break;
  1598.             case MMI_PEN_EVENT_LONG_TAP:
  1599.                 break;
  1600.             case MMI_PEN_EVENT_REPEAT:
  1601.                 break;
  1602.             case MMI_PEN_EVENT_ABORT:
  1603.                 break;
  1604.         }
  1605.     }
  1606.     else
  1607.     {
  1608.         ret = MMI_FALSE;
  1609.     }
  1610.     return ret;
  1611. }
  1612. #endif /* __MMI_TOUCH_SCREEN__ */ 
  1613. /*****************************************************************************
  1614.  * FUNCTION
  1615.  *  disable_active_multitap
  1616.  * DESCRIPTION
  1617.  *  disables the active multitap object
  1618.  *  
  1619.  *  Internal function
  1620.  * PARAMETERS
  1621.  *  void
  1622.  * RETURNS
  1623.  *  void
  1624.  *****************************************************************************/
  1625. void disable_active_multitap(void)
  1626. {
  1627.     /*----------------------------------------------------------------*/
  1628.     /* Local Variables                                                */
  1629.     /*----------------------------------------------------------------*/
  1630.     multitap_input *ami = NULL;
  1631.     /*----------------------------------------------------------------*/
  1632.     /* Code Body                                                      */
  1633.     /*----------------------------------------------------------------*/
  1634.     /* W06.09 Touch Screen With Keypad V1 */
  1635. #if defined(__MMI_TOUCH_SCREEN__)
  1636.     mmi_pen_editor_bpmf_pinyin_disable_active_multitap();
  1637. #endif 
  1638.     if (MMI_active_multitap < 0)
  1639.     {
  1640.         return;
  1641.     }
  1642.     // for multitap timing issue
  1643.     if (MMI_timer_multitap != MMI_active_multitap)
  1644.     {
  1645.         return;
  1646.     }
  1647.     
  1648.     //MTK Elvis to add some APIs for Qsearch
  1649.     //(MMI_current_multitap_mode==0) ami=&MMI_uppercase_multitaps[MMI_active_multitap];
  1650.     //se if(MMI_current_multitap_mode==1) ami=&MMI_lowercase_multitaps[MMI_active_multitap];
  1651.     switch (MMI_current_multitap_mode)
  1652.     {
  1653.         case INPUT_MODE_MULTITAP_UPPERCASE_ABC:
  1654.             ami = &MMI_uppercase_multitaps[MMI_active_multitap];
  1655.             break;
  1656.         case INPUT_MODE_MULTITAP_LOWERCASE_ABC:
  1657.             ami = &MMI_lowercase_multitaps[MMI_active_multitap];
  1658.             break;
  1659.             /* PMT dara added for Multitap thai */
  1660.     #if defined (__MMI_MULTITAP_THAI__)
  1661.         case INPUT_MODE_MULTITAP_THAI:
  1662.             ami = &MMI_thai_multitaps[MMI_active_multitap];
  1663.             break;
  1664.         case INPUT_MODE_MMI_MULTITAP_THAI:
  1665.             ami = &MMI_thai_multitaps[MMI_active_multitap];
  1666.             break;
  1667.     #endif /* defined (__MMI_MULTITAP_THAI__) */ 
  1668.             /* MTK Terry for Spanish French German Italian Russian Turkish Portuguese Indonesian Malay Vietnamese */
  1669.     #if defined(__MMI_MULTITAP_SPANISH__)
  1670.         case INPUT_MODE_MULTITAP_UPPERCASE_SPANISH:
  1671.             ami = &MMI_spanish_uppercase_multitaps[MMI_active_multitap];
  1672.             break;
  1673.         case INPUT_MODE_MULTITAP_LOWERCASE_SPANISH:
  1674.             ami = &MMI_spanish_lowercase_multitaps[MMI_active_multitap];
  1675.             break;
  1676.         case INPUT_MODE_MMI_LOWERCASE_SPANISH:
  1677.             ami = &MMI_spanish_lowercase_multitaps[MMI_active_multitap];
  1678.             break;
  1679.     #endif /* defined(__MMI_MULTITAP_SPANISH__) */ 
  1680.     #if defined(__MMI_MULTITAP_DANISH__)
  1681.         case INPUT_MODE_MULTITAP_UPPERCASE_DANISH:
  1682.             ami = &MMI_danish_uppercase_multitaps[MMI_active_multitap];
  1683.             break;
  1684.         case INPUT_MODE_MULTITAP_LOWERCASE_DANISH:
  1685.             ami = &MMI_danish_lowercase_multitaps[MMI_active_multitap];
  1686.             break;
  1687.         case INPUT_MODE_MMI_LOWERCASE_DANISH:
  1688.             ami = &MMI_danish_lowercase_multitaps[MMI_active_multitap];
  1689.             break;
  1690.     #endif /* defined(__MMI_MULTITAP_DANISH__) */ 
  1691.     #if defined(__MMI_MULTITAP_POLISH__)
  1692.         case INPUT_MODE_MULTITAP_UPPERCASE_POLISH:
  1693.             ami = &MMI_polish_uppercase_multitaps[MMI_active_multitap];
  1694.             break;
  1695.         case INPUT_MODE_MULTITAP_LOWERCASE_POLISH:
  1696.             ami = &MMI_polish_lowercase_multitaps[MMI_active_multitap];
  1697.             break;
  1698.         case INPUT_MODE_MMI_LOWERCASE_POLISH:
  1699.             ami = &MMI_polish_lowercase_multitaps[MMI_active_multitap];
  1700.             break;
  1701.     #endif /* defined(__MMI_MULTITAP_POLISH__) */ 
  1702.     #if defined(__MMI_MULTITAP_FRENCH__)
  1703.         case INPUT_MODE_MULTITAP_UPPERCASE_FRENCH:
  1704.             ami = &MMI_french_uppercase_multitaps[MMI_active_multitap];
  1705.             break;
  1706.         case INPUT_MODE_MULTITAP_LOWERCASE_FRENCH:
  1707.             ami = &MMI_french_lowercase_multitaps[MMI_active_multitap];
  1708.             break;
  1709.         case INPUT_MODE_MMI_LOWERCASE_FRENCH:
  1710.             ami = &MMI_french_lowercase_multitaps[MMI_active_multitap];
  1711.             break;
  1712.     #endif /* defined(__MMI_MULTITAP_FRENCH__) */ 
  1713.     #if defined(__MMI_MULTITAP_GERMAN__)
  1714.         case INPUT_MODE_MULTITAP_UPPERCASE_GERMAN:
  1715.             ami = &MMI_german_uppercase_multitaps[MMI_active_multitap];
  1716.             break;
  1717.         case INPUT_MODE_MULTITAP_LOWERCASE_GERMAN:
  1718.             ami = &MMI_german_lowercase_multitaps[MMI_active_multitap];
  1719.             break;
  1720.         case INPUT_MODE_MMI_LOWERCASE_GERMAN:
  1721.             ami = &MMI_german_lowercase_multitaps[MMI_active_multitap];
  1722.             break;
  1723.     #endif /* defined(__MMI_MULTITAP_GERMAN__) */ 
  1724.     #if defined(__MMI_MULTITAP_ITALIAN__)
  1725.         case INPUT_MODE_MULTITAP_UPPERCASE_ITALIAN:
  1726.             ami = &MMI_italian_uppercase_multitaps[MMI_active_multitap];
  1727.             break;
  1728.         case INPUT_MODE_MULTITAP_LOWERCASE_ITALIAN:
  1729.             ami = &MMI_italian_lowercase_multitaps[MMI_active_multitap];
  1730.             break;
  1731.         case INPUT_MODE_MMI_LOWERCASE_ITALIAN:
  1732.             ami = &MMI_italian_lowercase_multitaps[MMI_active_multitap];
  1733.             break;
  1734.     #endif /* defined(__MMI_MULTITAP_ITALIAN__) */ 
  1735.     #if defined(__MMI_MULTITAP_RUSSIAN__)
  1736.         case INPUT_MODE_MULTITAP_UPPERCASE_RUSSIAN:
  1737.             ami = &MMI_russian_uppercase_multitaps[MMI_active_multitap];
  1738.             break;
  1739.         case INPUT_MODE_MULTITAP_LOWERCASE_RUSSIAN:
  1740.             ami = &MMI_russian_lowercase_multitaps[MMI_active_multitap];
  1741.             break;
  1742.         case INPUT_MODE_MMI_LOWERCASE_RUSSIAN:
  1743.             ami = &MMI_russian_lowercase_multitaps[MMI_active_multitap];
  1744.             break;
  1745.     #endif /* defined(__MMI_MULTITAP_RUSSIAN__) */ 
  1746.     #if defined(__MMI_MULTITAP_BULGARIAN__)
  1747.         case INPUT_MODE_MULTITAP_UPPERCASE_BULGARIAN:
  1748.             ami = &MMI_bulgarian_uppercase_multitaps[MMI_active_multitap];
  1749.             break;
  1750.         case INPUT_MODE_MULTITAP_LOWERCASE_BULGARIAN:
  1751.             ami = &MMI_bulgarian_lowercase_multitaps[MMI_active_multitap];
  1752.             break;
  1753.         case INPUT_MODE_MMI_LOWERCASE_BULGARIAN:
  1754.             ami = &MMI_bulgarian_lowercase_multitaps[MMI_active_multitap];
  1755.             break;
  1756.     #endif /* defined(__MMI_MULTITAP_BULGARIAN__) */ 
  1757.     #if defined(__MMI_MULTITAP_TURKISH__)
  1758.         case INPUT_MODE_MULTITAP_UPPERCASE_TURKISH:
  1759.             ami = &MMI_turkish_uppercase_multitaps[MMI_active_multitap];
  1760.             break;
  1761.         case INPUT_MODE_MULTITAP_LOWERCASE_TURKISH:
  1762.             ami = &MMI_turkish_lowercase_multitaps[MMI_active_multitap];
  1763.             break;
  1764.         case INPUT_MODE_MMI_LOWERCASE_TURKISH:
  1765.             ami = &MMI_turkish_lowercase_multitaps[MMI_active_multitap];
  1766.             break;
  1767.     #endif /* defined(__MMI_MULTITAP_TURKISH__) */ 
  1768.     #if defined(__MMI_MULTITAP_PORTUGUESE__)
  1769.         case INPUT_MODE_MULTITAP_UPPERCASE_PORTUGUESE:
  1770.             ami = &MMI_portuguese_uppercase_multitaps[MMI_active_multitap];
  1771.             break;
  1772.         case INPUT_MODE_MULTITAP_LOWERCASE_PORTUGUESE:
  1773.             ami = &MMI_portuguese_lowercase_multitaps[MMI_active_multitap];
  1774.             break;
  1775.         case INPUT_MODE_MMI_LOWERCASE_PORTUGUESE:
  1776.             ami = &MMI_portuguese_lowercase_multitaps[MMI_active_multitap];
  1777.             break;
  1778.     #endif /* defined(__MMI_MULTITAP_PORTUGUESE__) */
  1779.     /* PMT RAKESH START 20061006 */ 
  1780.     #if defined(__MMI_MULTITAP_HINDI__)
  1781.     /* PMT RAKESH END 20061006 */
  1782.         case INPUT_MODE_MULTITAP_HINDI:
  1783.             ami = &MMI_hindi_multitaps[MMI_active_multitap];
  1784.             break;
  1785.     #endif /* defined(__MMI_MULTITAP_HINDI__) */ 
  1786.             /* PMT RAKESH START 20061006 */
  1787.     #if defined(__MMI_MULTITAP_MARATHI__)
  1788.         case INPUT_MODE_MULTITAP_MARATHI:
  1789.             ami = &MMI_marathi_multitaps[MMI_active_multitap];
  1790.             break;
  1791.     #endif /* defined(__MMI_MULTITAP_MARATHI__) */ 
  1792.             /* PMT RAKESH END 20061006 */
  1793.     #if defined(__MMI_MULTITAP_INDONESIAN__)
  1794.         case INPUT_MODE_MULTITAP_UPPERCASE_INDONESIAN:
  1795.             ami = &MMI_indonesian_uppercase_multitaps[MMI_active_multitap];
  1796.             break;
  1797.         case INPUT_MODE_MULTITAP_LOWERCASE_INDONESIAN:
  1798.             ami = &MMI_indonesian_lowercase_multitaps[MMI_active_multitap];
  1799.             break;
  1800.         case INPUT_MODE_MMI_LOWERCASE_INDONESIAN:
  1801.             ami = &MMI_indonesian_lowercase_multitaps[MMI_active_multitap];
  1802.             break;
  1803.     #endif /* defined(__MMI_MULTITAP_INDONESIAN__) */ 
  1804.     #if defined(__MMI_MULTITAP_CZECH__)
  1805.         case INPUT_MODE_MULTITAP_UPPERCASE_CZECH:
  1806.             ami = &MMI_czech_uppercase_multitaps[MMI_active_multitap];
  1807.             break;
  1808.         case INPUT_MODE_MULTITAP_LOWERCASE_CZECH:
  1809.             ami = &MMI_czech_lowercase_multitaps[MMI_active_multitap];
  1810.             break;
  1811.         case INPUT_MODE_MMI_LOWERCASE_CZECH:
  1812.             ami = &MMI_czech_lowercase_multitaps[MMI_active_multitap];
  1813.             break;
  1814.     #endif /* defined(__MMI_MULTITAP_CZECH__) */ 
  1815.     #if defined(__MMI_MULTITAP_MALAY__)
  1816.         case INPUT_MODE_MULTITAP_UPPERCASE_MALAY:
  1817.             ami = &MMI_malay_uppercase_multitaps[MMI_active_multitap];
  1818.             break;
  1819.         case INPUT_MODE_MULTITAP_LOWERCASE_MALAY:
  1820.             ami = &MMI_malay_lowercase_multitaps[MMI_active_multitap];
  1821.             break;
  1822.         case INPUT_MODE_MMI_LOWERCASE_MALAY:
  1823.             ami = &MMI_malay_lowercase_multitaps[MMI_active_multitap];
  1824.             break;
  1825.     #endif /* defined(__MMI_MULTITAP_MALAY__) */ 
  1826.     #if defined(__MMI_MULTITAP_VIETNAMESE__)
  1827.         case INPUT_MODE_MULTITAP_UPPERCASE_VIETNAMESE:
  1828.             ami = &MMI_vietnamese_uppercase_multitaps[MMI_active_multitap];
  1829.             break;
  1830.         case INPUT_MODE_MULTITAP_LOWERCASE_VIETNAMESE:
  1831.             ami = &MMI_vietnamese_lowercase_multitaps[MMI_active_multitap];
  1832.             break;
  1833.         case INPUT_MODE_MMI_LOWERCASE_VIETNAMESE:
  1834.             ami = &MMI_vietnamese_lowercase_multitaps[MMI_active_multitap];
  1835.             break;
  1836.     #endif /* defined(__MMI_MULTITAP_VIETNAMESE__) */ 
  1837.     #if defined(__MMI_MULTITAP_FINNISH__)
  1838.         case INPUT_MODE_MULTITAP_UPPERCASE_FINNISH:
  1839.             ami = &MMI_finnish_uppercase_multitaps[MMI_active_multitap];
  1840.             break;
  1841.         case INPUT_MODE_MULTITAP_LOWERCASE_FINNISH:
  1842.             ami = &MMI_finnish_lowercase_multitaps[MMI_active_multitap];
  1843.             break;
  1844.         case INPUT_MODE_MMI_LOWERCASE_FINNISH:
  1845.             ami = &MMI_finnish_lowercase_multitaps[MMI_active_multitap];
  1846.             break;
  1847.     #endif /* defined(__MMI_MULTITAP_FINNISH__) */ 
  1848.     #if defined(__MMI_MULTITAP_HUNGARIAN__)
  1849.         case INPUT_MODE_MULTITAP_UPPERCASE_HUNGARIAN:
  1850.             ami = &MMI_hungarian_uppercase_multitaps[MMI_active_multitap];
  1851.             break;
  1852.         case INPUT_MODE_MULTITAP_LOWERCASE_HUNGARIAN:
  1853.             ami = &MMI_hungarian_lowercase_multitaps[MMI_active_multitap];
  1854.             break;
  1855.         case INPUT_MODE_MMI_LOWERCASE_HUNGARIAN:
  1856.             ami = &MMI_hungarian_lowercase_multitaps[MMI_active_multitap];
  1857.             break;
  1858.     #endif /* defined(__MMI_MULTITAP_HUNGARIAN__) */ 
  1859.     #if defined(__MMI_MULTITAP_HEBREW__)
  1860.         case INPUT_MODE_MULTITAP_HEBREW:
  1861.             ami = &MMI_hebrew_multitaps[MMI_active_multitap];
  1862.             break;
  1863.         case INPUT_MODE_MMI_MULTITAP_HEBREW:
  1864.             ami = &MMI_hebrew_multitaps[MMI_active_multitap];
  1865.             break;
  1866.     #endif /* defined(__MMI_MULTITAP_HEBREW__) */ 
  1867.     #if defined(__MMI_MULTITAP_SLOVAK__)
  1868.         case INPUT_MODE_MULTITAP_UPPERCASE_SLOVAK:
  1869.             ami = &MMI_slovak_uppercase_multitaps[MMI_active_multitap];
  1870.             break;
  1871.         case INPUT_MODE_MULTITAP_LOWERCASE_SLOVAK:
  1872.             ami = &MMI_slovak_lowercase_multitaps[MMI_active_multitap];
  1873.             break;
  1874.         case INPUT_MODE_MMI_LOWERCASE_SLOVAK:
  1875.             ami = &MMI_slovak_lowercase_multitaps[MMI_active_multitap];
  1876.             break;
  1877.     #endif /* defined(__MMI_MULTITAP_SLOVAK__) */ 
  1878.     #if defined(__MMI_MULTITAP_DUTCH__)
  1879.         case INPUT_MODE_MULTITAP_UPPERCASE_DUTCH:
  1880.             ami = &MMI_dutch_uppercase_multitaps[MMI_active_multitap];
  1881.             break;
  1882.         case INPUT_MODE_MULTITAP_LOWERCASE_DUTCH:
  1883.             ami = &MMI_dutch_lowercase_multitaps[MMI_active_multitap];
  1884.             break;
  1885.         case INPUT_MODE_MMI_LOWERCASE_DUTCH:
  1886.             ami = &MMI_dutch_lowercase_multitaps[MMI_active_multitap];
  1887.             break;
  1888.     #endif /* defined(__MMI_MULTITAP_DUTCH__) */ 
  1889.     #if defined(__MMI_MULTITAP_ARABIC__)
  1890.         case INPUT_MODE_MULTITAP_ARABIC:
  1891.             ami = &MMI_arabic_multitaps[MMI_active_multitap];
  1892.             break;
  1893.         case INPUT_MODE_MMI_MULTITAP_ARABIC:
  1894.             ami = &MMI_arabic_multitaps[MMI_active_multitap];
  1895.             break;
  1896.     #endif /* defined(__MMI_MULTITAP_ARABIC__) */ 
  1897.             /* PMT START PERSIAN */
  1898.     #if defined(__MMI_MULTITAP_PERSIAN__)
  1899.         case INPUT_MODE_MULTITAP_PERSIAN:
  1900.             ami = &MMI_persian_multitaps[MMI_active_multitap];
  1901.             break;
  1902.         case INPUT_MODE_MMI_MULTITAP_PERSIAN:
  1903.             ami = &MMI_persian_multitaps[MMI_active_multitap];
  1904.             break;
  1905.     #endif /* defined(__MMI_MULTITAP_PERSIAN__) */ 
  1906.             /* PMT END PERSIAN */
  1907.     #if defined(__MMI_MULTITAP_NORWEGIAN__)
  1908.         case INPUT_MODE_MULTITAP_UPPERCASE_NORWEGIAN:
  1909.             ami = &MMI_norwegian_uppercase_multitaps[MMI_active_multitap];
  1910.             break;
  1911.         case INPUT_MODE_MULTITAP_LOWERCASE_NORWEGIAN:
  1912.             ami = &MMI_norwegian_lowercase_multitaps[MMI_active_multitap];
  1913.             break;
  1914.         case INPUT_MODE_MMI_LOWERCASE_NORWEGIAN:
  1915.             ami = &MMI_norwegian_lowercase_multitaps[MMI_active_multitap];
  1916.             break;
  1917.     #endif /* defined(__MMI_MULTITAP_NORWEGIAN__) */ 
  1918.             //Norwegian end
  1919.     #if defined(__MMI_MULTITAP_SWEDISH__)
  1920.         case INPUT_MODE_MULTITAP_UPPERCASE_SWEDISH:
  1921.             ami = &MMI_swedish_uppercase_multitaps[MMI_active_multitap];
  1922.             break;
  1923.         case INPUT_MODE_MULTITAP_LOWERCASE_SWEDISH:
  1924.             ami = &MMI_swedish_lowercase_multitaps[MMI_active_multitap];
  1925.             break;
  1926.         case INPUT_MODE_MMI_LOWERCASE_SWEDISH:
  1927.             ami = &MMI_swedish_lowercase_multitaps[MMI_active_multitap];
  1928.             break;
  1929.     #endif /* defined(__MMI_MULTITAP_SWEDISH__) */ 
  1930.     #if defined(__MMI_MULTITAP_CROATIAN__)
  1931.         case INPUT_MODE_MULTITAP_UPPERCASE_CROATIAN:
  1932.             ami = &MMI_croatian_uppercase_multitaps[MMI_active_multitap];
  1933.             break;
  1934.         case INPUT_MODE_MULTITAP_LOWERCASE_CROATIAN:
  1935.             ami = &MMI_croatian_lowercase_multitaps[MMI_active_multitap];
  1936.             break;
  1937.         case INPUT_MODE_MMI_LOWERCASE_CROATIAN:
  1938.             ami = &MMI_croatian_lowercase_multitaps[MMI_active_multitap];
  1939.             break;
  1940.     #endif /* defined(__MMI_MULTITAP_CROATIAN__) */ 
  1941.     #if defined(__MMI_MULTITAP_ROMANIAN__)
  1942.         case INPUT_MODE_MULTITAP_UPPERCASE_ROMANIAN:
  1943.             ami = &MMI_romanian_uppercase_multitaps[MMI_active_multitap];
  1944.             break;
  1945.         case INPUT_MODE_MULTITAP_LOWERCASE_ROMANIAN:
  1946.             ami = &MMI_romanian_lowercase_multitaps[MMI_active_multitap];
  1947.             break;
  1948.         case INPUT_MODE_MMI_LOWERCASE_ROMANIAN:
  1949.             ami = &MMI_romanian_lowercase_multitaps[MMI_active_multitap];
  1950.             break;
  1951.     #endif /* defined(__MMI_MULTITAP_ROMANIAN__) */ 
  1952.     #if defined(__MMI_MULTITAP_SLOVENIAN__)
  1953.         case INPUT_MODE_MULTITAP_UPPERCASE_SLOVENIAN:
  1954.             ami = &MMI_slovenian_uppercase_multitaps[MMI_active_multitap];
  1955.             break;
  1956.         case INPUT_MODE_MULTITAP_LOWERCASE_SLOVENIAN:
  1957.             ami = &MMI_slovenian_lowercase_multitaps[MMI_active_multitap];
  1958.             break;
  1959.         case INPUT_MODE_MMI_LOWERCASE_SLOVENIAN:
  1960.             ami = &MMI_slovenian_lowercase_multitaps[MMI_active_multitap];
  1961.             break;
  1962.     #endif /* defined(__MMI_MULTITAP_SLOVENIAN__) */ 
  1963.     #if defined(__MMI_MULTITAP_GREEK__)
  1964.         case INPUT_MODE_MULTITAP_UPPERCASE_GREEK:
  1965.             ami = &MMI_greek_uppercase_multitaps[MMI_active_multitap];
  1966.             break;
  1967.         case INPUT_MODE_MULTITAP_LOWERCASE_GREEK:
  1968.             ami = &MMI_greek_lowercase_multitaps[MMI_active_multitap];
  1969.             break;
  1970.         case INPUT_MODE_MMI_LOWERCASE_GREEK:
  1971.             ami = &MMI_greek_lowercase_multitaps[MMI_active_multitap];
  1972.             break;
  1973.     #endif /* defined(__MMI_MULTITAP_GREEK__) */ 
  1974.         case INPUT_MODE_MMI_MULTITAP_BPMF:
  1975.             ami = &MMI_bpmf_multitaps[MMI_active_multitap];
  1976.             break;
  1977.         case INPUT_MODE_MMI_MULTITAP_PINYIN:
  1978.             ami = &MMI_lowercase_multitaps[MMI_active_multitap];
  1979.             break;
  1980.         case INPUT_MODE_MMI_LOWERCASE_ABC:
  1981.             ami = &MMI_lowercase_multitaps[MMI_active_multitap];
  1982.             break;
  1983.     #if defined(__MMI_WCSS_INPUT_FORMAT_SUPPORT__)
  1984.         case INPUT_MODE_MULTITAP_UPPERCASE_ABC_NO_NUMERIC:
  1985.             ami = &MMI_uppercase_numberless_multitaps[MMI_active_multitap];
  1986.             break;
  1987.         case INPUT_MODE_MULTITAP_LOWERCASE_ABC_NO_NUMERIC:
  1988.             ami = &MMI_lowercase_numberless_multitaps[MMI_active_multitap];
  1989.             break;
  1990.     #endif /* defined(__MMI_WCSS_INPUT_FORMAT_SUPPORT__) */ 
  1991.     }
  1992.     /* W06.09 Touch Screen With Keypad V1 */
  1993. #if defined(__MMI_FULL_SCREEN_EDITOR__) || defined(__MMI_TOUCH_SCREEN__)
  1994. #else /* defined(__MMI_FULL_SCREEN_EDITOR__) || defined(__MMI_TOUCH_SCREEN__) */ 
  1995.     hide_multitap();
  1996. #endif /* defined(__MMI_FULL_SCREEN_EDITOR__) || defined(__MMI_TOUCH_SCREEN__) */ 
  1997.     /* PMT dara added for Multitap thai */
  1998. #if defined(__MMI_MULTITAP_THAI__)
  1999.     if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_THAI ||
  2000.         MMI_current_multitap_mode == INPUT_MODE_MMI_MULTITAP_THAI)
  2001.     {
  2002.         gui_multitap_input_complete(ami);
  2003.         MMI_active_multitap = -1;
  2004.     }
  2005.     else
  2006.     {
  2007. #endif /* defined(__MMI_MULTITAP_THAI__) */ 
  2008.         MMI_active_multitap = -1;
  2009.         gui_multitap_input_complete(ami);
  2010.     #if defined(__MMI_MULTITAP_THAI__)
  2011.     }
  2012.     #endif 
  2013. }
  2014. /*****************************************************************************
  2015.  * FUNCTION
  2016.  *  disable_active_multitap_no_draw
  2017.  * DESCRIPTION
  2018.  *  
  2019.  * PARAMETERS
  2020.  *  void
  2021.  * RETURNS
  2022.  *  void
  2023.  *****************************************************************************/
  2024. void disable_active_multitap_no_draw(void)
  2025. {
  2026.     /*----------------------------------------------------------------*/
  2027.     /* Local Variables                                                */
  2028.     /*----------------------------------------------------------------*/
  2029.     multitap_input *ami;
  2030.     /*----------------------------------------------------------------*/
  2031.     /* Code Body                                                      */
  2032.     /*----------------------------------------------------------------*/
  2033.     if (MMI_active_multitap < 0)
  2034.     {
  2035.         return;
  2036.     }
  2037.     // for timing issue
  2038.     if (MMI_timer_multitap != MMI_active_multitap)
  2039.     {
  2040.         return;
  2041.     }
  2042.     
  2043.     if (MMI_current_multitap_mode == 0)
  2044.     {
  2045.         ami = &MMI_uppercase_multitaps[MMI_active_multitap];
  2046.     }
  2047.     else if (MMI_current_multitap_mode == 1)
  2048.     {
  2049.         ami = &MMI_lowercase_multitaps[MMI_active_multitap];
  2050.     }
  2051.     else if (MMI_current_multitap_mode == INPUT_MODE_MMI_MULTITAP_BPMF)
  2052.     {
  2053.         ami = &MMI_bpmf_multitaps[MMI_active_multitap];
  2054.     }
  2055.     else if (MMI_current_multitap_mode == INPUT_MODE_MMI_MULTITAP_PINYIN)
  2056.     {
  2057.         ami = &MMI_lowercase_multitaps[MMI_active_multitap];
  2058.     }
  2059.     else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_ABC)
  2060.     {
  2061.         ami = &MMI_lowercase_multitaps[MMI_active_multitap];
  2062.     }
  2063. #if defined(__MMI_WCSS_INPUT_FORMAT_SUPPORT__)
  2064.     else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_ABC_NO_NUMERIC)
  2065.     {
  2066.         ami = &MMI_uppercase_numberless_multitaps[MMI_active_multitap];
  2067.     }
  2068.     else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_ABC_NO_NUMERIC)
  2069.     {
  2070.         ami = &MMI_lowercase_numberless_multitaps[MMI_active_multitap];
  2071.     }
  2072. #endif /* defined(__MMI_WCSS_INPUT_FORMAT_SUPPORT__) */ 
  2073.     /* PMT dara added for Multitap thai */
  2074. #if defined (__MMI_MULTITAP_THAI__)
  2075.     else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_THAI)
  2076.     {
  2077.         ami = &MMI_thai_multitaps[MMI_active_multitap];
  2078.     }
  2079.     else if (MMI_current_multitap_mode == INPUT_MODE_MMI_MULTITAP_THAI)
  2080.     {
  2081.         ami = &MMI_thai_multitaps[MMI_active_multitap];
  2082.     }
  2083. #endif /* defined (__MMI_MULTITAP_THAI__) */ 
  2084.     /* MTK Terry for Spanish French German Italian Russian Turkish Portuguese Indonesian Malay Vietnamese */
  2085. #if defined(__MMI_MULTITAP_SPANISH__)
  2086.     else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_SPANISH)
  2087.     {
  2088.         ami = &MMI_spanish_uppercase_multitaps[MMI_active_multitap];
  2089.     }
  2090.     else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_SPANISH)
  2091.     {
  2092.         ami = &MMI_spanish_lowercase_multitaps[MMI_active_multitap];
  2093.     }
  2094.     else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_SPANISH)
  2095.     {
  2096.         ami = &MMI_spanish_lowercase_multitaps[MMI_active_multitap];
  2097.     }
  2098. #endif /* defined(__MMI_MULTITAP_SPANISH__) */ 
  2099. #if defined(__MMI_MULTITAP_DANISH__)
  2100.     else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_DANISH)
  2101.     {
  2102.         ami = &MMI_danish_uppercase_multitaps[MMI_active_multitap];
  2103.     }
  2104.     else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_DANISH)
  2105.     {
  2106.         ami = &MMI_danish_lowercase_multitaps[MMI_active_multitap];
  2107.     }
  2108.     else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_DANISH)
  2109.     {
  2110.         ami = &MMI_danish_lowercase_multitaps[MMI_active_multitap];
  2111.     }
  2112. #endif /* defined(__MMI_MULTITAP_DANISH__) */ 
  2113. #if defined(__MMI_MULTITAP_POLISH__)
  2114.     else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_POLISH)
  2115.     {
  2116.         ami = &MMI_polish_uppercase_multitaps[MMI_active_multitap];
  2117.     }
  2118.     else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_POLISH)
  2119.     {
  2120.         ami = &MMI_polish_lowercase_multitaps[MMI_active_multitap];
  2121.     }
  2122.     else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_POLISH)
  2123.     {
  2124.         ami = &MMI_polish_lowercase_multitaps[MMI_active_multitap];
  2125.     }
  2126. #endif /* defined(__MMI_MULTITAP_POLISH__) */ 
  2127. #if defined(__MMI_MULTITAP_FRENCH__)
  2128.     else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_FRENCH)
  2129.     {
  2130.         ami = &MMI_french_uppercase_multitaps[MMI_active_multitap];
  2131.     }
  2132.     else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_FRENCH)
  2133.     {
  2134.         ami = &MMI_french_lowercase_multitaps[MMI_active_multitap];
  2135.     }
  2136.     else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_FRENCH)
  2137.     {
  2138.         ami = &MMI_french_lowercase_multitaps[MMI_active_multitap];
  2139.     }
  2140. #endif /* defined(__MMI_MULTITAP_FRENCH__) */ 
  2141. #if defined(__MMI_MULTITAP_GERMAN__)
  2142.     else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_GERMAN)
  2143.     {
  2144.         ami = &MMI_german_uppercase_multitaps[MMI_active_multitap];
  2145.     }
  2146.     else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_GERMAN)
  2147.     {
  2148.         ami = &MMI_german_lowercase_multitaps[MMI_active_multitap];
  2149.     }
  2150.     else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_GERMAN)
  2151.     {
  2152.         ami = &MMI_german_lowercase_multitaps[MMI_active_multitap];
  2153.     }
  2154. #endif /* defined(__MMI_MULTITAP_GERMAN__) */ 
  2155. #if defined(__MMI_MULTITAP_ITALIAN__)
  2156.     else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_ITALIAN)
  2157.     {
  2158.         ami = &MMI_italian_uppercase_multitaps[MMI_active_multitap];
  2159.     }
  2160.     else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_ITALIAN)
  2161.     {
  2162.         ami = &MMI_italian_lowercase_multitaps[MMI_active_multitap];
  2163.     }
  2164.     else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_ITALIAN)
  2165.     {
  2166.         ami = &MMI_italian_lowercase_multitaps[MMI_active_multitap];
  2167.     }
  2168. #endif /* defined(__MMI_MULTITAP_ITALIAN__) */ 
  2169. #if defined(__MMI_MULTITAP_RUSSIAN__)
  2170.     else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_RUSSIAN)
  2171.     {
  2172.         ami = &MMI_russian_uppercase_multitaps[MMI_active_multitap];
  2173.     }
  2174.     else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_RUSSIAN)
  2175.     {
  2176.         ami = &MMI_russian_lowercase_multitaps[MMI_active_multitap];
  2177.     }
  2178.     else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_RUSSIAN)
  2179.     {
  2180.         ami = &MMI_russian_lowercase_multitaps[MMI_active_multitap];
  2181.     }
  2182. #endif /* defined(__MMI_MULTITAP_RUSSIAN__) */ 
  2183. #if defined(__MMI_MULTITAP_BULGARIAN__)
  2184.     else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_BULGARIAN)
  2185.     {
  2186.         ami = &MMI_bulgarian_uppercase_multitaps[MMI_active_multitap];
  2187.     }
  2188.     else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_BULGARIAN)
  2189.     {
  2190.         ami = &MMI_bulgarian_lowercase_multitaps[MMI_active_multitap];
  2191.     }
  2192.     else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_BULGARIAN)
  2193.     {
  2194.         ami = &MMI_bulgarian_lowercase_multitaps[MMI_active_multitap];
  2195.     }
  2196. #endif /* defined(__MMI_MULTITAP_BULGARIAN__) */ 
  2197. #if defined(__MMI_MULTITAP_TURKISH__)
  2198.     else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_TURKISH)
  2199.     {
  2200.         ami = &MMI_turkish_uppercase_multitaps[MMI_active_multitap];
  2201.     }
  2202.     else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_TURKISH)
  2203.     {
  2204.         ami = &MMI_turkish_lowercase_multitaps[MMI_active_multitap];
  2205.     }
  2206.     else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_TURKISH)
  2207.     {
  2208.         ami = &MMI_turkish_lowercase_multitaps[MMI_active_multitap];
  2209.     }
  2210. #endif /* defined(__MMI_MULTITAP_TURKISH__) */ 
  2211. #if defined(__MMI_MULTITAP_PORTUGUESE__)
  2212.     else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_PORTUGUESE)
  2213.     {
  2214.         ami = &MMI_portuguese_uppercase_multitaps[MMI_active_multitap];
  2215.     }
  2216.     else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_PORTUGUESE)
  2217.     {
  2218.         ami = &MMI_portuguese_lowercase_multitaps[MMI_active_multitap];
  2219.     }
  2220.     else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_PORTUGUESE)
  2221.     {
  2222.         ami = &MMI_portuguese_lowercase_multitaps[MMI_active_multitap];
  2223.     }
  2224. #endif /* defined(__MMI_MULTITAP_PORTUGUESE__) */ 
  2225. /* PMT RAKESH START 20061006 */
  2226. #if defined(__MMI_MULTITAP_HINDI__)
  2227. /* PMT RAKESH END 20061006 */
  2228.     else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_HINDI)
  2229.     {
  2230.         ami = &MMI_hindi_multitaps[MMI_active_multitap];
  2231.     }
  2232. #endif /* defined(__MMI_MULTITAP_HINDI__) */ 
  2233.     /* PMT RAKESH START 20061006 */
  2234. #if defined(__MMI_MULTITAP_MARATHI__)
  2235.     else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_MARATHI)
  2236.     {
  2237.         ami = &MMI_marathi_multitaps[MMI_active_multitap];
  2238.     }
  2239. #endif /* defined(__MMI_MULTITAP_MARATHI__) */ 
  2240.     /* PMT RAKESH END 20061006 */
  2241. #if defined(__MMI_MULTITAP_INDONESIAN__)
  2242.     else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_INDONESIAN)
  2243.     {
  2244.         ami = &MMI_indonesian_uppercase_multitaps[MMI_active_multitap];
  2245.     }
  2246.     else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_INDONESIAN)
  2247.     {
  2248.         ami = &MMI_indonesian_lowercase_multitaps[MMI_active_multitap];
  2249.     }
  2250.     else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_INDONESIAN)
  2251.     {
  2252.         ami = &MMI_indonesian_lowercase_multitaps[MMI_active_multitap];
  2253.     }
  2254. #endif /* defined(__MMI_MULTITAP_INDONESIAN__) */ 
  2255. #if defined(__MMI_MULTITAP_CZECH__)
  2256.     else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_CZECH)
  2257.     {
  2258.         ami = &MMI_czech_uppercase_multitaps[MMI_active_multitap];
  2259.     }
  2260.     else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_CZECH)
  2261.     {
  2262.         ami = &MMI_czech_lowercase_multitaps[MMI_active_multitap];
  2263.     }
  2264.     else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_CZECH)
  2265.     {
  2266.         ami = &MMI_czech_lowercase_multitaps[MMI_active_multitap];
  2267.     }
  2268. #endif /* defined(__MMI_MULTITAP_CZECH__) */ 
  2269. #if defined(__MMI_MULTITAP_MALAY__)
  2270.     else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_MALAY)
  2271.     {
  2272.         ami = &MMI_malay_uppercase_multitaps[MMI_active_multitap];
  2273.     }
  2274.     else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_MALAY)
  2275.     {
  2276.         ami = &MMI_malay_lowercase_multitaps[MMI_active_multitap];
  2277.     }
  2278.     else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_MALAY)
  2279.     {
  2280.         ami = &MMI_malay_lowercase_multitaps[MMI_active_multitap];
  2281.     }
  2282. #endif /* defined(__MMI_MULTITAP_MALAY__) */ 
  2283. #if defined(__MMI_MULTITAP_VIETNAMESE__)
  2284.     else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_VIETNAMESE)
  2285.     {
  2286.         ami = &MMI_vietnamese_uppercase_multitaps[MMI_active_multitap];
  2287.     }
  2288.     else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_VIETNAMESE)
  2289.     {
  2290.         ami = &MMI_vietnamese_lowercase_multitaps[MMI_active_multitap];
  2291.     }
  2292.     else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_VIETNAMESE)
  2293.     {
  2294.         ami = &MMI_vietnamese_lowercase_multitaps[MMI_active_multitap];
  2295.     }
  2296. #endif /* defined(__MMI_MULTITAP_VIETNAMESE__) */ 
  2297. #if defined(__MMI_MULTITAP_FINNISH__)
  2298.     else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_FINNISH)
  2299.     {
  2300.         ami = &MMI_finnish_uppercase_multitaps[MMI_active_multitap];
  2301.     }
  2302.     else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_FINNISH)
  2303.     {
  2304.         ami = &MMI_finnish_lowercase_multitaps[MMI_active_multitap];
  2305.     }
  2306.     else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_FINNISH)
  2307.     {
  2308.         ami = &MMI_finnish_lowercase_multitaps[MMI_active_multitap];
  2309.     }
  2310. #endif /* defined(__MMI_MULTITAP_FINNISH__) */ 
  2311. #if defined(__MMI_MULTITAP_HUNGARIAN__)
  2312.     else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_HUNGARIAN)
  2313.     {
  2314.         ami = &MMI_hungarian_uppercase_multitaps[MMI_active_multitap];
  2315.     }
  2316.     else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_HUNGARIAN)
  2317.     {
  2318.         ami = &MMI_hungarian_lowercase_multitaps[MMI_active_multitap];
  2319.     }
  2320.     else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_HUNGARIAN)
  2321.     {
  2322.         ami = &MMI_hungarian_lowercase_multitaps[MMI_active_multitap];
  2323.     }
  2324. #endif /* defined(__MMI_MULTITAP_HUNGARIAN__) */ 
  2325. #if defined(__MMI_MULTITAP_SWEDISH__)
  2326.     else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_SWEDISH)
  2327.     {
  2328.         ami = &MMI_swedish_uppercase_multitaps[MMI_active_multitap];
  2329.     }
  2330.     else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_SWEDISH)
  2331.     {
  2332.         ami = &MMI_swedish_lowercase_multitaps[MMI_active_multitap];
  2333.     }
  2334.     else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_SWEDISH)
  2335.     {
  2336.         ami = &MMI_swedish_lowercase_multitaps[MMI_active_multitap];
  2337.     }
  2338. #endif /* defined(__MMI_MULTITAP_SWEDISH__) */ 
  2339. #if defined(__MMI_MULTITAP_HEBREW__)
  2340.     else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_HEBREW)
  2341.     {
  2342.         ami = &MMI_hebrew_multitaps[MMI_active_multitap];
  2343.     }
  2344.     else if (MMI_current_multitap_mode == INPUT_MODE_MMI_MULTITAP_HEBREW)
  2345.     {
  2346.         ami = &MMI_hebrew_multitaps[MMI_active_multitap];
  2347.     }
  2348. #endif /* defined(__MMI_MULTITAP_HEBREW__) */ 
  2349. #if defined(__MMI_MULTITAP_SLOVAK__)
  2350.     else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_SLOVAK)
  2351.     {
  2352.         ami = &MMI_slovak_uppercase_multitaps[MMI_active_multitap];
  2353.     }
  2354.     else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_SLOVAK)
  2355.     {
  2356.         ami = &MMI_slovak_lowercase_multitaps[MMI_active_multitap];
  2357.     }
  2358.     else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_SLOVAK)
  2359.     {
  2360.         ami = &MMI_slovak_lowercase_multitaps[MMI_active_multitap];
  2361.     }
  2362. #endif /* defined(__MMI_MULTITAP_SLOVAK__) */ 
  2363. #if defined(__MMI_MULTITAP_DUTCH__)
  2364.     else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_DUTCH)
  2365.     {
  2366.         ami = &MMI_dutch_uppercase_multitaps[MMI_active_multitap];
  2367.     }
  2368.     else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_DUTCH)
  2369.     {
  2370.         ami = &MMI_dutch_lowercase_multitaps[MMI_active_multitap];
  2371.     }
  2372.     else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_DUTCH)
  2373.     {
  2374.         ami = &MMI_dutch_lowercase_multitaps[MMI_active_multitap];
  2375.     }
  2376. #endif /* defined(__MMI_MULTITAP_DUTCH__) */ 
  2377.     /* Norwegian start */
  2378. #if defined(__MMI_MULTITAP_NORWEGIAN__)
  2379.     else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_NORWEGIAN)
  2380.     {
  2381.         ami = &MMI_norwegian_uppercase_multitaps[MMI_active_multitap];
  2382.     }
  2383.     else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_NORWEGIAN)
  2384.     {
  2385.         ami = &MMI_norwegian_lowercase_multitaps[MMI_active_multitap];
  2386.     }
  2387.     else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_NORWEGIAN)
  2388.     {
  2389.         ami = &MMI_norwegian_lowercase_multitaps[MMI_active_multitap];
  2390.     }
  2391. #endif /* defined(__MMI_MULTITAP_NORWEGIAN__) */ 
  2392.     /* Norwegian end */
  2393. #if defined(__MMI_MULTITAP_ARABIC__)
  2394.     else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_ARABIC)
  2395.     {
  2396.         ami = &MMI_arabic_multitaps[MMI_active_multitap];
  2397.     }
  2398.     else if (MMI_current_multitap_mode == INPUT_MODE_MMI_MULTITAP_ARABIC)
  2399.     {
  2400.         ami = &MMI_arabic_multitaps[MMI_active_multitap];
  2401.     }
  2402. #endif /* defined(__MMI_MULTITAP_ARABIC__) */ 
  2403.     /* PMT START PERSIAN */
  2404. #if defined(__MMI_MULTITAP_PERSIAN__)
  2405.     else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_PERSIAN)
  2406.     {
  2407.         ami = &MMI_persian_multitaps[MMI_active_multitap];
  2408.     }
  2409.     else if (MMI_current_multitap_mode == INPUT_MODE_MMI_MULTITAP_PERSIAN)
  2410.     {
  2411.         ami = &MMI_persian_multitaps[MMI_active_multitap];
  2412.     }
  2413. #endif /* defined(__MMI_MULTITAP_PERSIAN__) */ 
  2414.     //PMT END PERSIAN
  2415. #if defined(__MMI_MULTITAP_CROATIAN__)
  2416.     else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_CROATIAN)
  2417.     {
  2418.         ami = &MMI_croatian_uppercase_multitaps[MMI_active_multitap];
  2419.     }
  2420.     else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_CROATIAN)
  2421.     {
  2422.         ami = &MMI_croatian_lowercase_multitaps[MMI_active_multitap];
  2423.     }
  2424.     else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_CROATIAN)
  2425.     {
  2426.         ami = &MMI_croatian_lowercase_multitaps[MMI_active_multitap];
  2427.     }
  2428. #endif /* defined(__MMI_MULTITAP_CROATIAN__) */ 
  2429. #if defined(__MMI_MULTITAP_ROMANIAN__)
  2430.     else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_ROMANIAN)
  2431.     {
  2432.         ami = &MMI_romanian_uppercase_multitaps[MMI_active_multitap];
  2433.     }
  2434.     else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_ROMANIAN)
  2435.     {
  2436.         ami = &MMI_romanian_lowercase_multitaps[MMI_active_multitap];
  2437.     }
  2438.     else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_ROMANIAN)
  2439.     {
  2440.         ami = &MMI_romanian_lowercase_multitaps[MMI_active_multitap];
  2441.     }
  2442. #endif /* defined(__MMI_MULTITAP_ROMANIAN__) */ 
  2443. #if defined(__MMI_MULTITAP_SLOVENIAN__)
  2444.     else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_SLOVENIAN)
  2445.     {
  2446.         ami = &MMI_slovenian_uppercase_multitaps[MMI_active_multitap];
  2447.     }
  2448.     else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_SLOVENIAN)
  2449.     {
  2450.         ami = &MMI_slovenian_lowercase_multitaps[MMI_active_multitap];
  2451.     }
  2452.     else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_SLOVENIAN)
  2453.     {
  2454.         ami = &MMI_slovenian_lowercase_multitaps[MMI_active_multitap];
  2455.     }
  2456. #endif /* defined(__MMI_MULTITAP_SLOVENIAN__) */ 
  2457. #if defined(__MMI_MULTITAP_GREEK__)
  2458.     else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_UPPERCASE_GREEK)
  2459.     {
  2460.         ami = &MMI_greek_uppercase_multitaps[MMI_active_multitap];
  2461.     }
  2462.     else if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_LOWERCASE_GREEK)
  2463.     {
  2464.         ami = &MMI_greek_lowercase_multitaps[MMI_active_multitap];
  2465.     }
  2466.     else if (MMI_current_multitap_mode == INPUT_MODE_MMI_LOWERCASE_GREEK)
  2467.     {
  2468.         ami = &MMI_greek_lowercase_multitaps[MMI_active_multitap];
  2469.     }
  2470. #endif /* defined(__MMI_MULTITAP_GREEK__) */ 
  2471.     else
  2472.     {
  2473.         return;
  2474.     }
  2475.     MMI_active_multitap = -1;
  2476.     gui_multitap_input_complete(ami);
  2477. }
  2478. /*****************************************************************************
  2479.  * FUNCTION
  2480.  *  change_multitap_state
  2481.  * DESCRIPTION
  2482.  *  Changes the state of a specified multitap object
  2483.  *  
  2484.  *  Internal function
  2485.  * PARAMETERS
  2486.  *  i       [IN]        
  2487.  * RETURNS
  2488.  *  void
  2489.  *****************************************************************************/
  2490. void change_multitap_state(S32 i)
  2491. {
  2492.     /*----------------------------------------------------------------*/
  2493.     /* Local Variables                                                */
  2494.     /*----------------------------------------------------------------*/
  2495.     multitap_input *ami = NULL;
  2496.     U8 flag = 0;
  2497.     S32 old_active_mi = MMI_active_multitap;
  2498.     /* PMT dara added for Multitap thai */
  2499. #if defined(__MMI_MULTITAP_THAI__)
  2500.     U8 max_multitaps;
  2501.     /*----------------------------------------------------------------*/
  2502.     /* Code Body                                                      */
  2503.     /*----------------------------------------------------------------*/
  2504.     if (MMI_current_multitap_mode == INPUT_MODE_MULTITAP_THAI ||
  2505.         MMI_current_multitap_mode == INPUT_MODE_MMI_MULTITAP_THAI)
  2506.     {
  2507.         max_multitaps = MAX_MULTITAPS_THAI;
  2508.     }
  2509.     else
  2510.     {
  2511.         max_multitaps = MAX_MULTITAPS;
  2512.     }
  2513. #else /* defined(__MMI_MULTITAP_THAI__) */ 
  2514.     U8 max_multitaps = MAX_MULTITAPS;
  2515. #endif /* defined(__MMI_MULTITAP_THAI__) */ 
  2516.     /* PMT dara added for Multitap thai */
  2517. #ifdef __MMI_MULTITAP_THAI__
  2518.     if (i == KEY_STAR)
  2519.     {
  2520.         i = 10;
  2521.     }
  2522.     if (i == KEY_POUND)
  2523.     {
  2524.         i = 11;
  2525.     }
  2526. #endif /* __MMI_MULTITAP_THAI__ */ 
  2527.     /* PMT dara added for Multitap thai */
  2528.     if ((i < 0) || (i > (max_multitaps - 1)))
  2529.     {
  2530.         return;
  2531.     }
  2532. #if(UI_DOUBLE_BUFFER_SUPPORT)
  2533.     /* gui_lock_double_buffer(); */
  2534. #endif 
  2535.     if (MMI_active_multitap != i)
  2536.     {
  2537.         flag = 1;
  2538.     }
  2539.     //START VIJAY 20050725....commented as to show multitap till character is selected      
  2540.     //hide_multitap(); 
  2541.     //END VIJAY PMT 20050725
  2542.     MMI_active_multitap = i;
  2543.     if (flag && (old_active_mi >= 0) && (old_active_mi < max_multitaps))
  2544.     {
  2545.         //MTK Elvis to add some APIs for Qsearch
  2546.         //if(MMI_current_multitap_mode==0) ami=&MMI_uppercase_multitaps[old_active_mi];
  2547.         //else if(MMI_current_multitap_mode==1) ami=&MMI_lowercase_multitaps[old_active_mi];
  2548.         switch (MMI_current_multitap_mode)
  2549.         {
  2550.             case INPUT_MODE_MULTITAP_UPPERCASE_ABC:
  2551.                 ami = &MMI_uppercase_multitaps[old_active_mi];
  2552.                 break;
  2553.             case INPUT_MODE_MULTITAP_LOWERCASE_ABC:
  2554.                 ami = &MMI_lowercase_multitaps[old_active_mi];
  2555.                 break;
  2556.                 /* PMT dara added for Multitap thai */
  2557.         #if defined (__MMI_MULTITAP_THAI__)
  2558.             case INPUT_MODE_MULTITAP_THAI:
  2559.                 ami = &MMI_thai_multitaps[old_active_mi];
  2560.                 break;
  2561.             case INPUT_MODE_MMI_MULTITAP_THAI:
  2562.                 ami = &MMI_thai_multitaps[old_active_mi];
  2563.                 break;
  2564.         #endif /* defined (__MMI_MULTITAP_THAI__) */ 
  2565.                 /* MTK Terry for Spanish French German Italian Russian Turkish Portuguese Indonesian Malay Vietnamese */
  2566.         #if defined(__MMI_MULTITAP_SPANISH__)
  2567.             case INPUT_MODE_MULTITAP_UPPERCASE_SPANISH:
  2568.                 ami = &MMI_spanish_uppercase_multitaps[old_active_mi];
  2569.                 break;
  2570.             case INPUT_MODE_MULTITAP_LOWERCASE_SPANISH:
  2571.                 ami = &MMI_spanish_lowercase_multitaps[old_active_mi];
  2572.                 break;
  2573.             case INPUT_MODE_MMI_LOWERCASE_SPANISH:
  2574.                 ami = &MMI_spanish_lowercase_multitaps[old_active_mi];
  2575.                 break;
  2576.         #endif /* defined(__MMI_MULTITAP_SPANISH__) */ 
  2577.         #if defined(__MMI_MULTITAP_DANISH__)
  2578.             case INPUT_MODE_MULTITAP_UPPERCASE_DANISH:
  2579.                 ami = &MMI_danish_uppercase_multitaps[old_active_mi];
  2580.                 break;
  2581.             case INPUT_MODE_MULTITAP_LOWERCASE_DANISH:
  2582.                 ami = &MMI_danish_lowercase_multitaps[old_active_mi];
  2583.                 break;
  2584.             case INPUT_MODE_MMI_LOWERCASE_DANISH:
  2585.                 ami = &MMI_danish_lowercase_multitaps[old_active_mi];
  2586.                 break;
  2587.         #endif /* defined(__MMI_MULTITAP_DANISH__) */ 
  2588.         #if defined(__MMI_MULTITAP_POLISH__)
  2589.             case INPUT_MODE_MULTITAP_UPPERCASE_POLISH:
  2590.                 ami = &MMI_polish_uppercase_multitaps[old_active_mi];
  2591.                 break;
  2592.             case INPUT_MODE_MULTITAP_LOWERCASE_POLISH:
  2593.                 ami = &MMI_polish_lowercase_multitaps[old_active_mi];
  2594.                 break;
  2595.             case INPUT_MODE_MMI_LOWERCASE_POLISH:
  2596.                 ami = &MMI_polish_lowercase_multitaps[old_active_mi];
  2597.                 break;
  2598.         #endif /* defined(__MMI_MULTITAP_POLISH__) */ 
  2599.         #if defined(__MMI_MULTITAP_FRENCH__)
  2600.             case INPUT_MODE_MULTITAP_UPPERCASE_FRENCH:
  2601.                 ami = &MMI_french_uppercase_multitaps[old_active_mi];
  2602.                 break;
  2603.             case INPUT_MODE_MULTITAP_LOWERCASE_FRENCH:
  2604.                 ami = &MMI_french_lowercase_multitaps[old_active_mi];
  2605.                 break;
  2606.             case INPUT_MODE_MMI_LOWERCASE_FRENCH:
  2607.                 ami = &MMI_french_lowercase_multitaps[old_active_mi];
  2608.                 break;
  2609.         #endif /* defined(__MMI_MULTITAP_FRENCH__) */ 
  2610.         #if defined(__MMI_MULTITAP_GERMAN__)
  2611.             case INPUT_MODE_MULTITAP_UPPERCASE_GERMAN:
  2612.                 ami = &MMI_german_uppercase_multitaps[old_active_mi];
  2613.                 break;
  2614.             case INPUT_MODE_MULTITAP_LOWERCASE_GERMAN:
  2615.                 ami = &MMI_german_lowercase_multitaps[old_active_mi];
  2616.                 break;
  2617.             case INPUT_MODE_MMI_LOWERCASE_GERMAN:
  2618.                 ami = &MMI_german_lowercase_multitaps[old_active_mi];
  2619.                 break;
  2620.         #endif /* defined(__MMI_MULTITAP_GERMAN__) */ 
  2621.         #if defined(__MMI_MULTITAP_ITALIAN__)
  2622.             case INPUT_MODE_MULTITAP_UPPERCASE_ITALIAN:
  2623.                 ami = &MMI_italian_uppercase_multitaps[old_active_mi];
  2624.                 break;
  2625.             case INPUT_MODE_MULTITAP_LOWERCASE_ITALIAN:
  2626.                 ami = &MMI_italian_lowercase_multitaps[old_active_mi];
  2627.                 break;
  2628.             case INPUT_MODE_MMI_LOWERCASE_ITALIAN:
  2629.                 ami = &MMI_italian_lowercase_multitaps[old_active_mi];
  2630.                 break;
  2631.         #endif /* defined(__MMI_MULTITAP_ITALIAN__) */ 
  2632.         #if defined(__MMI_MULTITAP_RUSSIAN__)
  2633.             case INPUT_MODE_MULTITAP_UPPERCASE_RUSSIAN:
  2634.                 ami = &MMI_russian_uppercase_multitaps[old_active_mi];
  2635.                 break;
  2636.             case INPUT_MODE_MULTITAP_LOWERCASE_RUSSIAN:
  2637.                 ami = &MMI_russian_lowercase_multitaps[old_active_mi];
  2638.                 break;
  2639.             case INPUT_MODE_MMI_LOWERCASE_RUSSIAN:
  2640.                 ami = &MMI_russian_lowercase_multitaps[old_active_mi];
  2641.                 break;
  2642.         #endif /* defined(__MMI_MULTITAP_RUSSIAN__) */ 
  2643.         #if defined(__MMI_MULTITAP_BULGARIAN__)
  2644.             case INPUT_MODE_MULTITAP_UPPERCASE_BULGARIAN:
  2645.                 ami = &MMI_bulgarian_uppercase_multitaps[old_active_mi];
  2646.                 break;
  2647.             case INPUT_MODE_MULTITAP_LOWERCASE_BULGARIAN:
  2648.                 ami = &MMI_bulgarian_lowercase_multitaps[old_active_mi];
  2649.                 break;