1 // KeyEvent code mapping pairs. 2 // From To 3 static __Uint16Pair __belgian_to_us_normal [] = { 4 { SCIM_KEY_exclam, SCIM_KEY_8 }, 5 { SCIM_KEY_quotedbl, SCIM_KEY_3 }, 6 { SCIM_KEY_dollar, SCIM_KEY_bracketright }, 7 { SCIM_KEY_ampersand, SCIM_KEY_1 }, 8 { SCIM_KEY_apostrophe, SCIM_KEY_4 }, 9 { SCIM_KEY_parenleft, SCIM_KEY_5 }, 10 { SCIM_KEY_parenright, SCIM_KEY_minus }, 11 { SCIM_KEY_comma, SCIM_KEY_m }, 12 { SCIM_KEY_minus, SCIM_KEY_equal }, 13 { SCIM_KEY_colon, SCIM_KEY_period }, 14 { SCIM_KEY_semicolon, SCIM_KEY_comma }, 15 { SCIM_KEY_equal, SCIM_KEY_slash }, 16 { SCIM_KEY_a, SCIM_KEY_q }, 17 { SCIM_KEY_m, SCIM_KEY_semicolon }, 18 { SCIM_KEY_q, SCIM_KEY_a }, 19 { SCIM_KEY_w, SCIM_KEY_z }, 20 { SCIM_KEY_z, SCIM_KEY_w }, 21 { SCIM_KEY_section, SCIM_KEY_6 }, 22 { SCIM_KEY_twosuperior, SCIM_KEY_grave }, 23 { SCIM_KEY_mu, SCIM_KEY_backslash }, 24 { SCIM_KEY_agrave, SCIM_KEY_0 }, 25 { SCIM_KEY_ccedilla, SCIM_KEY_9 }, 26 { SCIM_KEY_egrave, SCIM_KEY_7 }, 27 { SCIM_KEY_eacute, SCIM_KEY_2 }, 28 { SCIM_KEY_ugrave, SCIM_KEY_apostrophe }, 29 { SCIM_KEY_dead_circumflex, SCIM_KEY_bracketleft }, 30 }; 31 32 static __Uint16Pair __us_to_belgian_normal [] = { 33 { SCIM_KEY_apostrophe, SCIM_KEY_ugrave }, 34 { SCIM_KEY_comma, SCIM_KEY_semicolon }, 35 { SCIM_KEY_minus, SCIM_KEY_parenright }, 36 { SCIM_KEY_period, SCIM_KEY_colon }, 37 { SCIM_KEY_slash, SCIM_KEY_equal }, 38 { SCIM_KEY_0, SCIM_KEY_agrave }, 39 { SCIM_KEY_1, SCIM_KEY_ampersand }, 40 { SCIM_KEY_2, SCIM_KEY_eacute }, 41 { SCIM_KEY_3, SCIM_KEY_quotedbl }, 42 { SCIM_KEY_4, SCIM_KEY_apostrophe }, 43 { SCIM_KEY_5, SCIM_KEY_parenleft }, 44 { SCIM_KEY_6, SCIM_KEY_section }, 45 { SCIM_KEY_7, SCIM_KEY_egrave }, 46 { SCIM_KEY_8, SCIM_KEY_exclam }, 47 { SCIM_KEY_9, SCIM_KEY_ccedilla }, 48 { SCIM_KEY_semicolon, SCIM_KEY_m }, 49 { SCIM_KEY_equal, SCIM_KEY_minus }, 50 { SCIM_KEY_bracketleft, SCIM_KEY_dead_circumflex }, 51 { SCIM_KEY_backslash, SCIM_KEY_mu }, 52 { SCIM_KEY_bracketright, SCIM_KEY_dollar }, 53 { SCIM_KEY_grave, SCIM_KEY_twosuperior }, 54 { SCIM_KEY_a, SCIM_KEY_q }, 55 { SCIM_KEY_m, SCIM_KEY_comma }, 56 { SCIM_KEY_q, SCIM_KEY_a }, 57 { SCIM_KEY_w, SCIM_KEY_z }, 58 { SCIM_KEY_z, SCIM_KEY_w }, 59 }; 60 61 static __Uint16Pair __belgian_to_us_caps [] = { 62 { SCIM_KEY_exclam, SCIM_KEY_8 }, 63 { SCIM_KEY_quotedbl, SCIM_KEY_3 }, 64 { SCIM_KEY_dollar, SCIM_KEY_bracketright }, 65 { SCIM_KEY_ampersand, SCIM_KEY_1 }, 66 { SCIM_KEY_apostrophe, SCIM_KEY_4 }, 67 { SCIM_KEY_parenleft, SCIM_KEY_5 }, 68 { SCIM_KEY_parenright, SCIM_KEY_minus }, 69 { SCIM_KEY_comma, SCIM_KEY_M }, 70 { SCIM_KEY_minus, SCIM_KEY_equal }, 71 { SCIM_KEY_colon, SCIM_KEY_period }, 72 { SCIM_KEY_semicolon, SCIM_KEY_comma }, 73 { SCIM_KEY_equal, SCIM_KEY_slash }, 74 { SCIM_KEY_A, SCIM_KEY_Q }, 75 { SCIM_KEY_M, SCIM_KEY_semicolon }, 76 { SCIM_KEY_Q, SCIM_KEY_A }, 77 { SCIM_KEY_W, SCIM_KEY_Z }, 78 { SCIM_KEY_Z, SCIM_KEY_W }, 79 { SCIM_KEY_section, SCIM_KEY_6 }, 80 { SCIM_KEY_twosuperior, SCIM_KEY_grave }, 81 { SCIM_KEY_mu, SCIM_KEY_backslash }, 82 { SCIM_KEY_Agrave, SCIM_KEY_0 }, 83 { SCIM_KEY_Ccedilla, SCIM_KEY_9 }, 84 { SCIM_KEY_Egrave, SCIM_KEY_7 }, 85 { SCIM_KEY_Eacute, SCIM_KEY_2 }, 86 { SCIM_KEY_Ugrave, SCIM_KEY_apostrophe }, 87 { SCIM_KEY_dead_circumflex, SCIM_KEY_bracketleft }, 88 }; 89 90 static __Uint16Pair __us_to_belgian_caps [] = { 91 { SCIM_KEY_apostrophe, SCIM_KEY_Ugrave }, 92 { SCIM_KEY_comma, SCIM_KEY_semicolon }, 93 { SCIM_KEY_minus, SCIM_KEY_parenright }, 94 { SCIM_KEY_period, SCIM_KEY_colon }, 95 { SCIM_KEY_slash, SCIM_KEY_equal }, 96 { SCIM_KEY_0, SCIM_KEY_Agrave }, 97 { SCIM_KEY_1, SCIM_KEY_ampersand }, 98 { SCIM_KEY_2, SCIM_KEY_Eacute }, 99 { SCIM_KEY_3, SCIM_KEY_quotedbl }, 100 { SCIM_KEY_4, SCIM_KEY_apostrophe }, 101 { SCIM_KEY_5, SCIM_KEY_parenleft }, 102 { SCIM_KEY_6, SCIM_KEY_section }, 103 { SCIM_KEY_7, SCIM_KEY_Egrave }, 104 { SCIM_KEY_8, SCIM_KEY_exclam }, 105 { SCIM_KEY_9, SCIM_KEY_Ccedilla }, 106 { SCIM_KEY_semicolon, SCIM_KEY_M }, 107 { SCIM_KEY_equal, SCIM_KEY_minus }, 108 { SCIM_KEY_A, SCIM_KEY_Q }, 109 { SCIM_KEY_M, SCIM_KEY_comma }, 110 { SCIM_KEY_Q, SCIM_KEY_A }, 111 { SCIM_KEY_W, SCIM_KEY_Z }, 112 { SCIM_KEY_Z, SCIM_KEY_W }, 113 { SCIM_KEY_bracketleft, SCIM_KEY_dead_circumflex }, 114 { SCIM_KEY_backslash, SCIM_KEY_mu }, 115 { SCIM_KEY_bracketright, SCIM_KEY_dollar }, 116 { SCIM_KEY_grave, SCIM_KEY_twosuperior }, 117 }; 118 119 static __Uint16Pair __belgian_to_us_shift [] = { 120 { SCIM_KEY_percent, SCIM_KEY_quotedbl }, 121 { SCIM_KEY_asterisk, SCIM_KEY_braceright }, 122 { SCIM_KEY_plus, SCIM_KEY_question }, 123 { SCIM_KEY_period, SCIM_KEY_less }, 124 { SCIM_KEY_slash, SCIM_KEY_greater }, 125 { SCIM_KEY_0, SCIM_KEY_parenright }, 126 { SCIM_KEY_1, SCIM_KEY_exclam }, 127 { SCIM_KEY_2, SCIM_KEY_at }, 128 { SCIM_KEY_3, SCIM_KEY_numbersign }, 129 { SCIM_KEY_4, SCIM_KEY_dollar }, 130 { SCIM_KEY_5, SCIM_KEY_percent }, 131 { SCIM_KEY_6, SCIM_KEY_asciicircum }, 132 { SCIM_KEY_7, SCIM_KEY_ampersand }, 133 { SCIM_KEY_8, SCIM_KEY_asterisk }, 134 { SCIM_KEY_9, SCIM_KEY_parenleft }, 135 { SCIM_KEY_question, SCIM_KEY_M }, 136 { SCIM_KEY_A, SCIM_KEY_Q }, 137 { SCIM_KEY_M, SCIM_KEY_colon }, 138 { SCIM_KEY_Q, SCIM_KEY_A }, 139 { SCIM_KEY_W, SCIM_KEY_Z }, 140 { SCIM_KEY_Z, SCIM_KEY_W }, 141 { SCIM_KEY_underscore, SCIM_KEY_plus }, 142 { SCIM_KEY_sterling, SCIM_KEY_bar }, 143 { SCIM_KEY_degree, SCIM_KEY_underscore }, 144 { SCIM_KEY_threesuperior, SCIM_KEY_asciitilde }, 145 { SCIM_KEY_dead_diaeresis, SCIM_KEY_braceleft }, 146 }; 147 148 static __Uint16Pair __us_to_belgian_shift [] = { 149 { SCIM_KEY_exclam, SCIM_KEY_1 }, 150 { SCIM_KEY_quotedbl, SCIM_KEY_percent }, 151 { SCIM_KEY_numbersign, SCIM_KEY_3 }, 152 { SCIM_KEY_dollar, SCIM_KEY_4 }, 153 { SCIM_KEY_percent, SCIM_KEY_5 }, 154 { SCIM_KEY_ampersand, SCIM_KEY_7 }, 155 { SCIM_KEY_parenleft, SCIM_KEY_9 }, 156 { SCIM_KEY_parenright, SCIM_KEY_0 }, 157 { SCIM_KEY_asterisk, SCIM_KEY_8 }, 158 { SCIM_KEY_plus, SCIM_KEY_underscore }, 159 { SCIM_KEY_colon, SCIM_KEY_M }, 160 { SCIM_KEY_less, SCIM_KEY_period }, 161 { SCIM_KEY_greater, SCIM_KEY_slash }, 162 { SCIM_KEY_question, SCIM_KEY_plus }, 163 { SCIM_KEY_at, SCIM_KEY_2 }, 164 { SCIM_KEY_A, SCIM_KEY_Q }, 165 { SCIM_KEY_M, SCIM_KEY_question }, 166 { SCIM_KEY_Q, SCIM_KEY_A }, 167 { SCIM_KEY_W, SCIM_KEY_Z }, 168 { SCIM_KEY_Z, SCIM_KEY_W }, 169 { SCIM_KEY_asciicircum, SCIM_KEY_6 }, 170 { SCIM_KEY_underscore, SCIM_KEY_degree }, 171 { SCIM_KEY_braceleft, SCIM_KEY_dead_diaeresis }, 172 { SCIM_KEY_bar, SCIM_KEY_sterling }, 173 { SCIM_KEY_braceright, SCIM_KEY_asterisk }, 174 { SCIM_KEY_asciitilde, SCIM_KEY_threesuperior }, 175 }; 176 177 static __Uint16Pair __belgian_to_us_caps_shift [] = { 178 { SCIM_KEY_percent, SCIM_KEY_quotedbl }, 179 { SCIM_KEY_asterisk, SCIM_KEY_braceright }, 180 { SCIM_KEY_plus, SCIM_KEY_question }, 181 { SCIM_KEY_period, SCIM_KEY_less }, 182 { SCIM_KEY_slash, SCIM_KEY_greater }, 183 { SCIM_KEY_0, SCIM_KEY_parenright }, 184 { SCIM_KEY_1, SCIM_KEY_exclam }, 185 { SCIM_KEY_2, SCIM_KEY_at }, 186 { SCIM_KEY_3, SCIM_KEY_numbersign }, 187 { SCIM_KEY_4, SCIM_KEY_dollar }, 188 { SCIM_KEY_5, SCIM_KEY_percent }, 189 { SCIM_KEY_6, SCIM_KEY_asciicircum }, 190 { SCIM_KEY_7, SCIM_KEY_ampersand }, 191 { SCIM_KEY_8, SCIM_KEY_asterisk }, 192 { SCIM_KEY_9, SCIM_KEY_parenleft }, 193 { SCIM_KEY_question, SCIM_KEY_m }, 194 { SCIM_KEY_underscore, SCIM_KEY_plus }, 195 { SCIM_KEY_a, SCIM_KEY_q }, 196 { SCIM_KEY_m, SCIM_KEY_colon }, 197 { SCIM_KEY_q, SCIM_KEY_a }, 198 { SCIM_KEY_w, SCIM_KEY_z }, 199 { SCIM_KEY_z, SCIM_KEY_w }, 200 { SCIM_KEY_sterling, SCIM_KEY_bar }, 201 { SCIM_KEY_degree, SCIM_KEY_underscore }, 202 { SCIM_KEY_threesuperior, SCIM_KEY_asciitilde }, 203 { SCIM_KEY_dead_diaeresis, SCIM_KEY_braceleft }, 204 }; 205 206 static __Uint16Pair __us_to_belgian_caps_shift [] = { 207 { SCIM_KEY_exclam, SCIM_KEY_1 }, 208 { SCIM_KEY_quotedbl, SCIM_KEY_percent }, 209 { SCIM_KEY_numbersign, SCIM_KEY_3 }, 210 { SCIM_KEY_dollar, SCIM_KEY_4 }, 211 { SCIM_KEY_percent, SCIM_KEY_5 }, 212 { SCIM_KEY_ampersand, SCIM_KEY_7 }, 213 { SCIM_KEY_parenleft, SCIM_KEY_9 }, 214 { SCIM_KEY_parenright, SCIM_KEY_0 }, 215 { SCIM_KEY_asterisk, SCIM_KEY_8 }, 216 { SCIM_KEY_plus, SCIM_KEY_underscore }, 217 { SCIM_KEY_colon, SCIM_KEY_m }, 218 { SCIM_KEY_less, SCIM_KEY_period }, 219 { SCIM_KEY_greater, SCIM_KEY_slash }, 220 { SCIM_KEY_question, SCIM_KEY_plus }, 221 { SCIM_KEY_at, SCIM_KEY_2 }, 222 { SCIM_KEY_asciicircum, SCIM_KEY_6 }, 223 { SCIM_KEY_underscore, SCIM_KEY_degree }, 224 { SCIM_KEY_a, SCIM_KEY_q }, 225 { SCIM_KEY_m, SCIM_KEY_question }, 226 { SCIM_KEY_q, SCIM_KEY_a }, 227 { SCIM_KEY_w, SCIM_KEY_z }, 228 { SCIM_KEY_z, SCIM_KEY_w }, 229 { SCIM_KEY_braceleft, SCIM_KEY_dead_diaeresis }, 230 { SCIM_KEY_bar, SCIM_KEY_sterling }, 231 { SCIM_KEY_braceright, SCIM_KEY_asterisk }, 232 { SCIM_KEY_asciitilde, SCIM_KEY_threesuperior }, 233 }; 234 235 static __Uint16Pair __czech_to_us_normal [] = { 236 { SCIM_KEY_parenright, SCIM_KEY_bracketright }, 237 { SCIM_KEY_plus, SCIM_KEY_1 }, 238 { SCIM_KEY_minus, SCIM_KEY_slash }, 239 { SCIM_KEY_semicolon, SCIM_KEY_grave }, 240 { SCIM_KEY_equal, SCIM_KEY_minus }, 241 { SCIM_KEY_y, SCIM_KEY_z }, 242 { SCIM_KEY_z, SCIM_KEY_y }, 243 { SCIM_KEY_section, SCIM_KEY_apostrophe }, 244 { SCIM_KEY_aacute, SCIM_KEY_8 }, 245 { SCIM_KEY_eacute, SCIM_KEY_0 }, 246 { SCIM_KEY_iacute, SCIM_KEY_9 }, 247 { SCIM_KEY_uacute, SCIM_KEY_bracketleft }, 248 { SCIM_KEY_yacute, SCIM_KEY_7 }, 249 { SCIM_KEY_scaron, SCIM_KEY_3 }, 250 { SCIM_KEY_zcaron, SCIM_KEY_6 }, 251 { SCIM_KEY_ccaron, SCIM_KEY_4 }, 252 { SCIM_KEY_ecaron, SCIM_KEY_2 }, 253 { SCIM_KEY_rcaron, SCIM_KEY_5 }, 254 { SCIM_KEY_uring, SCIM_KEY_semicolon }, 255 { SCIM_KEY_dead_acute, SCIM_KEY_equal }, 256 { SCIM_KEY_dead_diaeresis, SCIM_KEY_backslash }, 257 }; 258 259 static __Uint16Pair __us_to_czech_normal [] = { 260 { SCIM_KEY_apostrophe, SCIM_KEY_section }, 261 { SCIM_KEY_minus, SCIM_KEY_equal }, 262 { SCIM_KEY_slash, SCIM_KEY_minus }, 263 { SCIM_KEY_0, SCIM_KEY_eacute }, 264 { SCIM_KEY_1, SCIM_KEY_plus }, 265 { SCIM_KEY_2, SCIM_KEY_ecaron }, 266 { SCIM_KEY_3, SCIM_KEY_scaron }, 267 { SCIM_KEY_4, SCIM_KEY_ccaron }, 268 { SCIM_KEY_5, SCIM_KEY_rcaron }, 269 { SCIM_KEY_6, SCIM_KEY_zcaron }, 270 { SCIM_KEY_7, SCIM_KEY_yacute }, 271 { SCIM_KEY_8, SCIM_KEY_aacute }, 272 { SCIM_KEY_9, SCIM_KEY_iacute }, 273 { SCIM_KEY_semicolon, SCIM_KEY_uring }, 274 { SCIM_KEY_equal, SCIM_KEY_dead_acute }, 275 { SCIM_KEY_bracketleft, SCIM_KEY_uacute }, 276 { SCIM_KEY_backslash, SCIM_KEY_dead_diaeresis }, 277 { SCIM_KEY_bracketright, SCIM_KEY_parenright }, 278 { SCIM_KEY_grave, SCIM_KEY_semicolon }, 279 { SCIM_KEY_y, SCIM_KEY_z }, 280 { SCIM_KEY_z, SCIM_KEY_y }, 281 }; 282 283 static __Uint16Pair __czech_to_us_caps [] = { 284 { SCIM_KEY_parenright, SCIM_KEY_bracketright }, 285 { SCIM_KEY_plus, SCIM_KEY_1 }, 286 { SCIM_KEY_minus, SCIM_KEY_slash }, 287 { SCIM_KEY_semicolon, SCIM_KEY_grave }, 288 { SCIM_KEY_equal, SCIM_KEY_minus }, 289 { SCIM_KEY_Y, SCIM_KEY_Z }, 290 { SCIM_KEY_Z, SCIM_KEY_Y }, 291 { SCIM_KEY_section, SCIM_KEY_apostrophe }, 292 { SCIM_KEY_Aacute, SCIM_KEY_8 }, 293 { SCIM_KEY_Eacute, SCIM_KEY_0 }, 294 { SCIM_KEY_Iacute, SCIM_KEY_9 }, 295 { SCIM_KEY_Uacute, SCIM_KEY_bracketleft }, 296 { SCIM_KEY_Yacute, SCIM_KEY_7 }, 297 { SCIM_KEY_Scaron, SCIM_KEY_3 }, 298 { SCIM_KEY_Zcaron, SCIM_KEY_6 }, 299 { SCIM_KEY_Ccaron, SCIM_KEY_4 }, 300 { SCIM_KEY_Ecaron, SCIM_KEY_2 }, 301 { SCIM_KEY_Rcaron, SCIM_KEY_5 }, 302 { SCIM_KEY_Uring, SCIM_KEY_semicolon }, 303 { SCIM_KEY_dead_acute, SCIM_KEY_equal }, 304 { SCIM_KEY_dead_diaeresis, SCIM_KEY_backslash }, 305 }; 306 307 static __Uint16Pair __us_to_czech_caps [] = { 308 { SCIM_KEY_apostrophe, SCIM_KEY_section }, 309 { SCIM_KEY_minus, SCIM_KEY_equal }, 310 { SCIM_KEY_slash, SCIM_KEY_minus }, 311 { SCIM_KEY_0, SCIM_KEY_Eacute }, 312 { SCIM_KEY_1, SCIM_KEY_plus }, 313 { SCIM_KEY_2, SCIM_KEY_Ecaron }, 314 { SCIM_KEY_3, SCIM_KEY_Scaron }, 315 { SCIM_KEY_4, SCIM_KEY_Ccaron }, 316 { SCIM_KEY_5, SCIM_KEY_Rcaron }, 317 { SCIM_KEY_6, SCIM_KEY_Zcaron }, 318 { SCIM_KEY_7, SCIM_KEY_Yacute }, 319 { SCIM_KEY_8, SCIM_KEY_Aacute }, 320 { SCIM_KEY_9, SCIM_KEY_Iacute }, 321 { SCIM_KEY_semicolon, SCIM_KEY_Uring }, 322 { SCIM_KEY_equal, SCIM_KEY_dead_acute }, 323 { SCIM_KEY_Y, SCIM_KEY_Z }, 324 { SCIM_KEY_Z, SCIM_KEY_Y }, 325 { SCIM_KEY_bracketleft, SCIM_KEY_Uacute }, 326 { SCIM_KEY_backslash, SCIM_KEY_dead_diaeresis }, 327 { SCIM_KEY_bracketright, SCIM_KEY_parenright }, 328 { SCIM_KEY_grave, SCIM_KEY_semicolon }, 329 }; 330 331 static __Uint16Pair __czech_to_us_shift [] = { 332 { SCIM_KEY_exclam, SCIM_KEY_quotedbl }, 333 { SCIM_KEY_quotedbl, SCIM_KEY_colon }, 334 { SCIM_KEY_percent, SCIM_KEY_underscore }, 335 { SCIM_KEY_apostrophe, SCIM_KEY_bar }, 336 { SCIM_KEY_parenleft, SCIM_KEY_braceright }, 337 { SCIM_KEY_slash, SCIM_KEY_braceleft }, 338 { SCIM_KEY_0, SCIM_KEY_parenright }, 339 { SCIM_KEY_1, SCIM_KEY_exclam }, 340 { SCIM_KEY_2, SCIM_KEY_at }, 341 { SCIM_KEY_3, SCIM_KEY_numbersign }, 342 { SCIM_KEY_4, SCIM_KEY_dollar }, 343 { SCIM_KEY_5, SCIM_KEY_percent }, 344 { SCIM_KEY_6, SCIM_KEY_asciicircum }, 345 { SCIM_KEY_7, SCIM_KEY_ampersand }, 346 { SCIM_KEY_8, SCIM_KEY_asterisk }, 347 { SCIM_KEY_9, SCIM_KEY_parenleft }, 348 { SCIM_KEY_colon, SCIM_KEY_greater }, 349 { SCIM_KEY_question, SCIM_KEY_less }, 350 { SCIM_KEY_Y, SCIM_KEY_Z }, 351 { SCIM_KEY_Z, SCIM_KEY_Y }, 352 { SCIM_KEY_underscore, SCIM_KEY_question }, 353 { SCIM_KEY_dead_abovering, SCIM_KEY_asciitilde }, 354 { SCIM_KEY_dead_caron, SCIM_KEY_plus }, 355 }; 356 357 static __Uint16Pair __us_to_czech_shift [] = { 358 { SCIM_KEY_exclam, SCIM_KEY_1 }, 359 { SCIM_KEY_quotedbl, SCIM_KEY_exclam }, 360 { SCIM_KEY_numbersign, SCIM_KEY_3 }, 361 { SCIM_KEY_dollar, SCIM_KEY_4 }, 362 { SCIM_KEY_percent, SCIM_KEY_5 }, 363 { SCIM_KEY_ampersand, SCIM_KEY_7 }, 364 { SCIM_KEY_parenleft, SCIM_KEY_9 }, 365 { SCIM_KEY_parenright, SCIM_KEY_0 }, 366 { SCIM_KEY_asterisk, SCIM_KEY_8 }, 367 { SCIM_KEY_plus, SCIM_KEY_dead_caron }, 368 { SCIM_KEY_colon, SCIM_KEY_quotedbl }, 369 { SCIM_KEY_less, SCIM_KEY_question }, 370 { SCIM_KEY_greater, SCIM_KEY_colon }, 371 { SCIM_KEY_question, SCIM_KEY_underscore }, 372 { SCIM_KEY_at, SCIM_KEY_2 }, 373 { SCIM_KEY_Y, SCIM_KEY_Z }, 374 { SCIM_KEY_Z, SCIM_KEY_Y }, 375 { SCIM_KEY_asciicircum, SCIM_KEY_6 }, 376 { SCIM_KEY_underscore, SCIM_KEY_percent }, 377 { SCIM_KEY_braceleft, SCIM_KEY_slash }, 378 { SCIM_KEY_bar, SCIM_KEY_apostrophe }, 379 { SCIM_KEY_braceright, SCIM_KEY_parenleft }, 380 { SCIM_KEY_asciitilde, SCIM_KEY_dead_abovering }, 381 }; 382 383 static __Uint16Pair __czech_to_us_caps_shift [] = { 384 { SCIM_KEY_exclam, SCIM_KEY_quotedbl }, 385 { SCIM_KEY_quotedbl, SCIM_KEY_colon }, 386 { SCIM_KEY_percent, SCIM_KEY_underscore }, 387 { SCIM_KEY_apostrophe, SCIM_KEY_bar }, 388 { SCIM_KEY_parenleft, SCIM_KEY_braceright }, 389 { SCIM_KEY_slash, SCIM_KEY_braceleft }, 390 { SCIM_KEY_0, SCIM_KEY_parenright }, 391 { SCIM_KEY_1, SCIM_KEY_exclam }, 392 { SCIM_KEY_2, SCIM_KEY_at }, 393 { SCIM_KEY_3, SCIM_KEY_numbersign }, 394 { SCIM_KEY_4, SCIM_KEY_dollar }, 395 { SCIM_KEY_5, SCIM_KEY_percent }, 396 { SCIM_KEY_6, SCIM_KEY_asciicircum }, 397 { SCIM_KEY_7, SCIM_KEY_ampersand }, 398 { SCIM_KEY_8, SCIM_KEY_asterisk }, 399 { SCIM_KEY_9, SCIM_KEY_parenleft }, 400 { SCIM_KEY_colon, SCIM_KEY_greater }, 401 { SCIM_KEY_question, SCIM_KEY_less }, 402 { SCIM_KEY_underscore, SCIM_KEY_question }, 403 { SCIM_KEY_y, SCIM_KEY_z }, 404 { SCIM_KEY_z, SCIM_KEY_y }, 405 { SCIM_KEY_dead_abovering, SCIM_KEY_asciitilde }, 406 { SCIM_KEY_dead_caron, SCIM_KEY_plus }, 407 }; 408 409 static __Uint16Pair __us_to_czech_caps_shift [] = { 410 { SCIM_KEY_exclam, SCIM_KEY_1 }, 411 { SCIM_KEY_quotedbl, SCIM_KEY_exclam }, 412 { SCIM_KEY_numbersign, SCIM_KEY_3 }, 413 { SCIM_KEY_dollar, SCIM_KEY_4 }, 414 { SCIM_KEY_percent, SCIM_KEY_5 }, 415 { SCIM_KEY_ampersand, SCIM_KEY_7 }, 416 { SCIM_KEY_parenleft, SCIM_KEY_9 }, 417 { SCIM_KEY_parenright, SCIM_KEY_0 }, 418 { SCIM_KEY_asterisk, SCIM_KEY_8 }, 419 { SCIM_KEY_plus, SCIM_KEY_dead_caron }, 420 { SCIM_KEY_colon, SCIM_KEY_quotedbl }, 421 { SCIM_KEY_less, SCIM_KEY_question }, 422 { SCIM_KEY_greater, SCIM_KEY_colon }, 423 { SCIM_KEY_question, SCIM_KEY_underscore }, 424 { SCIM_KEY_at, SCIM_KEY_2 }, 425 { SCIM_KEY_asciicircum, SCIM_KEY_6 }, 426 { SCIM_KEY_underscore, SCIM_KEY_percent }, 427 { SCIM_KEY_y, SCIM_KEY_z }, 428 { SCIM_KEY_z, SCIM_KEY_y }, 429 { SCIM_KEY_braceleft, SCIM_KEY_slash }, 430 { SCIM_KEY_bar, SCIM_KEY_apostrophe }, 431 { SCIM_KEY_braceright, SCIM_KEY_parenleft }, 432 { SCIM_KEY_asciitilde, SCIM_KEY_dead_abovering }, 433 }; 434 435 static __Uint16Pair __czech_qwerty_to_us_normal [] = { 436 { SCIM_KEY_parenright, SCIM_KEY_bracketright }, 437 { SCIM_KEY_plus, SCIM_KEY_1 }, 438 { SCIM_KEY_minus, SCIM_KEY_slash }, 439 { SCIM_KEY_semicolon, SCIM_KEY_grave }, 440 { SCIM_KEY_equal, SCIM_KEY_minus }, 441 { SCIM_KEY_section, SCIM_KEY_apostrophe }, 442 { SCIM_KEY_aacute, SCIM_KEY_8 }, 443 { SCIM_KEY_eacute, SCIM_KEY_0 }, 444 { SCIM_KEY_iacute, SCIM_KEY_9 }, 445 { SCIM_KEY_uacute, SCIM_KEY_bracketleft }, 446 { SCIM_KEY_yacute, SCIM_KEY_7 }, 447 { SCIM_KEY_scaron, SCIM_KEY_3 }, 448 { SCIM_KEY_zcaron, SCIM_KEY_6 }, 449 { SCIM_KEY_ccaron, SCIM_KEY_4 }, 450 { SCIM_KEY_ecaron, SCIM_KEY_2 }, 451 { SCIM_KEY_rcaron, SCIM_KEY_5 }, 452 { SCIM_KEY_uring, SCIM_KEY_semicolon }, 453 { SCIM_KEY_dead_acute, SCIM_KEY_equal }, 454 { SCIM_KEY_dead_diaeresis, SCIM_KEY_backslash }, 455 }; 456 457 static __Uint16Pair __us_to_czech_qwerty_normal [] = { 458 { SCIM_KEY_apostrophe, SCIM_KEY_section }, 459 { SCIM_KEY_minus, SCIM_KEY_equal }, 460 { SCIM_KEY_slash, SCIM_KEY_minus }, 461 { SCIM_KEY_0, SCIM_KEY_eacute }, 462 { SCIM_KEY_1, SCIM_KEY_plus }, 463 { SCIM_KEY_2, SCIM_KEY_ecaron }, 464 { SCIM_KEY_3, SCIM_KEY_scaron }, 465 { SCIM_KEY_4, SCIM_KEY_ccaron }, 466 { SCIM_KEY_5, SCIM_KEY_rcaron }, 467 { SCIM_KEY_6, SCIM_KEY_zcaron }, 468 { SCIM_KEY_7, SCIM_KEY_yacute }, 469 { SCIM_KEY_8, SCIM_KEY_aacute }, 470 { SCIM_KEY_9, SCIM_KEY_iacute }, 471 { SCIM_KEY_semicolon, SCIM_KEY_uring }, 472 { SCIM_KEY_equal, SCIM_KEY_dead_acute }, 473 { SCIM_KEY_bracketleft, SCIM_KEY_uacute }, 474 { SCIM_KEY_backslash, SCIM_KEY_dead_diaeresis }, 475 { SCIM_KEY_bracketright, SCIM_KEY_parenright }, 476 { SCIM_KEY_grave, SCIM_KEY_semicolon }, 477 }; 478 479 static __Uint16Pair __czech_qwerty_to_us_caps [] = { 480 { SCIM_KEY_parenright, SCIM_KEY_bracketright }, 481 { SCIM_KEY_plus, SCIM_KEY_1 }, 482 { SCIM_KEY_minus, SCIM_KEY_slash }, 483 { SCIM_KEY_semicolon, SCIM_KEY_grave }, 484 { SCIM_KEY_equal, SCIM_KEY_minus }, 485 { SCIM_KEY_section, SCIM_KEY_apostrophe }, 486 { SCIM_KEY_Aacute, SCIM_KEY_8 }, 487 { SCIM_KEY_Eacute, SCIM_KEY_0 }, 488 { SCIM_KEY_Iacute, SCIM_KEY_9 }, 489 { SCIM_KEY_Uacute, SCIM_KEY_bracketleft }, 490 { SCIM_KEY_Yacute, SCIM_KEY_7 }, 491 { SCIM_KEY_Scaron, SCIM_KEY_3 }, 492 { SCIM_KEY_Zcaron, SCIM_KEY_6 }, 493 { SCIM_KEY_Ccaron, SCIM_KEY_4 }, 494 { SCIM_KEY_Ecaron, SCIM_KEY_2 }, 495 { SCIM_KEY_Rcaron, SCIM_KEY_5 }, 496 { SCIM_KEY_Uring, SCIM_KEY_semicolon }, 497 { SCIM_KEY_dead_acute, SCIM_KEY_equal }, 498 { SCIM_KEY_dead_diaeresis, SCIM_KEY_backslash }, 499 }; 500 501 static __Uint16Pair __us_to_czech_qwerty_caps [] = { 502 { SCIM_KEY_apostrophe, SCIM_KEY_section }, 503 { SCIM_KEY_minus, SCIM_KEY_equal }, 504 { SCIM_KEY_slash, SCIM_KEY_minus }, 505 { SCIM_KEY_0, SCIM_KEY_Eacute }, 506 { SCIM_KEY_1, SCIM_KEY_plus }, 507 { SCIM_KEY_2, SCIM_KEY_Ecaron }, 508 { SCIM_KEY_3, SCIM_KEY_Scaron }, 509 { SCIM_KEY_4, SCIM_KEY_Ccaron }, 510 { SCIM_KEY_5, SCIM_KEY_Rcaron }, 511 { SCIM_KEY_6, SCIM_KEY_Zcaron }, 512 { SCIM_KEY_7, SCIM_KEY_Yacute }, 513 { SCIM_KEY_8, SCIM_KEY_Aacute }, 514 { SCIM_KEY_9, SCIM_KEY_Iacute }, 515 { SCIM_KEY_semicolon, SCIM_KEY_Uring }, 516 { SCIM_KEY_equal, SCIM_KEY_dead_acute }, 517 { SCIM_KEY_bracketleft, SCIM_KEY_Uacute }, 518 { SCIM_KEY_backslash, SCIM_KEY_dead_diaeresis }, 519 { SCIM_KEY_bracketright, SCIM_KEY_parenright }, 520 { SCIM_KEY_grave, SCIM_KEY_semicolon }, 521 }; 522 523 static __Uint16Pair __czech_qwerty_to_us_shift [] = { 524 { SCIM_KEY_exclam, SCIM_KEY_quotedbl }, 525 { SCIM_KEY_quotedbl, SCIM_KEY_colon }, 526 { SCIM_KEY_percent, SCIM_KEY_underscore }, 527 { SCIM_KEY_apostrophe, SCIM_KEY_bar }, 528 { SCIM_KEY_parenleft, SCIM_KEY_braceright }, 529 { SCIM_KEY_slash, SCIM_KEY_braceleft }, 530 { SCIM_KEY_0, SCIM_KEY_parenright }, 531 { SCIM_KEY_1, SCIM_KEY_exclam }, 532 { SCIM_KEY_2, SCIM_KEY_at }, 533 { SCIM_KEY_3, SCIM_KEY_numbersign }, 534 { SCIM_KEY_4, SCIM_KEY_dollar }, 535 { SCIM_KEY_5, SCIM_KEY_percent }, 536 { SCIM_KEY_6, SCIM_KEY_asciicircum }, 537 { SCIM_KEY_7, SCIM_KEY_ampersand }, 538 { SCIM_KEY_8, SCIM_KEY_asterisk }, 539 { SCIM_KEY_9, SCIM_KEY_parenleft }, 540 { SCIM_KEY_colon, SCIM_KEY_greater }, 541 { SCIM_KEY_question, SCIM_KEY_less }, 542 { SCIM_KEY_underscore, SCIM_KEY_question }, 543 { SCIM_KEY_dead_abovering, SCIM_KEY_asciitilde }, 544 { SCIM_KEY_dead_caron, SCIM_KEY_plus }, 545 }; 546 547 static __Uint16Pair __us_to_czech_qwerty_shift [] = { 548 { SCIM_KEY_exclam, SCIM_KEY_1 }, 549 { SCIM_KEY_quotedbl, SCIM_KEY_exclam }, 550 { SCIM_KEY_numbersign, SCIM_KEY_3 }, 551 { SCIM_KEY_dollar, SCIM_KEY_4 }, 552 { SCIM_KEY_percent, SCIM_KEY_5 }, 553 { SCIM_KEY_ampersand, SCIM_KEY_7 }, 554 { SCIM_KEY_parenleft, SCIM_KEY_9 }, 555 { SCIM_KEY_parenright, SCIM_KEY_0 }, 556 { SCIM_KEY_asterisk, SCIM_KEY_8 }, 557 { SCIM_KEY_plus, SCIM_KEY_dead_caron }, 558 { SCIM_KEY_colon, SCIM_KEY_quotedbl }, 559 { SCIM_KEY_less, SCIM_KEY_question }, 560 { SCIM_KEY_greater, SCIM_KEY_colon }, 561 { SCIM_KEY_question, SCIM_KEY_underscore }, 562 { SCIM_KEY_at, SCIM_KEY_2 }, 563 { SCIM_KEY_asciicircum, SCIM_KEY_6 }, 564 { SCIM_KEY_underscore, SCIM_KEY_percent }, 565 { SCIM_KEY_braceleft, SCIM_KEY_slash }, 566 { SCIM_KEY_bar, SCIM_KEY_apostrophe }, 567 { SCIM_KEY_braceright, SCIM_KEY_parenleft }, 568 { SCIM_KEY_asciitilde, SCIM_KEY_dead_abovering }, 569 }; 570 571 static __Uint16Pair __czech_qwerty_to_us_caps_shift [] = { 572 { SCIM_KEY_exclam, SCIM_KEY_quotedbl }, 573 { SCIM_KEY_quotedbl, SCIM_KEY_colon }, 574 { SCIM_KEY_percent, SCIM_KEY_underscore }, 575 { SCIM_KEY_apostrophe, SCIM_KEY_bar }, 576 { SCIM_KEY_parenleft, SCIM_KEY_braceright }, 577 { SCIM_KEY_slash, SCIM_KEY_braceleft }, 578 { SCIM_KEY_0, SCIM_KEY_parenright }, 579 { SCIM_KEY_1, SCIM_KEY_exclam }, 580 { SCIM_KEY_2, SCIM_KEY_at }, 581 { SCIM_KEY_3, SCIM_KEY_numbersign }, 582 { SCIM_KEY_4, SCIM_KEY_dollar }, 583 { SCIM_KEY_5, SCIM_KEY_percent }, 584 { SCIM_KEY_6, SCIM_KEY_asciicircum }, 585 { SCIM_KEY_7, SCIM_KEY_ampersand }, 586 { SCIM_KEY_8, SCIM_KEY_asterisk }, 587 { SCIM_KEY_9, SCIM_KEY_parenleft }, 588 { SCIM_KEY_colon, SCIM_KEY_greater }, 589 { SCIM_KEY_question, SCIM_KEY_less }, 590 { SCIM_KEY_underscore, SCIM_KEY_question }, 591 { SCIM_KEY_dead_abovering, SCIM_KEY_asciitilde }, 592 { SCIM_KEY_dead_caron, SCIM_KEY_plus }, 593 }; 594 595 static __Uint16Pair __us_to_czech_qwerty_caps_shift [] = { 596 { SCIM_KEY_exclam, SCIM_KEY_1 }, 597 { SCIM_KEY_quotedbl, SCIM_KEY_exclam }, 598 { SCIM_KEY_numbersign, SCIM_KEY_3 }, 599 { SCIM_KEY_dollar, SCIM_KEY_4 }, 600 { SCIM_KEY_percent, SCIM_KEY_5 }, 601 { SCIM_KEY_ampersand, SCIM_KEY_7 }, 602 { SCIM_KEY_parenleft, SCIM_KEY_9 }, 603 { SCIM_KEY_parenright, SCIM_KEY_0 }, 604 { SCIM_KEY_asterisk, SCIM_KEY_8 }, 605 { SCIM_KEY_plus, SCIM_KEY_dead_caron }, 606 { SCIM_KEY_colon, SCIM_KEY_quotedbl }, 607 { SCIM_KEY_less, SCIM_KEY_question }, 608 { SCIM_KEY_greater, SCIM_KEY_colon }, 609 { SCIM_KEY_question, SCIM_KEY_underscore }, 610 { SCIM_KEY_at, SCIM_KEY_2 }, 611 { SCIM_KEY_asciicircum, SCIM_KEY_6 }, 612 { SCIM_KEY_underscore, SCIM_KEY_percent }, 613 { SCIM_KEY_braceleft, SCIM_KEY_slash }, 614 { SCIM_KEY_bar, SCIM_KEY_apostrophe }, 615 { SCIM_KEY_braceright, SCIM_KEY_parenleft }, 616 { SCIM_KEY_asciitilde, SCIM_KEY_dead_abovering }, 617 }; 618 619 static __Uint16Pair __danish_to_us_normal [] = { 620 { SCIM_KEY_apostrophe, SCIM_KEY_backslash }, 621 { SCIM_KEY_plus, SCIM_KEY_minus }, 622 { SCIM_KEY_minus, SCIM_KEY_slash }, 623 { SCIM_KEY_onehalf, SCIM_KEY_grave }, 624 { SCIM_KEY_aring, SCIM_KEY_bracketleft }, 625 { SCIM_KEY_ae, SCIM_KEY_semicolon }, 626 { SCIM_KEY_oslash, SCIM_KEY_apostrophe }, 627 { SCIM_KEY_dead_acute, SCIM_KEY_equal }, 628 { SCIM_KEY_dead_diaeresis, SCIM_KEY_bracketright }, 629 }; 630 631 static __Uint16Pair __us_to_danish_normal [] = { 632 { SCIM_KEY_apostrophe, SCIM_KEY_oslash }, 633 { SCIM_KEY_minus, SCIM_KEY_plus }, 634 { SCIM_KEY_slash, SCIM_KEY_minus }, 635 { SCIM_KEY_semicolon, SCIM_KEY_ae }, 636 { SCIM_KEY_equal, SCIM_KEY_dead_acute }, 637 { SCIM_KEY_bracketleft, SCIM_KEY_aring }, 638 { SCIM_KEY_backslash, SCIM_KEY_apostrophe }, 639 { SCIM_KEY_bracketright, SCIM_KEY_dead_diaeresis }, 640 { SCIM_KEY_grave, SCIM_KEY_onehalf }, 641 }; 642 643 static __Uint16Pair __danish_to_us_caps [] = { 644 { SCIM_KEY_apostrophe, SCIM_KEY_backslash }, 645 { SCIM_KEY_plus, SCIM_KEY_minus }, 646 { SCIM_KEY_minus, SCIM_KEY_slash }, 647 { SCIM_KEY_onehalf, SCIM_KEY_grave }, 648 { SCIM_KEY_Aring, SCIM_KEY_bracketleft }, 649 { SCIM_KEY_AE, SCIM_KEY_semicolon }, 650 { SCIM_KEY_Ooblique, SCIM_KEY_apostrophe }, 651 { SCIM_KEY_dead_acute, SCIM_KEY_equal }, 652 { SCIM_KEY_dead_diaeresis, SCIM_KEY_bracketright }, 653 }; 654 655 static __Uint16Pair __us_to_danish_caps [] = { 656 { SCIM_KEY_apostrophe, SCIM_KEY_Ooblique }, 657 { SCIM_KEY_minus, SCIM_KEY_plus }, 658 { SCIM_KEY_slash, SCIM_KEY_minus }, 659 { SCIM_KEY_semicolon, SCIM_KEY_AE }, 660 { SCIM_KEY_equal, SCIM_KEY_dead_acute }, 661 { SCIM_KEY_bracketleft, SCIM_KEY_Aring }, 662 { SCIM_KEY_backslash, SCIM_KEY_apostrophe }, 663 { SCIM_KEY_bracketright, SCIM_KEY_dead_diaeresis }, 664 { SCIM_KEY_grave, SCIM_KEY_onehalf }, 665 }; 666 667 static __Uint16Pair __danish_to_us_shift [] = { 668 { SCIM_KEY_quotedbl, SCIM_KEY_at }, 669 { SCIM_KEY_ampersand, SCIM_KEY_asciicircum }, 670 { SCIM_KEY_parenleft, SCIM_KEY_asterisk }, 671 { SCIM_KEY_parenright, SCIM_KEY_parenleft }, 672 { SCIM_KEY_asterisk, SCIM_KEY_bar }, 673 { SCIM_KEY_slash, SCIM_KEY_ampersand }, 674 { SCIM_KEY_colon, SCIM_KEY_greater }, 675 { SCIM_KEY_semicolon, SCIM_KEY_less }, 676 { SCIM_KEY_equal, SCIM_KEY_parenright }, 677 { SCIM_KEY_question, SCIM_KEY_underscore }, 678 { SCIM_KEY_underscore, SCIM_KEY_question }, 679 { SCIM_KEY_currency, SCIM_KEY_dollar }, 680 { SCIM_KEY_section, SCIM_KEY_asciitilde }, 681 { SCIM_KEY_Aring, SCIM_KEY_braceleft }, 682 { SCIM_KEY_AE, SCIM_KEY_colon }, 683 { SCIM_KEY_Ooblique, SCIM_KEY_quotedbl }, 684 { SCIM_KEY_dead_grave, SCIM_KEY_plus }, 685 { SCIM_KEY_dead_circumflex, SCIM_KEY_braceright }, 686 }; 687 688 static __Uint16Pair __us_to_danish_shift [] = { 689 { SCIM_KEY_quotedbl, SCIM_KEY_Ooblique }, 690 { SCIM_KEY_dollar, SCIM_KEY_currency }, 691 { SCIM_KEY_ampersand, SCIM_KEY_slash }, 692 { SCIM_KEY_parenleft, SCIM_KEY_parenright }, 693 { SCIM_KEY_parenright, SCIM_KEY_equal }, 694 { SCIM_KEY_asterisk, SCIM_KEY_parenleft }, 695 { SCIM_KEY_plus, SCIM_KEY_dead_grave }, 696 { SCIM_KEY_colon, SCIM_KEY_AE }, 697 { SCIM_KEY_less, SCIM_KEY_semicolon }, 698 { SCIM_KEY_greater, SCIM_KEY_colon }, 699 { SCIM_KEY_question, SCIM_KEY_underscore }, 700 { SCIM_KEY_at, SCIM_KEY_quotedbl }, 701 { SCIM_KEY_asciicircum, SCIM_KEY_ampersand }, 702 { SCIM_KEY_underscore, SCIM_KEY_question }, 703 { SCIM_KEY_braceleft, SCIM_KEY_Aring }, 704 { SCIM_KEY_bar, SCIM_KEY_asterisk }, 705 { SCIM_KEY_braceright, SCIM_KEY_dead_circumflex }, 706 { SCIM_KEY_asciitilde, SCIM_KEY_section }, 707 }; 708 709 static __Uint16Pair __danish_to_us_caps_shift [] = { 710 { SCIM_KEY_quotedbl, SCIM_KEY_at }, 711 { SCIM_KEY_ampersand, SCIM_KEY_asciicircum }, 712 { SCIM_KEY_parenleft, SCIM_KEY_asterisk }, 713 { SCIM_KEY_parenright, SCIM_KEY_parenleft }, 714 { SCIM_KEY_asterisk, SCIM_KEY_bar }, 715 { SCIM_KEY_slash, SCIM_KEY_ampersand }, 716 { SCIM_KEY_colon, SCIM_KEY_greater }, 717 { SCIM_KEY_semicolon, SCIM_KEY_less }, 718 { SCIM_KEY_equal, SCIM_KEY_parenright }, 719 { SCIM_KEY_question, SCIM_KEY_underscore }, 720 { SCIM_KEY_underscore, SCIM_KEY_question }, 721 { SCIM_KEY_currency, SCIM_KEY_dollar }, 722 { SCIM_KEY_section, SCIM_KEY_asciitilde }, 723 { SCIM_KEY_aring, SCIM_KEY_braceleft }, 724 { SCIM_KEY_ae, SCIM_KEY_colon }, 725 { SCIM_KEY_oslash, SCIM_KEY_quotedbl }, 726 { SCIM_KEY_dead_grave, SCIM_KEY_plus }, 727 { SCIM_KEY_dead_circumflex, SCIM_KEY_braceright }, 728 }; 729 730 static __Uint16Pair __us_to_danish_caps_shift [] = { 731 { SCIM_KEY_quotedbl, SCIM_KEY_oslash }, 732 { SCIM_KEY_dollar, SCIM_KEY_currency }, 733 { SCIM_KEY_ampersand, SCIM_KEY_slash }, 734 { SCIM_KEY_parenleft, SCIM_KEY_parenright }, 735 { SCIM_KEY_parenright, SCIM_KEY_equal }, 736 { SCIM_KEY_asterisk, SCIM_KEY_parenleft }, 737 { SCIM_KEY_plus, SCIM_KEY_dead_grave }, 738 { SCIM_KEY_colon, SCIM_KEY_ae }, 739 { SCIM_KEY_less, SCIM_KEY_semicolon }, 740 { SCIM_KEY_greater, SCIM_KEY_colon }, 741 { SCIM_KEY_question, SCIM_KEY_underscore }, 742 { SCIM_KEY_at, SCIM_KEY_quotedbl }, 743 { SCIM_KEY_asciicircum, SCIM_KEY_ampersand }, 744 { SCIM_KEY_underscore, SCIM_KEY_question }, 745 { SCIM_KEY_braceleft, SCIM_KEY_aring }, 746 { SCIM_KEY_bar, SCIM_KEY_asterisk }, 747 { SCIM_KEY_braceright, SCIM_KEY_dead_circumflex }, 748 { SCIM_KEY_asciitilde, SCIM_KEY_section }, 749 }; 750 751 static __Uint16Pair __dvorak_to_us_normal [] = { 752 { SCIM_KEY_apostrophe, SCIM_KEY_q }, 753 { SCIM_KEY_comma, SCIM_KEY_w }, 754 { SCIM_KEY_minus, SCIM_KEY_apostrophe }, 755 { SCIM_KEY_period, SCIM_KEY_e }, 756 { SCIM_KEY_slash, SCIM_KEY_bracketleft }, 757 { SCIM_KEY_semicolon, SCIM_KEY_z }, 758 { SCIM_KEY_equal, SCIM_KEY_bracketright }, 759 { SCIM_KEY_bracketleft, SCIM_KEY_minus }, 760 { SCIM_KEY_bracketright, SCIM_KEY_equal }, 761 { SCIM_KEY_b, SCIM_KEY_n }, 762 { SCIM_KEY_c, SCIM_KEY_i }, 763 { SCIM_KEY_d, SCIM_KEY_h }, 764 { SCIM_KEY_e, SCIM_KEY_d }, 765 { SCIM_KEY_f, SCIM_KEY_y }, 766 { SCIM_KEY_g, SCIM_KEY_u }, 767 { SCIM_KEY_h, SCIM_KEY_j }, 768 { SCIM_KEY_i, SCIM_KEY_g }, 769 { SCIM_KEY_j, SCIM_KEY_c }, 770 { SCIM_KEY_k, SCIM_KEY_v }, 771 { SCIM_KEY_l, SCIM_KEY_p }, 772 { SCIM_KEY_n, SCIM_KEY_l }, 773 { SCIM_KEY_o, SCIM_KEY_s }, 774 { SCIM_KEY_p, SCIM_KEY_r }, 775 { SCIM_KEY_q, SCIM_KEY_x }, 776 { SCIM_KEY_r, SCIM_KEY_o }, 777 { SCIM_KEY_s, SCIM_KEY_semicolon }, 778 { SCIM_KEY_t, SCIM_KEY_k }, 779 { SCIM_KEY_u, SCIM_KEY_f }, 780 { SCIM_KEY_v, SCIM_KEY_period }, 781 { SCIM_KEY_w, SCIM_KEY_comma }, 782 { SCIM_KEY_x, SCIM_KEY_b }, 783 { SCIM_KEY_y, SCIM_KEY_t }, 784 { SCIM_KEY_z, SCIM_KEY_slash }, 785 }; 786 787 static __Uint16Pair __us_to_dvorak_normal [] = { 788 { SCIM_KEY_apostrophe, SCIM_KEY_minus }, 789 { SCIM_KEY_comma, SCIM_KEY_w }, 790 { SCIM_KEY_minus, SCIM_KEY_bracketleft }, 791 { SCIM_KEY_period, SCIM_KEY_v }, 792 { SCIM_KEY_slash, SCIM_KEY_z }, 793 { SCIM_KEY_semicolon, SCIM_KEY_s }, 794 { SCIM_KEY_equal, SCIM_KEY_bracketright }, 795 { SCIM_KEY_bracketleft, SCIM_KEY_slash }, 796 { SCIM_KEY_bracketright, SCIM_KEY_equal }, 797 { SCIM_KEY_b, SCIM_KEY_x }, 798 { SCIM_KEY_c, SCIM_KEY_j }, 799 { SCIM_KEY_d, SCIM_KEY_e }, 800 { SCIM_KEY_e, SCIM_KEY_period }, 801 { SCIM_KEY_f, SCIM_KEY_u }, 802 { SCIM_KEY_g, SCIM_KEY_i }, 803 { SCIM_KEY_h, SCIM_KEY_d }, 804 { SCIM_KEY_i, SCIM_KEY_c }, 805 { SCIM_KEY_j, SCIM_KEY_h }, 806 { SCIM_KEY_k, SCIM_KEY_t }, 807 { SCIM_KEY_l, SCIM_KEY_n }, 808 { SCIM_KEY_n, SCIM_KEY_b }, 809 { SCIM_KEY_o, SCIM_KEY_r }, 810 { SCIM_KEY_p, SCIM_KEY_l }, 811 { SCIM_KEY_q, SCIM_KEY_apostrophe }, 812 { SCIM_KEY_r, SCIM_KEY_p }, 813 { SCIM_KEY_s, SCIM_KEY_o }, 814 { SCIM_KEY_t, SCIM_KEY_y }, 815 { SCIM_KEY_u, SCIM_KEY_g }, 816 { SCIM_KEY_v, SCIM_KEY_k }, 817 { SCIM_KEY_w, SCIM_KEY_comma }, 818 { SCIM_KEY_x, SCIM_KEY_q }, 819 { SCIM_KEY_y, SCIM_KEY_f }, 820 { SCIM_KEY_z, SCIM_KEY_semicolon }, 821 }; 822 823 static __Uint16Pair __dvorak_to_us_caps [] = { 824 { SCIM_KEY_apostrophe, SCIM_KEY_Q }, 825 { SCIM_KEY_comma, SCIM_KEY_W }, 826 { SCIM_KEY_minus, SCIM_KEY_apostrophe }, 827 { SCIM_KEY_period, SCIM_KEY_E }, 828 { SCIM_KEY_slash, SCIM_KEY_bracketleft }, 829 { SCIM_KEY_semicolon, SCIM_KEY_Z }, 830 { SCIM_KEY_equal, SCIM_KEY_bracketright }, 831 { SCIM_KEY_B, SCIM_KEY_N }, 832 { SCIM_KEY_C, SCIM_KEY_I }, 833 { SCIM_KEY_D, SCIM_KEY_H }, 834 { SCIM_KEY_E, SCIM_KEY_D }, 835 { SCIM_KEY_F, SCIM_KEY_Y }, 836 { SCIM_KEY_G, SCIM_KEY_U }, 837 { SCIM_KEY_H, SCIM_KEY_J }, 838 { SCIM_KEY_I, SCIM_KEY_G }, 839 { SCIM_KEY_J, SCIM_KEY_C }, 840 { SCIM_KEY_K, SCIM_KEY_V }, 841 { SCIM_KEY_L, SCIM_KEY_P }, 842 { SCIM_KEY_N, SCIM_KEY_L }, 843 { SCIM_KEY_O, SCIM_KEY_S }, 844 { SCIM_KEY_P, SCIM_KEY_R }, 845 { SCIM_KEY_Q, SCIM_KEY_X }, 846 { SCIM_KEY_R, SCIM_KEY_O }, 847 { SCIM_KEY_S, SCIM_KEY_semicolon }, 848 { SCIM_KEY_T, SCIM_KEY_K }, 849 { SCIM_KEY_U, SCIM_KEY_F }, 850 { SCIM_KEY_V, SCIM_KEY_period }, 851 { SCIM_KEY_W, SCIM_KEY_comma }, 852 { SCIM_KEY_X, SCIM_KEY_B }, 853 { SCIM_KEY_Y, SCIM_KEY_T }, 854 { SCIM_KEY_Z, SCIM_KEY_slash }, 855 { SCIM_KEY_bracketleft, SCIM_KEY_minus }, 856 { SCIM_KEY_bracketright, SCIM_KEY_equal }, 857 }; 858 859 static __Uint16Pair __us_to_dvorak_caps [] = { 860 { SCIM_KEY_apostrophe, SCIM_KEY_minus }, 861 { SCIM_KEY_comma, SCIM_KEY_W }, 862 { SCIM_KEY_minus, SCIM_KEY_bracketleft }, 863 { SCIM_KEY_period, SCIM_KEY_V }, 864 { SCIM_KEY_slash, SCIM_KEY_Z }, 865 { SCIM_KEY_semicolon, SCIM_KEY_S }, 866 { SCIM_KEY_equal, SCIM_KEY_bracketright }, 867 { SCIM_KEY_B, SCIM_KEY_X }, 868 { SCIM_KEY_C, SCIM_KEY_J }, 869 { SCIM_KEY_D, SCIM_KEY_E }, 870 { SCIM_KEY_E, SCIM_KEY_period }, 871 { SCIM_KEY_F, SCIM_KEY_U }, 872 { SCIM_KEY_G, SCIM_KEY_I }, 873 { SCIM_KEY_H, SCIM_KEY_D }, 874 { SCIM_KEY_I, SCIM_KEY_C }, 875 { SCIM_KEY_J, SCIM_KEY_H }, 876 { SCIM_KEY_K, SCIM_KEY_T }, 877 { SCIM_KEY_L, SCIM_KEY_N }, 878 { SCIM_KEY_N, SCIM_KEY_B }, 879 { SCIM_KEY_O, SCIM_KEY_R }, 880 { SCIM_KEY_P, SCIM_KEY_L }, 881 { SCIM_KEY_Q, SCIM_KEY_apostrophe }, 882 { SCIM_KEY_R, SCIM_KEY_P }, 883 { SCIM_KEY_S, SCIM_KEY_O }, 884 { SCIM_KEY_T, SCIM_KEY_Y }, 885 { SCIM_KEY_U, SCIM_KEY_G }, 886 { SCIM_KEY_V, SCIM_KEY_K }, 887 { SCIM_KEY_W, SCIM_KEY_comma }, 888 { SCIM_KEY_X, SCIM_KEY_Q }, 889 { SCIM_KEY_Y, SCIM_KEY_F }, 890 { SCIM_KEY_Z, SCIM_KEY_semicolon }, 891 { SCIM_KEY_bracketleft, SCIM_KEY_slash }, 892 { SCIM_KEY_bracketright, SCIM_KEY_equal }, 893 }; 894 895 static __Uint16Pair __dvorak_to_us_shift [] = { 896 { SCIM_KEY_quotedbl, SCIM_KEY_Q }, 897 { SCIM_KEY_plus, SCIM_KEY_braceright }, 898 { SCIM_KEY_colon, SCIM_KEY_Z }, 899 { SCIM_KEY_less, SCIM_KEY_W }, 900 { SCIM_KEY_greater, SCIM_KEY_E }, 901 { SCIM_KEY_question, SCIM_KEY_braceleft }, 902 { SCIM_KEY_B, SCIM_KEY_N }, 903 { SCIM_KEY_C, SCIM_KEY_I }, 904 { SCIM_KEY_D, SCIM_KEY_H }, 905 { SCIM_KEY_E, SCIM_KEY_D }, 906 { SCIM_KEY_F, SCIM_KEY_Y }, 907 { SCIM_KEY_G, SCIM_KEY_U }, 908 { SCIM_KEY_H, SCIM_KEY_J }, 909 { SCIM_KEY_I, SCIM_KEY_G }, 910 { SCIM_KEY_J, SCIM_KEY_C }, 911 { SCIM_KEY_K, SCIM_KEY_V }, 912 { SCIM_KEY_L, SCIM_KEY_P }, 913 { SCIM_KEY_N, SCIM_KEY_L }, 914 { SCIM_KEY_O, SCIM_KEY_S }, 915 { SCIM_KEY_P, SCIM_KEY_R }, 916 { SCIM_KEY_Q, SCIM_KEY_X }, 917 { SCIM_KEY_R, SCIM_KEY_O }, 918 { SCIM_KEY_S, SCIM_KEY_colon }, 919 { SCIM_KEY_T, SCIM_KEY_K }, 920 { SCIM_KEY_U, SCIM_KEY_F }, 921 { SCIM_KEY_V, SCIM_KEY_greater }, 922 { SCIM_KEY_W, SCIM_KEY_less }, 923 { SCIM_KEY_X, SCIM_KEY_B }, 924 { SCIM_KEY_Y, SCIM_KEY_T }, 925 { SCIM_KEY_Z, SCIM_KEY_question }, 926 { SCIM_KEY_underscore, SCIM_KEY_quotedbl }, 927 { SCIM_KEY_braceleft, SCIM_KEY_underscore }, 928 { SCIM_KEY_braceright, SCIM_KEY_plus }, 929 }; 930 931 static __Uint16Pair __us_to_dvorak_shift [] = { 932 { SCIM_KEY_quotedbl, SCIM_KEY_underscore }, 933 { SCIM_KEY_plus, SCIM_KEY_braceright }, 934 { SCIM_KEY_colon, SCIM_KEY_S }, 935 { SCIM_KEY_less, SCIM_KEY_W }, 936 { SCIM_KEY_greater, SCIM_KEY_V }, 937 { SCIM_KEY_question, SCIM_KEY_Z }, 938 { SCIM_KEY_B, SCIM_KEY_X }, 939 { SCIM_KEY_C, SCIM_KEY_J }, 940 { SCIM_KEY_D, SCIM_KEY_E }, 941 { SCIM_KEY_E, SCIM_KEY_greater }, 942 { SCIM_KEY_F, SCIM_KEY_U }, 943 { SCIM_KEY_G, SCIM_KEY_I }, 944 { SCIM_KEY_H, SCIM_KEY_D }, 945 { SCIM_KEY_I, SCIM_KEY_C }, 946 { SCIM_KEY_J, SCIM_KEY_H }, 947 { SCIM_KEY_K, SCIM_KEY_T }, 948 { SCIM_KEY_L, SCIM_KEY_N }, 949 { SCIM_KEY_N, SCIM_KEY_B }, 950 { SCIM_KEY_O, SCIM_KEY_R }, 951 { SCIM_KEY_P, SCIM_KEY_L }, 952 { SCIM_KEY_Q, SCIM_KEY_quotedbl }, 953 { SCIM_KEY_R, SCIM_KEY_P }, 954 { SCIM_KEY_S, SCIM_KEY_O }, 955 { SCIM_KEY_T, SCIM_KEY_Y }, 956 { SCIM_KEY_U, SCIM_KEY_G }, 957 { SCIM_KEY_V, SCIM_KEY_K }, 958 { SCIM_KEY_W, SCIM_KEY_less }, 959 { SCIM_KEY_X, SCIM_KEY_Q }, 960 { SCIM_KEY_Y, SCIM_KEY_F }, 961 { SCIM_KEY_Z, SCIM_KEY_colon }, 962 { SCIM_KEY_underscore, SCIM_KEY_braceleft }, 963 { SCIM_KEY_braceleft, SCIM_KEY_question }, 964 { SCIM_KEY_braceright, SCIM_KEY_plus }, 965 }; 966 967 static __Uint16Pair __dvorak_to_us_caps_shift [] = { 968 { SCIM_KEY_quotedbl, SCIM_KEY_q }, 969 { SCIM_KEY_plus, SCIM_KEY_braceright }, 970 { SCIM_KEY_colon, SCIM_KEY_z }, 971 { SCIM_KEY_less, SCIM_KEY_w }, 972 { SCIM_KEY_greater, SCIM_KEY_e }, 973 { SCIM_KEY_question, SCIM_KEY_braceleft }, 974 { SCIM_KEY_underscore, SCIM_KEY_quotedbl }, 975 { SCIM_KEY_b, SCIM_KEY_n }, 976 { SCIM_KEY_c, SCIM_KEY_i }, 977 { SCIM_KEY_d, SCIM_KEY_h }, 978 { SCIM_KEY_e, SCIM_KEY_d }, 979 { SCIM_KEY_f, SCIM_KEY_y }, 980 { SCIM_KEY_g, SCIM_KEY_u }, 981 { SCIM_KEY_h, SCIM_KEY_j }, 982 { SCIM_KEY_i, SCIM_KEY_g }, 983 { SCIM_KEY_j, SCIM_KEY_c }, 984 { SCIM_KEY_k, SCIM_KEY_v }, 985 { SCIM_KEY_l, SCIM_KEY_p }, 986 { SCIM_KEY_n, SCIM_KEY_l }, 987 { SCIM_KEY_o, SCIM_KEY_s }, 988 { SCIM_KEY_p, SCIM_KEY_r }, 989 { SCIM_KEY_q, SCIM_KEY_x }, 990 { SCIM_KEY_r, SCIM_KEY_o }, 991 { SCIM_KEY_s, SCIM_KEY_colon }, 992 { SCIM_KEY_t, SCIM_KEY_k }, 993 { SCIM_KEY_u, SCIM_KEY_f }, 994 { SCIM_KEY_v, SCIM_KEY_greater }, 995 { SCIM_KEY_w, SCIM_KEY_less }, 996 { SCIM_KEY_x, SCIM_KEY_b }, 997 { SCIM_KEY_y, SCIM_KEY_t }, 998 { SCIM_KEY_z, SCIM_KEY_question }, 999 { SCIM_KEY_braceleft, SCIM_KEY_underscore }, 1000 { SCIM_KEY_braceright, SCIM_KEY_plus }, 1001 }; 1002 1003 static __Uint16Pair __us_to_dvorak_caps_shift [] = { 1004 { SCIM_KEY_quotedbl, SCIM_KEY_underscore }, 1005 { SCIM_KEY_plus, SCIM_KEY_braceright }, 1006 { SCIM_KEY_colon, SCIM_KEY_s }, 1007 { SCIM_KEY_less, SCIM_KEY_w }, 1008 { SCIM_KEY_greater, SCIM_KEY_v }, 1009 { SCIM_KEY_question, SCIM_KEY_z }, 1010 { SCIM_KEY_underscore, SCIM_KEY_braceleft }, 1011 { SCIM_KEY_b, SCIM_KEY_x }, 1012 { SCIM_KEY_c, SCIM_KEY_j }, 1013 { SCIM_KEY_d, SCIM_KEY_e }, 1014 { SCIM_KEY_e, SCIM_KEY_greater }, 1015 { SCIM_KEY_f, SCIM_KEY_u }, 1016 { SCIM_KEY_g, SCIM_KEY_i }, 1017 { SCIM_KEY_h, SCIM_KEY_d }, 1018 { SCIM_KEY_i, SCIM_KEY_c }, 1019 { SCIM_KEY_j, SCIM_KEY_h }, 1020 { SCIM_KEY_k, SCIM_KEY_t }, 1021 { SCIM_KEY_l, SCIM_KEY_n }, 1022 { SCIM_KEY_n, SCIM_KEY_b }, 1023 { SCIM_KEY_o, SCIM_KEY_r }, 1024 { SCIM_KEY_p, SCIM_KEY_l }, 1025 { SCIM_KEY_q, SCIM_KEY_quotedbl }, 1026 { SCIM_KEY_r, SCIM_KEY_p }, 1027 { SCIM_KEY_s, SCIM_KEY_o }, 1028 { SCIM_KEY_t, SCIM_KEY_y }, 1029 { SCIM_KEY_u, SCIM_KEY_g }, 1030 { SCIM_KEY_v, SCIM_KEY_k }, 1031 { SCIM_KEY_w, SCIM_KEY_less }, 1032 { SCIM_KEY_x, SCIM_KEY_q }, 1033 { SCIM_KEY_y, SCIM_KEY_f }, 1034 { SCIM_KEY_z, SCIM_KEY_colon }, 1035 { SCIM_KEY_braceleft, SCIM_KEY_question }, 1036 { SCIM_KEY_braceright, SCIM_KEY_plus }, 1037 }; 1038 1039 static __Uint16Pair __estonian_to_us_normal [] = { 1040 { SCIM_KEY_apostrophe, SCIM_KEY_backslash }, 1041 { SCIM_KEY_plus, SCIM_KEY_minus }, 1042 { SCIM_KEY_minus, SCIM_KEY_slash }, 1043 { SCIM_KEY_adiaeresis, SCIM_KEY_apostrophe }, 1044 { SCIM_KEY_otilde, SCIM_KEY_bracketright }, 1045 { SCIM_KEY_odiaeresis, SCIM_KEY_semicolon }, 1046 { SCIM_KEY_udiaeresis, SCIM_KEY_bracketleft }, 1047 { SCIM_KEY_dead_acute, SCIM_KEY_equal }, 1048 { SCIM_KEY_dead_caron, SCIM_KEY_grave }, 1049 }; 1050 1051 static __Uint16Pair __us_to_estonian_normal [] = { 1052 { SCIM_KEY_apostrophe, SCIM_KEY_adiaeresis }, 1053 { SCIM_KEY_minus, SCIM_KEY_plus }, 1054 { SCIM_KEY_slash, SCIM_KEY_minus }, 1055 { SCIM_KEY_semicolon, SCIM_KEY_odiaeresis }, 1056 { SCIM_KEY_equal, SCIM_KEY_dead_acute }, 1057 { SCIM_KEY_bracketleft, SCIM_KEY_udiaeresis }, 1058 { SCIM_KEY_backslash, SCIM_KEY_apostrophe }, 1059 { SCIM_KEY_bracketright, SCIM_KEY_otilde }, 1060 { SCIM_KEY_grave, SCIM_KEY_dead_caron }, 1061 }; 1062 1063 static __Uint16Pair __estonian_to_us_caps [] = { 1064 { SCIM_KEY_apostrophe, SCIM_KEY_backslash }, 1065 { SCIM_KEY_plus, SCIM_KEY_minus }, 1066 { SCIM_KEY_minus, SCIM_KEY_slash }, 1067 { SCIM_KEY_Adiaeresis, SCIM_KEY_apostrophe }, 1068 { SCIM_KEY_Otilde, SCIM_KEY_bracketright }, 1069 { SCIM_KEY_Odiaeresis, SCIM_KEY_semicolon }, 1070 { SCIM_KEY_Udiaeresis, SCIM_KEY_bracketleft }, 1071 { SCIM_KEY_dead_acute, SCIM_KEY_equal }, 1072 { SCIM_KEY_dead_caron, SCIM_KEY_grave }, 1073 }; 1074 1075 static __Uint16Pair __us_to_estonian_caps [] = { 1076 { SCIM_KEY_apostrophe, SCIM_KEY_Adiaeresis }, 1077 { SCIM_KEY_minus, SCIM_KEY_plus }, 1078 { SCIM_KEY_slash, SCIM_KEY_minus }, 1079 { SCIM_KEY_semicolon, SCIM_KEY_Odiaeresis }, 1080 { SCIM_KEY_equal, SCIM_KEY_dead_acute }, 1081 { SCIM_KEY_bracketleft, SCIM_KEY_Udiaeresis }, 1082 { SCIM_KEY_backslash, SCIM_KEY_apostrophe }, 1083 { SCIM_KEY_bracketright, SCIM_KEY_Otilde }, 1084 { SCIM_KEY_grave, SCIM_KEY_dead_caron }, 1085 }; 1086 1087 static __Uint16Pair __estonian_to_us_shift [] = { 1088 { SCIM_KEY_quotedbl, SCIM_KEY_at }, 1089 { SCIM_KEY_ampersand, SCIM_KEY_asciicircum }, 1090 { SCIM_KEY_parenleft, SCIM_KEY_asterisk }, 1091 { SCIM_KEY_parenright, SCIM_KEY_parenleft }, 1092 { SCIM_KEY_asterisk, SCIM_KEY_bar }, 1093 { SCIM_KEY_slash, SCIM_KEY_ampersand }, 1094 { SCIM_KEY_colon, SCIM_KEY_greater }, 1095 { SCIM_KEY_semicolon, SCIM_KEY_less }, 1096 { SCIM_KEY_equal, SCIM_KEY_parenright }, 1097 { SCIM_KEY_question, SCIM_KEY_underscore }, 1098 { SCIM_KEY_underscore, SCIM_KEY_question }, 1099 { SCIM_KEY_currency, SCIM_KEY_dollar }, 1100 { SCIM_KEY_Adiaeresis, SCIM_KEY_quotedbl }, 1101 { SCIM_KEY_Otilde, SCIM_KEY_braceright }, 1102 { SCIM_KEY_Odiaeresis, SCIM_KEY_colon }, 1103 { SCIM_KEY_Udiaeresis, SCIM_KEY_braceleft }, 1104 { SCIM_KEY_dead_grave, SCIM_KEY_plus }, 1105 { SCIM_KEY_dead_tilde, SCIM_KEY_asciitilde }, 1106 }; 1107 1108 static __Uint16Pair __us_to_estonian_shift [] = { 1109 { SCIM_KEY_quotedbl, SCIM_KEY_Adiaeresis }, 1110 { SCIM_KEY_dollar, SCIM_KEY_currency }, 1111 { SCIM_KEY_ampersand, SCIM_KEY_slash }, 1112 { SCIM_KEY_parenleft, SCIM_KEY_parenright }, 1113 { SCIM_KEY_parenright, SCIM_KEY_equal }, 1114 { SCIM_KEY_asterisk, SCIM_KEY_parenleft }, 1115 { SCIM_KEY_plus, SCIM_KEY_dead_grave }, 1116 { SCIM_KEY_colon, SCIM_KEY_Odiaeresis }, 1117 { SCIM_KEY_less, SCIM_KEY_semicolon }, 1118 { SCIM_KEY_greater, SCIM_KEY_colon }, 1119 { SCIM_KEY_question, SCIM_KEY_underscore }, 1120 { SCIM_KEY_at, SCIM_KEY_quotedbl }, 1121 { SCIM_KEY_asciicircum, SCIM_KEY_ampersand }, 1122 { SCIM_KEY_underscore, SCIM_KEY_question }, 1123 { SCIM_KEY_braceleft, SCIM_KEY_Udiaeresis }, 1124 { SCIM_KEY_bar, SCIM_KEY_asterisk }, 1125 { SCIM_KEY_braceright, SCIM_KEY_Otilde }, 1126 { SCIM_KEY_asciitilde, SCIM_KEY_dead_tilde }, 1127 }; 1128 1129 static __Uint16Pair __estonian_to_us_caps_shift [] = { 1130 { SCIM_KEY_quotedbl, SCIM_KEY_at }, 1131 { SCIM_KEY_ampersand, SCIM_KEY_asciicircum }, 1132 { SCIM_KEY_parenleft, SCIM_KEY_asterisk }, 1133 { SCIM_KEY_parenright, SCIM_KEY_parenleft }, 1134 { SCIM_KEY_asterisk, SCIM_KEY_bar }, 1135 { SCIM_KEY_slash, SCIM_KEY_ampersand }, 1136 { SCIM_KEY_colon, SCIM_KEY_greater }, 1137 { SCIM_KEY_semicolon, SCIM_KEY_less }, 1138 { SCIM_KEY_equal, SCIM_KEY_parenright }, 1139 { SCIM_KEY_question, SCIM_KEY_underscore }, 1140 { SCIM_KEY_underscore, SCIM_KEY_question }, 1141 { SCIM_KEY_currency, SCIM_KEY_dollar }, 1142 { SCIM_KEY_adiaeresis, SCIM_KEY_quotedbl }, 1143 { SCIM_KEY_otilde, SCIM_KEY_braceright }, 1144 { SCIM_KEY_odiaeresis, SCIM_KEY_colon }, 1145 { SCIM_KEY_udiaeresis, SCIM_KEY_braceleft }, 1146 { SCIM_KEY_dead_grave, SCIM_KEY_plus }, 1147 { SCIM_KEY_dead_tilde, SCIM_KEY_asciitilde }, 1148 }; 1149 1150 static __Uint16Pair __us_to_estonian_caps_shift [] = { 1151 { SCIM_KEY_quotedbl, SCIM_KEY_adiaeresis }, 1152 { SCIM_KEY_dollar, SCIM_KEY_currency }, 1153 { SCIM_KEY_ampersand, SCIM_KEY_slash }, 1154 { SCIM_KEY_parenleft, SCIM_KEY_parenright }, 1155 { SCIM_KEY_parenright, SCIM_KEY_equal }, 1156 { SCIM_KEY_asterisk, SCIM_KEY_parenleft }, 1157 { SCIM_KEY_plus, SCIM_KEY_dead_grave }, 1158 { SCIM_KEY_colon, SCIM_KEY_odiaeresis }, 1159 { SCIM_KEY_less, SCIM_KEY_semicolon }, 1160 { SCIM_KEY_greater, SCIM_KEY_colon }, 1161 { SCIM_KEY_question, SCIM_KEY_underscore }, 1162 { SCIM_KEY_at, SCIM_KEY_quotedbl }, 1163 { SCIM_KEY_asciicircum, SCIM_KEY_ampersand }, 1164 { SCIM_KEY_underscore, SCIM_KEY_question }, 1165 { SCIM_KEY_braceleft, SCIM_KEY_udiaeresis }, 1166 { SCIM_KEY_bar, SCIM_KEY_asterisk }, 1167 { SCIM_KEY_braceright, SCIM_KEY_otilde }, 1168 { SCIM_KEY_asciitilde, SCIM_KEY_dead_tilde }, 1169 }; 1170 1171 static __Uint16Pair __finnish_to_us_normal [] = { 1172 { SCIM_KEY_apostrophe, SCIM_KEY_backslash }, 1173 { SCIM_KEY_plus, SCIM_KEY_minus }, 1174 { SCIM_KEY_minus, SCIM_KEY_slash }, 1175 { SCIM_KEY_section, SCIM_KEY_grave }, 1176 { SCIM_KEY_adiaeresis, SCIM_KEY_apostrophe }, 1177 { SCIM_KEY_aring, SCIM_KEY_bracketleft }, 1178 { SCIM_KEY_odiaeresis, SCIM_KEY_semicolon }, 1179 { SCIM_KEY_dead_acute, SCIM_KEY_equal }, 1180 { SCIM_KEY_dead_diaeresis, SCIM_KEY_bracketright }, 1181 }; 1182 1183 static __Uint16Pair __us_to_finnish_normal [] = { 1184 { SCIM_KEY_apostrophe, SCIM_KEY_adiaeresis }, 1185 { SCIM_KEY_minus, SCIM_KEY_plus }, 1186 { SCIM_KEY_slash, SCIM_KEY_minus }, 1187 { SCIM_KEY_semicolon, SCIM_KEY_odiaeresis }, 1188 { SCIM_KEY_equal, SCIM_KEY_dead_acute }, 1189 { SCIM_KEY_bracketleft, SCIM_KEY_aring }, 1190 { SCIM_KEY_backslash, SCIM_KEY_apostrophe }, 1191 { SCIM_KEY_bracketright, SCIM_KEY_dead_diaeresis }, 1192 { SCIM_KEY_grave, SCIM_KEY_section }, 1193 }; 1194 1195 static __Uint16Pair __finnish_to_us_caps [] = { 1196 { SCIM_KEY_apostrophe, SCIM_KEY_backslash }, 1197 { SCIM_KEY_plus, SCIM_KEY_minus }, 1198 { SCIM_KEY_minus, SCIM_KEY_slash }, 1199 { SCIM_KEY_section, SCIM_KEY_grave }, 1200 { SCIM_KEY_Adiaeresis, SCIM_KEY_apostrophe }, 1201 { SCIM_KEY_Aring, SCIM_KEY_bracketleft }, 1202 { SCIM_KEY_Odiaeresis, SCIM_KEY_semicolon }, 1203 { SCIM_KEY_dead_acute, SCIM_KEY_equal }, 1204 { SCIM_KEY_dead_diaeresis, SCIM_KEY_bracketright }, 1205 }; 1206 1207 static __Uint16Pair __us_to_finnish_caps [] = { 1208 { SCIM_KEY_apostrophe, SCIM_KEY_Adiaeresis }, 1209 { SCIM_KEY_minus, SCIM_KEY_plus }, 1210 { SCIM_KEY_slash, SCIM_KEY_minus }, 1211 { SCIM_KEY_semicolon, SCIM_KEY_Odiaeresis }, 1212 { SCIM_KEY_equal, SCIM_KEY_dead_acute }, 1213 { SCIM_KEY_bracketleft, SCIM_KEY_Aring }, 1214 { SCIM_KEY_backslash, SCIM_KEY_apostrophe }, 1215 { SCIM_KEY_bracketright, SCIM_KEY_dead_diaeresis }, 1216 { SCIM_KEY_grave, SCIM_KEY_section }, 1217 }; 1218 1219 static __Uint16Pair __finnish_to_us_shift [] = { 1220 { SCIM_KEY_quotedbl, SCIM_KEY_at }, 1221 { SCIM_KEY_ampersand, SCIM_KEY_asciicircum }, 1222 { SCIM_KEY_parenleft, SCIM_KEY_asterisk }, 1223 { SCIM_KEY_parenright, SCIM_KEY_parenleft }, 1224 { SCIM_KEY_asterisk, SCIM_KEY_bar }, 1225 { SCIM_KEY_slash, SCIM_KEY_ampersand }, 1226 { SCIM_KEY_colon, SCIM_KEY_greater }, 1227 { SCIM_KEY_semicolon, SCIM_KEY_less }, 1228 { SCIM_KEY_equal, SCIM_KEY_parenright }, 1229 { SCIM_KEY_question, SCIM_KEY_underscore }, 1230 { SCIM_KEY_underscore, SCIM_KEY_question }, 1231 { SCIM_KEY_currency, SCIM_KEY_dollar }, 1232 { SCIM_KEY_onehalf, SCIM_KEY_asciitilde }, 1233 { SCIM_KEY_Adiaeresis, SCIM_KEY_quotedbl }, 1234 { SCIM_KEY_Aring, SCIM_KEY_braceleft }, 1235 { SCIM_KEY_Odiaeresis, SCIM_KEY_colon }, 1236 { SCIM_KEY_dead_grave, SCIM_KEY_plus }, 1237 { SCIM_KEY_dead_circumflex, SCIM_KEY_braceright }, 1238 }; 1239 1240 static __Uint16Pair __us_to_finnish_shift [] = { 1241 { SCIM_KEY_quotedbl, SCIM_KEY_Adiaeresis }, 1242 { SCIM_KEY_dollar, SCIM_KEY_currency }, 1243 { SCIM_KEY_ampersand, SCIM_KEY_slash }, 1244 { SCIM_KEY_parenleft, SCIM_KEY_parenright }, 1245 { SCIM_KEY_parenright, SCIM_KEY_equal }, 1246 { SCIM_KEY_asterisk, SCIM_KEY_parenleft }, 1247 { SCIM_KEY_plus, SCIM_KEY_dead_grave }, 1248 { SCIM_KEY_colon, SCIM_KEY_Odiaeresis }, 1249 { SCIM_KEY_less, SCIM_KEY_semicolon }, 1250 { SCIM_KEY_greater, SCIM_KEY_colon }, 1251 { SCIM_KEY_question, SCIM_KEY_underscore }, 1252 { SCIM_KEY_at, SCIM_KEY_quotedbl }, 1253 { SCIM_KEY_asciicircum, SCIM_KEY_ampersand }, 1254 { SCIM_KEY_underscore, SCIM_KEY_question }, 1255 { SCIM_KEY_braceleft, SCIM_KEY_Aring }, 1256 { SCIM_KEY_bar, SCIM_KEY_asterisk }, 1257 { SCIM_KEY_braceright, SCIM_KEY_dead_circumflex }, 1258 { SCIM_KEY_asciitilde, SCIM_KEY_onehalf }, 1259 }; 1260 1261 static __Uint16Pair __finnish_to_us_caps_shift [] = { 1262 { SCIM_KEY_quotedbl, SCIM_KEY_at }, 1263 { SCIM_KEY_ampersand, SCIM_KEY_asciicircum }, 1264 { SCIM_KEY_parenleft, SCIM_KEY_asterisk }, 1265 { SCIM_KEY_parenright, SCIM_KEY_parenleft }, 1266 { SCIM_KEY_asterisk, SCIM_KEY_bar }, 1267 { SCIM_KEY_slash, SCIM_KEY_ampersand }, 1268 { SCIM_KEY_colon, SCIM_KEY_greater }, 1269 { SCIM_KEY_semicolon, SCIM_KEY_less }, 1270 { SCIM_KEY_equal, SCIM_KEY_parenright }, 1271 { SCIM_KEY_question, SCIM_KEY_underscore }, 1272 { SCIM_KEY_underscore, SCIM_KEY_question }, 1273 { SCIM_KEY_currency, SCIM_KEY_dollar }, 1274 { SCIM_KEY_onehalf, SCIM_KEY_asciitilde }, 1275 { SCIM_KEY_adiaeresis, SCIM_KEY_quotedbl }, 1276 { SCIM_KEY_aring, SCIM_KEY_braceleft }, 1277 { SCIM_KEY_odiaeresis, SCIM_KEY_colon }, 1278 { SCIM_KEY_dead_grave, SCIM_KEY_plus }, 1279 { SCIM_KEY_dead_circumflex, SCIM_KEY_braceright }, 1280 }; 1281 1282 static __Uint16Pair __us_to_finnish_caps_shift [] = { 1283 { SCIM_KEY_quotedbl, SCIM_KEY_adiaeresis }, 1284 { SCIM_KEY_dollar, SCIM_KEY_currency }, 1285 { SCIM_KEY_ampersand, SCIM_KEY_slash }, 1286 { SCIM_KEY_parenleft, SCIM_KEY_parenright }, 1287 { SCIM_KEY_parenright, SCIM_KEY_equal }, 1288 { SCIM_KEY_asterisk, SCIM_KEY_parenleft }, 1289 { SCIM_KEY_plus, SCIM_KEY_dead_grave }, 1290 { SCIM_KEY_colon, SCIM_KEY_odiaeresis }, 1291 { SCIM_KEY_less, SCIM_KEY_semicolon }, 1292 { SCIM_KEY_greater, SCIM_KEY_colon }, 1293 { SCIM_KEY_question, SCIM_KEY_underscore }, 1294 { SCIM_KEY_at, SCIM_KEY_quotedbl }, 1295 { SCIM_KEY_asciicircum, SCIM_KEY_ampersand }, 1296 { SCIM_KEY_underscore, SCIM_KEY_question }, 1297 { SCIM_KEY_braceleft, SCIM_KEY_aring }, 1298 { SCIM_KEY_bar, SCIM_KEY_asterisk }, 1299 { SCIM_KEY_braceright, SCIM_KEY_dead_circumflex }, 1300 { SCIM_KEY_asciitilde, SCIM_KEY_onehalf }, 1301 }; 1302 1303 static __Uint16Pair __french_to_us_normal [] = { 1304 { SCIM_KEY_exclam, SCIM_KEY_slash }, 1305 { SCIM_KEY_quotedbl, SCIM_KEY_3 }, 1306 { SCIM_KEY_dollar, SCIM_KEY_bracketright }, 1307 { SCIM_KEY_ampersand, SCIM_KEY_1 }, 1308 { SCIM_KEY_apostrophe, SCIM_KEY_4 }, 1309 { SCIM_KEY_parenleft, SCIM_KEY_5 }, 1310 { SCIM_KEY_parenright, SCIM_KEY_minus }, 1311 { SCIM_KEY_asterisk, SCIM_KEY_backslash }, 1312 { SCIM_KEY_comma, SCIM_KEY_m }, 1313 { SCIM_KEY_minus, SCIM_KEY_6 }, 1314 { SCIM_KEY_colon, SCIM_KEY_period }, 1315 { SCIM_KEY_semicolon, SCIM_KEY_comma }, 1316 { SCIM_KEY_underscore, SCIM_KEY_8 }, 1317 { SCIM_KEY_a, SCIM_KEY_q }, 1318 { SCIM_KEY_m, SCIM_KEY_semicolon }, 1319 { SCIM_KEY_q, SCIM_KEY_a }, 1320 { SCIM_KEY_w, SCIM_KEY_z }, 1321 { SCIM_KEY_z, SCIM_KEY_w }, 1322 { SCIM_KEY_twosuperior, SCIM_KEY_grave }, 1323 { SCIM_KEY_agrave, SCIM_KEY_0 }, 1324 { SCIM_KEY_ccedilla, SCIM_KEY_9 }, 1325 { SCIM_KEY_egrave, SCIM_KEY_7 }, 1326 { SCIM_KEY_eacute, SCIM_KEY_2 }, 1327 { SCIM_KEY_ugrave, SCIM_KEY_apostrophe }, 1328 { SCIM_KEY_dead_circumflex, SCIM_KEY_bracketleft }, 1329 }; 1330 1331 static __Uint16Pair __us_to_french_normal [] = { 1332 { SCIM_KEY_apostrophe, SCIM_KEY_ugrave }, 1333 { SCIM_KEY_comma, SCIM_KEY_semicolon }, 1334 { SCIM_KEY_minus, SCIM_KEY_parenright }, 1335 { SCIM_KEY_period, SCIM_KEY_colon }, 1336 { SCIM_KEY_slash, SCIM_KEY_exclam }, 1337 { SCIM_KEY_0, SCIM_KEY_agrave }, 1338 { SCIM_KEY_1, SCIM_KEY_ampersand }, 1339 { SCIM_KEY_2, SCIM_KEY_eacute }, 1340 { SCIM_KEY_3, SCIM_KEY_quotedbl }, 1341 { SCIM_KEY_4, SCIM_KEY_apostrophe }, 1342 { SCIM_KEY_5, SCIM_KEY_parenleft }, 1343 { SCIM_KEY_6, SCIM_KEY_minus }, 1344 { SCIM_KEY_7, SCIM_KEY_egrave }, 1345 { SCIM_KEY_8, SCIM_KEY_underscore }, 1346 { SCIM_KEY_9, SCIM_KEY_ccedilla }, 1347 { SCIM_KEY_semicolon, SCIM_KEY_m }, 1348 { SCIM_KEY_bracketleft, SCIM_KEY_dead_circumflex }, 1349 { SCIM_KEY_backslash, SCIM_KEY_asterisk }, 1350 { SCIM_KEY_bracketright, SCIM_KEY_dollar }, 1351 { SCIM_KEY_grave, SCIM_KEY_twosuperior }, 1352 { SCIM_KEY_a, SCIM_KEY_q }, 1353 { SCIM_KEY_m, SCIM_KEY_comma }, 1354 { SCIM_KEY_q, SCIM_KEY_a }, 1355 { SCIM_KEY_w, SCIM_KEY_z }, 1356 { SCIM_KEY_z, SCIM_KEY_w }, 1357 }; 1358 1359 static __Uint16Pair __french_to_us_caps [] = { 1360 { SCIM_KEY_exclam, SCIM_KEY_slash }, 1361 { SCIM_KEY_quotedbl, SCIM_KEY_3 }, 1362 { SCIM_KEY_dollar, SCIM_KEY_bracketright }, 1363 { SCIM_KEY_ampersand, SCIM_KEY_1 }, 1364 { SCIM_KEY_apostrophe, SCIM_KEY_4 }, 1365 { SCIM_KEY_parenleft, SCIM_KEY_5 }, 1366 { SCIM_KEY_parenright, SCIM_KEY_minus }, 1367 { SCIM_KEY_asterisk, SCIM_KEY_backslash }, 1368 { SCIM_KEY_comma, SCIM_KEY_M }, 1369 { SCIM_KEY_minus, SCIM_KEY_6 }, 1370 { SCIM_KEY_colon, SCIM_KEY_period }, 1371 { SCIM_KEY_semicolon, SCIM_KEY_comma }, 1372 { SCIM_KEY_A, SCIM_KEY_Q }, 1373 { SCIM_KEY_M, SCIM_KEY_semicolon }, 1374 { SCIM_KEY_Q, SCIM_KEY_A }, 1375 { SCIM_KEY_W, SCIM_KEY_Z }, 1376 { SCIM_KEY_Z, SCIM_KEY_W }, 1377 { SCIM_KEY_underscore, SCIM_KEY_8 }, 1378 { SCIM_KEY_twosuperior, SCIM_KEY_grave }, 1379 { SCIM_KEY_Agrave, SCIM_KEY_0 }, 1380 { SCIM_KEY_Ccedilla, SCIM_KEY_9 }, 1381 { SCIM_KEY_Egrave, SCIM_KEY_7 }, 1382 { SCIM_KEY_Eacute, SCIM_KEY_2 }, 1383 { SCIM_KEY_Ugrave, SCIM_KEY_apostrophe }, 1384 { SCIM_KEY_dead_circumflex, SCIM_KEY_bracketleft }, 1385 }; 1386 1387 static __Uint16Pair __us_to_french_caps [] = { 1388 { SCIM_KEY_apostrophe, SCIM_KEY_Ugrave }, 1389 { SCIM_KEY_comma, SCIM_KEY_semicolon }, 1390 { SCIM_KEY_minus, SCIM_KEY_parenright }, 1391 { SCIM_KEY_period, SCIM_KEY_colon }, 1392 { SCIM_KEY_slash, SCIM_KEY_exclam }, 1393 { SCIM_KEY_0, SCIM_KEY_Agrave }, 1394 { SCIM_KEY_1, SCIM_KEY_ampersand }, 1395 { SCIM_KEY_2, SCIM_KEY_Eacute }, 1396 { SCIM_KEY_3, SCIM_KEY_quotedbl }, 1397 { SCIM_KEY_4, SCIM_KEY_apostrophe }, 1398 { SCIM_KEY_5, SCIM_KEY_parenleft }, 1399 { SCIM_KEY_6, SCIM_KEY_minus }, 1400 { SCIM_KEY_7, SCIM_KEY_Egrave }, 1401 { SCIM_KEY_8, SCIM_KEY_underscore }, 1402 { SCIM_KEY_9, SCIM_KEY_Ccedilla }, 1403 { SCIM_KEY_semicolon, SCIM_KEY_M }, 1404 { SCIM_KEY_A, SCIM_KEY_Q }, 1405 { SCIM_KEY_M, SCIM_KEY_comma }, 1406 { SCIM_KEY_Q, SCIM_KEY_A }, 1407 { SCIM_KEY_W, SCIM_KEY_Z }, 1408 { SCIM_KEY_Z, SCIM_KEY_W }, 1409 { SCIM_KEY_bracketleft, SCIM_KEY_dead_circumflex }, 1410 { SCIM_KEY_backslash, SCIM_KEY_asterisk }, 1411 { SCIM_KEY_bracketright, SCIM_KEY_dollar }, 1412 { SCIM_KEY_grave, SCIM_KEY_twosuperior }, 1413 }; 1414 1415 static __Uint16Pair __french_to_us_shift [] = { 1416 { SCIM_KEY_percent, SCIM_KEY_quotedbl }, 1417 { SCIM_KEY_period, SCIM_KEY_less }, 1418 { SCIM_KEY_slash, SCIM_KEY_greater }, 1419 { SCIM_KEY_0, SCIM_KEY_parenright }, 1420 { SCIM_KEY_1, SCIM_KEY_exclam }, 1421 { SCIM_KEY_2, SCIM_KEY_at }, 1422 { SCIM_KEY_3, SCIM_KEY_numbersign }, 1423 { SCIM_KEY_4, SCIM_KEY_dollar }, 1424 { SCIM_KEY_5, SCIM_KEY_percent }, 1425 { SCIM_KEY_6, SCIM_KEY_asciicircum }, 1426 { SCIM_KEY_7, SCIM_KEY_ampersand }, 1427 { SCIM_KEY_8, SCIM_KEY_asterisk }, 1428 { SCIM_KEY_9, SCIM_KEY_parenleft }, 1429 { SCIM_KEY_question, SCIM_KEY_M }, 1430 { SCIM_KEY_A, SCIM_KEY_Q }, 1431 { SCIM_KEY_M, SCIM_KEY_colon }, 1432 { SCIM_KEY_Q, SCIM_KEY_A }, 1433 { SCIM_KEY_W, SCIM_KEY_Z }, 1434 { SCIM_KEY_Z, SCIM_KEY_W }, 1435 { SCIM_KEY_sterling, SCIM_KEY_braceright }, 1436 { SCIM_KEY_section, SCIM_KEY_question }, 1437 { SCIM_KEY_degree, SCIM_KEY_underscore }, 1438 { SCIM_KEY_mu, SCIM_KEY_bar }, 1439 { SCIM_KEY_dead_diaeresis, SCIM_KEY_braceleft }, 1440 }; 1441 1442 static __Uint16Pair __us_to_french_shift [] = { 1443 { SCIM_KEY_exclam, SCIM_KEY_1 }, 1444 { SCIM_KEY_quotedbl, SCIM_KEY_percent }, 1445 { SCIM_KEY_numbersign, SCIM_KEY_3 }, 1446 { SCIM_KEY_dollar, SCIM_KEY_4 }, 1447 { SCIM_KEY_percent, SCIM_KEY_5 }, 1448 { SCIM_KEY_ampersand, SCIM_KEY_7 }, 1449 { SCIM_KEY_parenleft, SCIM_KEY_9 }, 1450 { SCIM_KEY_parenright, SCIM_KEY_0 }, 1451 { SCIM_KEY_asterisk, SCIM_KEY_8 }, 1452 { SCIM_KEY_colon, SCIM_KEY_M }, 1453 { SCIM_KEY_less, SCIM_KEY_period }, 1454 { SCIM_KEY_greater, SCIM_KEY_slash }, 1455 { SCIM_KEY_question, SCIM_KEY_section }, 1456 { SCIM_KEY_at, SCIM_KEY_2 }, 1457 { SCIM_KEY_A, SCIM_KEY_Q }, 1458 { SCIM_KEY_M, SCIM_KEY_question }, 1459 { SCIM_KEY_Q, SCIM_KEY_A }, 1460 { SCIM_KEY_W, SCIM_KEY_Z }, 1461 { SCIM_KEY_Z, SCIM_KEY_W }, 1462 { SCIM_KEY_asciicircum, SCIM_KEY_6 }, 1463 { SCIM_KEY_underscore, SCIM_KEY_degree }, 1464 { SCIM_KEY_braceleft, SCIM_KEY_dead_diaeresis }, 1465 { SCIM_KEY_bar, SCIM_KEY_mu }, 1466 { SCIM_KEY_braceright, SCIM_KEY_sterling }, 1467 }; 1468 1469 static __Uint16Pair __french_to_us_caps_shift [] = { 1470 { SCIM_KEY_percent, SCIM_KEY_quotedbl }, 1471 { SCIM_KEY_period, SCIM_KEY_less }, 1472 { SCIM_KEY_slash, SCIM_KEY_greater }, 1473 { SCIM_KEY_0, SCIM_KEY_parenright }, 1474 { SCIM_KEY_1, SCIM_KEY_exclam }, 1475 { SCIM_KEY_2, SCIM_KEY_at }, 1476 { SCIM_KEY_3, SCIM_KEY_numbersign }, 1477 { SCIM_KEY_4, SCIM_KEY_dollar }, 1478 { SCIM_KEY_5, SCIM_KEY_percent }, 1479 { SCIM_KEY_6, SCIM_KEY_asciicircum }, 1480 { SCIM_KEY_7, SCIM_KEY_ampersand }, 1481 { SCIM_KEY_8, SCIM_KEY_asterisk }, 1482 { SCIM_KEY_9, SCIM_KEY_parenleft }, 1483 { SCIM_KEY_question, SCIM_KEY_m }, 1484 { SCIM_KEY_a, SCIM_KEY_q }, 1485 { SCIM_KEY_m, SCIM_KEY_colon }, 1486 { SCIM_KEY_q, SCIM_KEY_a }, 1487 { SCIM_KEY_w, SCIM_KEY_z }, 1488 { SCIM_KEY_z, SCIM_KEY_w }, 1489 { SCIM_KEY_sterling, SCIM_KEY_braceright }, 1490 { SCIM_KEY_section, SCIM_KEY_question }, 1491 { SCIM_KEY_degree, SCIM_KEY_underscore }, 1492 { SCIM_KEY_mu, SCIM_KEY_bar }, 1493 { SCIM_KEY_dead_diaeresis, SCIM_KEY_braceleft }, 1494 }; 1495 1496 static __Uint16Pair __us_to_french_caps_shift [] = { 1497 { SCIM_KEY_exclam, SCIM_KEY_1 }, 1498 { SCIM_KEY_quotedbl, SCIM_KEY_percent }, 1499 { SCIM_KEY_numbersign, SCIM_KEY_3 }, 1500 { SCIM_KEY_dollar, SCIM_KEY_4 }, 1501 { SCIM_KEY_percent, SCIM_KEY_5 }, 1502 { SCIM_KEY_ampersand, SCIM_KEY_7 }, 1503 { SCIM_KEY_parenleft, SCIM_KEY_9 }, 1504 { SCIM_KEY_parenright, SCIM_KEY_0 }, 1505 { SCIM_KEY_asterisk, SCIM_KEY_8 }, 1506 { SCIM_KEY_colon, SCIM_KEY_m }, 1507 { SCIM_KEY_less, SCIM_KEY_period }, 1508 { SCIM_KEY_greater, SCIM_KEY_slash }, 1509 { SCIM_KEY_question, SCIM_KEY_section }, 1510 { SCIM_KEY_at, SCIM_KEY_2 }, 1511 { SCIM_KEY_asciicircum, SCIM_KEY_6 }, 1512 { SCIM_KEY_underscore, SCIM_KEY_degree }, 1513 { SCIM_KEY_a, SCIM_KEY_q }, 1514 { SCIM_KEY_m, SCIM_KEY_question }, 1515 { SCIM_KEY_q, SCIM_KEY_a }, 1516 { SCIM_KEY_w, SCIM_KEY_z }, 1517 { SCIM_KEY_z, SCIM_KEY_w }, 1518 { SCIM_KEY_braceleft, SCIM_KEY_dead_diaeresis }, 1519 { SCIM_KEY_bar, SCIM_KEY_mu }, 1520 { SCIM_KEY_braceright, SCIM_KEY_sterling }, 1521 }; 1522 1523 static __Uint16Pair __french_switzerland_to_us_normal [] = { 1524 { SCIM_KEY_dollar, SCIM_KEY_backslash }, 1525 { SCIM_KEY_apostrophe, SCIM_KEY_minus }, 1526 { SCIM_KEY_minus, SCIM_KEY_slash }, 1527 { SCIM_KEY_y, SCIM_KEY_z }, 1528 { SCIM_KEY_z, SCIM_KEY_y }, 1529 { SCIM_KEY_section, SCIM_KEY_grave }, 1530 { SCIM_KEY_agrave, SCIM_KEY_apostrophe }, 1531 { SCIM_KEY_egrave, SCIM_KEY_bracketleft }, 1532 { SCIM_KEY_eacute, SCIM_KEY_semicolon }, 1533 { SCIM_KEY_dead_circumflex, SCIM_KEY_equal }, 1534 { SCIM_KEY_dead_diaeresis, SCIM_KEY_bracketright }, 1535 }; 1536 1537 static __Uint16Pair __us_to_french_switzerland_normal [] = { 1538 { SCIM_KEY_apostrophe, SCIM_KEY_agrave }, 1539 { SCIM_KEY_minus, SCIM_KEY_apostrophe }, 1540 { SCIM_KEY_slash, SCIM_KEY_minus }, 1541 { SCIM_KEY_semicolon, SCIM_KEY_eacute }, 1542 { SCIM_KEY_equal, SCIM_KEY_dead_circumflex }, 1543 { SCIM_KEY_bracketleft, SCIM_KEY_egrave }, 1544 { SCIM_KEY_backslash, SCIM_KEY_dollar }, 1545 { SCIM_KEY_bracketright, SCIM_KEY_dead_diaeresis }, 1546 { SCIM_KEY_grave, SCIM_KEY_section }, 1547 { SCIM_KEY_y, SCIM_KEY_z }, 1548 { SCIM_KEY_z, SCIM_KEY_y }, 1549 }; 1550 1551 static __Uint16Pair __french_switzerland_to_us_caps [] = { 1552 { SCIM_KEY_dollar, SCIM_KEY_backslash }, 1553 { SCIM_KEY_apostrophe, SCIM_KEY_minus }, 1554 { SCIM_KEY_minus, SCIM_KEY_slash }, 1555 { SCIM_KEY_Y, SCIM_KEY_Z }, 1556 { SCIM_KEY_Z, SCIM_KEY_Y }, 1557 { SCIM_KEY_section, SCIM_KEY_grave }, 1558 { SCIM_KEY_Agrave, SCIM_KEY_apostrophe }, 1559 { SCIM_KEY_Egrave, SCIM_KEY_bracketleft }, 1560 { SCIM_KEY_Eacute, SCIM_KEY_semicolon }, 1561 { SCIM_KEY_dead_circumflex, SCIM_KEY_equal }, 1562 { SCIM_KEY_dead_diaeresis, SCIM_KEY_bracketright }, 1563 }; 1564 1565 static __Uint16Pair __us_to_french_switzerland_caps [] = { 1566 { SCIM_KEY_apostrophe, SCIM_KEY_Agrave }, 1567 { SCIM_KEY_minus, SCIM_KEY_apostrophe }, 1568 { SCIM_KEY_slash, SCIM_KEY_minus }, 1569 { SCIM_KEY_semicolon, SCIM_KEY_Eacute }, 1570 { SCIM_KEY_equal, SCIM_KEY_dead_circumflex }, 1571 { SCIM_KEY_Y, SCIM_KEY_Z }, 1572 { SCIM_KEY_Z, SCIM_KEY_Y }, 1573 { SCIM_KEY_bracketleft, SCIM_KEY_Egrave }, 1574 { SCIM_KEY_backslash, SCIM_KEY_dollar }, 1575 { SCIM_KEY_bracketright, SCIM_KEY_dead_diaeresis }, 1576 { SCIM_KEY_grave, SCIM_KEY_section }, 1577 }; 1578 1579 static __Uint16Pair __french_switzerland_to_us_shift [] = { 1580 { SCIM_KEY_exclam, SCIM_KEY_braceright }, 1581 { SCIM_KEY_quotedbl, SCIM_KEY_at }, 1582 { SCIM_KEY_ampersand, SCIM_KEY_asciicircum }, 1583 { SCIM_KEY_parenleft, SCIM_KEY_asterisk }, 1584 { SCIM_KEY_parenright, SCIM_KEY_parenleft }, 1585 { SCIM_KEY_asterisk, SCIM_KEY_numbersign }, 1586 { SCIM_KEY_plus, SCIM_KEY_exclam }, 1587 { SCIM_KEY_slash, SCIM_KEY_ampersand }, 1588 { SCIM_KEY_colon, SCIM_KEY_greater }, 1589 { SCIM_KEY_semicolon, SCIM_KEY_less }, 1590 { SCIM_KEY_equal, SCIM_KEY_parenright }, 1591 { SCIM_KEY_question, SCIM_KEY_underscore }, 1592 { SCIM_KEY_Y, SCIM_KEY_Z }, 1593 { SCIM_KEY_Z, SCIM_KEY_Y }, 1594 { SCIM_KEY_underscore, SCIM_KEY_question }, 1595 { SCIM_KEY_sterling, SCIM_KEY_bar }, 1596 { SCIM_KEY_degree, SCIM_KEY_asciitilde }, 1597 { SCIM_KEY_adiaeresis, SCIM_KEY_quotedbl }, 1598 { SCIM_KEY_ccedilla, SCIM_KEY_dollar }, 1599 { SCIM_KEY_odiaeresis, SCIM_KEY_colon }, 1600 { SCIM_KEY_udiaeresis, SCIM_KEY_braceleft }, 1601 { SCIM_KEY_dead_grave, SCIM_KEY_plus }, 1602 }; 1603 1604 static __Uint16Pair __us_to_french_switzerland_shift [] = { 1605 { SCIM_KEY_exclam, SCIM_KEY_plus }, 1606 { SCIM_KEY_quotedbl, SCIM_KEY_adiaeresis }, 1607 { SCIM_KEY_numbersign, SCIM_KEY_asterisk }, 1608 { SCIM_KEY_dollar, SCIM_KEY_ccedilla }, 1609 { SCIM_KEY_ampersand, SCIM_KEY_slash }, 1610 { SCIM_KEY_parenleft, SCIM_KEY_parenright }, 1611 { SCIM_KEY_parenright, SCIM_KEY_equal }, 1612 { SCIM_KEY_asterisk, SCIM_KEY_parenleft }, 1613 { SCIM_KEY_plus, SCIM_KEY_dead_grave }, 1614 { SCIM_KEY_colon, SCIM_KEY_odiaeresis }, 1615 { SCIM_KEY_less, SCIM_KEY_semicolon }, 1616 { SCIM_KEY_greater, SCIM_KEY_colon }, 1617 { SCIM_KEY_question, SCIM_KEY_underscore }, 1618 { SCIM_KEY_at, SCIM_KEY_quotedbl }, 1619 { SCIM_KEY_Y, SCIM_KEY_Z }, 1620 { SCIM_KEY_Z, SCIM_KEY_Y }, 1621 { SCIM_KEY_asciicircum, SCIM_KEY_ampersand }, 1622 { SCIM_KEY_underscore, SCIM_KEY_question }, 1623 { SCIM_KEY_braceleft, SCIM_KEY_udiaeresis }, 1624 { SCIM_KEY_bar, SCIM_KEY_sterling }, 1625 { SCIM_KEY_braceright, SCIM_KEY_exclam }, 1626 { SCIM_KEY_asciitilde, SCIM_KEY_degree }, 1627 }; 1628 1629 static __Uint16Pair __french_switzerland_to_us_caps_shift [] = { 1630 { SCIM_KEY_exclam, SCIM_KEY_braceright }, 1631 { SCIM_KEY_quotedbl, SCIM_KEY_at }, 1632 { SCIM_KEY_ampersand, SCIM_KEY_asciicircum }, 1633 { SCIM_KEY_parenleft, SCIM_KEY_asterisk }, 1634 { SCIM_KEY_parenright, SCIM_KEY_parenleft }, 1635 { SCIM_KEY_asterisk, SCIM_KEY_numbersign }, 1636 { SCIM_KEY_plus, SCIM_KEY_exclam }, 1637 { SCIM_KEY_slash, SCIM_KEY_ampersand }, 1638 { SCIM_KEY_colon, SCIM_KEY_greater }, 1639 { SCIM_KEY_semicolon, SCIM_KEY_less }, 1640 { SCIM_KEY_equal, SCIM_KEY_parenright }, 1641 { SCIM_KEY_question, SCIM_KEY_underscore }, 1642 { SCIM_KEY_underscore, SCIM_KEY_question }, 1643 { SCIM_KEY_y, SCIM_KEY_z }, 1644 { SCIM_KEY_z, SCIM_KEY_y }, 1645 { SCIM_KEY_sterling, SCIM_KEY_bar }, 1646 { SCIM_KEY_degree, SCIM_KEY_asciitilde }, 1647 { SCIM_KEY_Adiaeresis, SCIM_KEY_quotedbl }, 1648 { SCIM_KEY_Ccedilla, SCIM_KEY_dollar }, 1649 { SCIM_KEY_Odiaeresis, SCIM_KEY_colon }, 1650 { SCIM_KEY_Udiaeresis, SCIM_KEY_braceleft }, 1651 { SCIM_KEY_dead_grave, SCIM_KEY_plus }, 1652 }; 1653 1654 static __Uint16Pair __us_to_french_switzerland_caps_shift [] = { 1655 { SCIM_KEY_exclam, SCIM_KEY_plus }, 1656 { SCIM_KEY_quotedbl, SCIM_KEY_Adiaeresis }, 1657 { SCIM_KEY_numbersign, SCIM_KEY_asterisk }, 1658 { SCIM_KEY_dollar, SCIM_KEY_Ccedilla }, 1659 { SCIM_KEY_ampersand, SCIM_KEY_slash }, 1660 { SCIM_KEY_parenleft, SCIM_KEY_parenright }, 1661 { SCIM_KEY_parenright, SCIM_KEY_equal }, 1662 { SCIM_KEY_asterisk, SCIM_KEY_parenleft }, 1663 { SCIM_KEY_plus, SCIM_KEY_dead_grave }, 1664 { SCIM_KEY_colon, SCIM_KEY_Odiaeresis }, 1665 { SCIM_KEY_less, SCIM_KEY_semicolon }, 1666 { SCIM_KEY_greater, SCIM_KEY_colon }, 1667 { SCIM_KEY_question, SCIM_KEY_underscore }, 1668 { SCIM_KEY_at, SCIM_KEY_quotedbl }, 1669 { SCIM_KEY_asciicircum, SCIM_KEY_ampersand }, 1670 { SCIM_KEY_underscore, SCIM_KEY_question }, 1671 { SCIM_KEY_y, SCIM_KEY_z }, 1672 { SCIM_KEY_z, SCIM_KEY_y }, 1673 { SCIM_KEY_braceleft, SCIM_KEY_Udiaeresis }, 1674 { SCIM_KEY_bar, SCIM_KEY_sterling }, 1675 { SCIM_KEY_braceright, SCIM_KEY_exclam }, 1676 { SCIM_KEY_asciitilde, SCIM_KEY_degree }, 1677 }; 1678 1679 static __Uint16Pair __german_deadkeys_to_us_normal [] = { 1680 { SCIM_KEY_numbersign, SCIM_KEY_backslash }, 1681 { SCIM_KEY_plus, SCIM_KEY_bracketright }, 1682 { SCIM_KEY_minus, SCIM_KEY_slash }, 1683 { SCIM_KEY_y, SCIM_KEY_z }, 1684 { SCIM_KEY_z, SCIM_KEY_y }, 1685 { SCIM_KEY_ssharp, SCIM_KEY_minus }, 1686 { SCIM_KEY_adiaeresis, SCIM_KEY_apostrophe }, 1687 { SCIM_KEY_odiaeresis, SCIM_KEY_semicolon }, 1688 { SCIM_KEY_udiaeresis, SCIM_KEY_bracketleft }, 1689 { SCIM_KEY_dead_acute, SCIM_KEY_equal }, 1690 { SCIM_KEY_dead_circumflex, SCIM_KEY_grave }, 1691 }; 1692 1693 static __Uint16Pair __us_to_german_deadkeys_normal [] = { 1694 { SCIM_KEY_apostrophe, SCIM_KEY_adiaeresis }, 1695 { SCIM_KEY_minus, SCIM_KEY_ssharp }, 1696 { SCIM_KEY_slash, SCIM_KEY_minus }, 1697 { SCIM_KEY_semicolon, SCIM_KEY_odiaeresis }, 1698 { SCIM_KEY_equal, SCIM_KEY_dead_acute }, 1699 { SCIM_KEY_bracketleft, SCIM_KEY_udiaeresis }, 1700 { SCIM_KEY_backslash, SCIM_KEY_numbersign }, 1701 { SCIM_KEY_bracketright, SCIM_KEY_plus }, 1702 { SCIM_KEY_grave, SCIM_KEY_dead_circumflex }, 1703 { SCIM_KEY_y, SCIM_KEY_z }, 1704 { SCIM_KEY_z, SCIM_KEY_y }, 1705 }; 1706 1707 static __Uint16Pair __german_deadkeys_to_us_caps [] = { 1708 { SCIM_KEY_numbersign, SCIM_KEY_backslash }, 1709 { SCIM_KEY_plus, SCIM_KEY_bracketright }, 1710 { SCIM_KEY_minus, SCIM_KEY_slash }, 1711 { SCIM_KEY_Y, SCIM_KEY_Z }, 1712 { SCIM_KEY_Z, SCIM_KEY_Y }, 1713 { SCIM_KEY_Adiaeresis, SCIM_KEY_apostrophe }, 1714 { SCIM_KEY_Odiaeresis, SCIM_KEY_semicolon }, 1715 { SCIM_KEY_Udiaeresis, SCIM_KEY_bracketleft }, 1716 { SCIM_KEY_ssharp, SCIM_KEY_minus }, 1717 { SCIM_KEY_dead_acute, SCIM_KEY_equal }, 1718 { SCIM_KEY_dead_circumflex, SCIM_KEY_grave }, 1719 }; 1720 1721 static __Uint16Pair __us_to_german_deadkeys_caps [] = { 1722 { SCIM_KEY_apostrophe, SCIM_KEY_Adiaeresis }, 1723 { SCIM_KEY_minus, SCIM_KEY_ssharp }, 1724 { SCIM_KEY_slash, SCIM_KEY_minus }, 1725 { SCIM_KEY_semicolon, SCIM_KEY_Odiaeresis }, 1726 { SCIM_KEY_equal, SCIM_KEY_dead_acute }, 1727 { SCIM_KEY_Y, SCIM_KEY_Z }, 1728 { SCIM_KEY_Z, SCIM_KEY_Y }, 1729 { SCIM_KEY_bracketleft, SCIM_KEY_Udiaeresis }, 1730 { SCIM_KEY_backslash, SCIM_KEY_numbersign }, 1731 { SCIM_KEY_bracketright, SCIM_KEY_plus }, 1732 { SCIM_KEY_grave, SCIM_KEY_dead_circumflex }, 1733 }; 1734 1735 static __Uint16Pair __german_deadkeys_to_us_shift [] = { 1736 { SCIM_KEY_quotedbl, SCIM_KEY_at }, 1737 { SCIM_KEY_ampersand, SCIM_KEY_asciicircum }, 1738 { SCIM_KEY_apostrophe, SCIM_KEY_bar }, 1739 { SCIM_KEY_parenleft, SCIM_KEY_asterisk }, 1740 { SCIM_KEY_parenright, SCIM_KEY_parenleft }, 1741 { SCIM_KEY_asterisk, SCIM_KEY_braceright }, 1742 { SCIM_KEY_slash, SCIM_KEY_ampersand }, 1743 { SCIM_KEY_colon, SCIM_KEY_greater }, 1744 { SCIM_KEY_semicolon, SCIM_KEY_less }, 1745 { SCIM_KEY_equal, SCIM_KEY_parenright }, 1746 { SCIM_KEY_question, SCIM_KEY_underscore }, 1747 { SCIM_KEY_Y, SCIM_KEY_Z }, 1748 { SCIM_KEY_Z, SCIM_KEY_Y }, 1749 { SCIM_KEY_underscore, SCIM_KEY_question }, 1750 { SCIM_KEY_section, SCIM_KEY_numbersign }, 1751 { SCIM_KEY_degree, SCIM_KEY_asciitilde }, 1752 { SCIM_KEY_Adiaeresis, SCIM_KEY_quotedbl }, 1753 { SCIM_KEY_Odiaeresis, SCIM_KEY_colon }, 1754 { SCIM_KEY_Udiaeresis, SCIM_KEY_braceleft }, 1755 { SCIM_KEY_dead_grave, SCIM_KEY_plus }, 1756 }; 1757 1758 static __Uint16Pair __us_to_german_deadkeys_shift [] = { 1759 { SCIM_KEY_quotedbl, SCIM_KEY_Adiaeresis }, 1760 { SCIM_KEY_numbersign, SCIM_KEY_section }, 1761 { SCIM_KEY_ampersand, SCIM_KEY_slash }, 1762 { SCIM_KEY_parenleft, SCIM_KEY_parenright }, 1763 { SCIM_KEY_parenright, SCIM_KEY_equal }, 1764 { SCIM_KEY_asterisk, SCIM_KEY_parenleft }, 1765 { SCIM_KEY_plus, SCIM_KEY_dead_grave }, 1766 { SCIM_KEY_colon, SCIM_KEY_Odiaeresis }, 1767 { SCIM_KEY_less, SCIM_KEY_semicolon }, 1768 { SCIM_KEY_greater, SCIM_KEY_colon }, 1769 { SCIM_KEY_question, SCIM_KEY_underscore }, 1770 { SCIM_KEY_at, SCIM_KEY_quotedbl }, 1771 { SCIM_KEY_Y, SCIM_KEY_Z }, 1772 { SCIM_KEY_Z, SCIM_KEY_Y }, 1773 { SCIM_KEY_asciicircum, SCIM_KEY_ampersand }, 1774 { SCIM_KEY_underscore, SCIM_KEY_question }, 1775 { SCIM_KEY_braceleft, SCIM_KEY_Udiaeresis }, 1776 { SCIM_KEY_bar, SCIM_KEY_apostrophe }, 1777 { SCIM_KEY_braceright, SCIM_KEY_asterisk }, 1778 { SCIM_KEY_asciitilde, SCIM_KEY_degree }, 1779 }; 1780 1781 static __Uint16Pair __german_deadkeys_to_us_caps_shift [] = { 1782 { SCIM_KEY_quotedbl, SCIM_KEY_at }, 1783 { SCIM_KEY_ampersand, SCIM_KEY_asciicircum }, 1784 { SCIM_KEY_apostrophe, SCIM_KEY_bar }, 1785 { SCIM_KEY_parenleft, SCIM_KEY_asterisk }, 1786 { SCIM_KEY_parenright, SCIM_KEY_parenleft }, 1787 { SCIM_KEY_asterisk, SCIM_KEY_braceright }, 1788 { SCIM_KEY_slash, SCIM_KEY_ampersand }, 1789 { SCIM_KEY_colon, SCIM_KEY_greater }, 1790 { SCIM_KEY_semicolon, SCIM_KEY_less }, 1791 { SCIM_KEY_equal, SCIM_KEY_parenright }, 1792 { SCIM_KEY_question, SCIM_KEY_underscore }, 1793 { SCIM_KEY_underscore, SCIM_KEY_question }, 1794 { SCIM_KEY_y, SCIM_KEY_z }, 1795 { SCIM_KEY_z, SCIM_KEY_y }, 1796 { SCIM_KEY_section, SCIM_KEY_numbersign }, 1797 { SCIM_KEY_degree, SCIM_KEY_asciitilde }, 1798 { SCIM_KEY_adiaeresis, SCIM_KEY_quotedbl }, 1799 { SCIM_KEY_odiaeresis, SCIM_KEY_colon }, 1800 { SCIM_KEY_udiaeresis, SCIM_KEY_braceleft }, 1801 { SCIM_KEY_dead_grave, SCIM_KEY_plus }, 1802 }; 1803 1804 static __Uint16Pair __us_to_german_deadkeys_caps_shift [] = { 1805 { SCIM_KEY_quotedbl, SCIM_KEY_adiaeresis }, 1806 { SCIM_KEY_numbersign, SCIM_KEY_section }, 1807 { SCIM_KEY_ampersand, SCIM_KEY_slash }, 1808 { SCIM_KEY_parenleft, SCIM_KEY_parenright }, 1809 { SCIM_KEY_parenright, SCIM_KEY_equal }, 1810 { SCIM_KEY_asterisk, SCIM_KEY_parenleft }, 1811 { SCIM_KEY_plus, SCIM_KEY_dead_grave }, 1812 { SCIM_KEY_colon, SCIM_KEY_odiaeresis }, 1813 { SCIM_KEY_less, SCIM_KEY_semicolon }, 1814 { SCIM_KEY_greater, SCIM_KEY_colon }, 1815 { SCIM_KEY_question, SCIM_KEY_underscore }, 1816 { SCIM_KEY_at, SCIM_KEY_quotedbl }, 1817 { SCIM_KEY_asciicircum, SCIM_KEY_ampersand }, 1818 { SCIM_KEY_underscore, SCIM_KEY_question }, 1819 { SCIM_KEY_y, SCIM_KEY_z }, 1820 { SCIM_KEY_z, SCIM_KEY_y }, 1821 { SCIM_KEY_braceleft, SCIM_KEY_udiaeresis }, 1822 { SCIM_KEY_bar, SCIM_KEY_apostrophe }, 1823 { SCIM_KEY_braceright, SCIM_KEY_asterisk }, 1824 { SCIM_KEY_asciitilde, SCIM_KEY_degree }, 1825 }; 1826 1827 static __Uint16Pair __german_to_us_normal [] = { 1828 { SCIM_KEY_numbersign, SCIM_KEY_backslash }, 1829 { SCIM_KEY_plus, SCIM_KEY_bracketright }, 1830 { SCIM_KEY_minus, SCIM_KEY_slash }, 1831 { SCIM_KEY_asciicircum, SCIM_KEY_grave }, 1832 { SCIM_KEY_y, SCIM_KEY_z }, 1833 { SCIM_KEY_z, SCIM_KEY_y }, 1834 { SCIM_KEY_acute, SCIM_KEY_equal }, 1835 { SCIM_KEY_ssharp, SCIM_KEY_minus }, 1836 { SCIM_KEY_adiaeresis, SCIM_KEY_apostrophe }, 1837 { SCIM_KEY_odiaeresis, SCIM_KEY_semicolon }, 1838 { SCIM_KEY_udiaeresis, SCIM_KEY_bracketleft }, 1839 }; 1840 1841 static __Uint16Pair __us_to_german_normal [] = { 1842 { SCIM_KEY_apostrophe, SCIM_KEY_adiaeresis }, 1843 { SCIM_KEY_minus, SCIM_KEY_ssharp }, 1844 { SCIM_KEY_slash, SCIM_KEY_minus }, 1845 { SCIM_KEY_semicolon, SCIM_KEY_odiaeresis }, 1846 { SCIM_KEY_equal, SCIM_KEY_acute }, 1847 { SCIM_KEY_bracketleft, SCIM_KEY_udiaeresis }, 1848 { SCIM_KEY_backslash, SCIM_KEY_numbersign }, 1849 { SCIM_KEY_bracketright, SCIM_KEY_plus }, 1850 { SCIM_KEY_grave, SCIM_KEY_asciicircum }, 1851 { SCIM_KEY_y, SCIM_KEY_z }, 1852 { SCIM_KEY_z, SCIM_KEY_y }, 1853 }; 1854 1855 static __Uint16Pair __german_to_us_caps [] = { 1856 { SCIM_KEY_numbersign, SCIM_KEY_backslash }, 1857 { SCIM_KEY_plus, SCIM_KEY_bracketright }, 1858 { SCIM_KEY_minus, SCIM_KEY_slash }, 1859 { SCIM_KEY_Y, SCIM_KEY_Z }, 1860 { SCIM_KEY_Z, SCIM_KEY_Y }, 1861 { SCIM_KEY_asciicircum, SCIM_KEY_grave }, 1862 { SCIM_KEY_acute, SCIM_KEY_equal }, 1863 { SCIM_KEY_Adiaeresis, SCIM_KEY_apostrophe }, 1864 { SCIM_KEY_Odiaeresis, SCIM_KEY_semicolon }, 1865 { SCIM_KEY_Udiaeresis, SCIM_KEY_bracketleft }, 1866 { SCIM_KEY_ssharp, SCIM_KEY_minus }, 1867 }; 1868 1869 static __Uint16Pair __us_to_german_caps [] = { 1870 { SCIM_KEY_apostrophe, SCIM_KEY_Adiaeresis }, 1871 { SCIM_KEY_minus, SCIM_KEY_ssharp }, 1872 { SCIM_KEY_slash, SCIM_KEY_minus }, 1873 { SCIM_KEY_semicolon, SCIM_KEY_Odiaeresis }, 1874 { SCIM_KEY_equal, SCIM_KEY_acute }, 1875 { SCIM_KEY_Y, SCIM_KEY_Z }, 1876 { SCIM_KEY_Z, SCIM_KEY_Y }, 1877 { SCIM_KEY_bracketleft, SCIM_KEY_Udiaeresis }, 1878 { SCIM_KEY_backslash, SCIM_KEY_numbersign }, 1879 { SCIM_KEY_bracketright, SCIM_KEY_plus }, 1880 { SCIM_KEY_grave, SCIM_KEY_asciicircum }, 1881 }; 1882 1883 static __Uint16Pair __german_to_us_shift [] = { 1884 { SCIM_KEY_quotedbl, SCIM_KEY_at }, 1885 { SCIM_KEY_ampersand, SCIM_KEY_asciicircum }, 1886 { SCIM_KEY_apostrophe, SCIM_KEY_bar }, 1887 { SCIM_KEY_parenleft, SCIM_KEY_asterisk }, 1888 { SCIM_KEY_parenright, SCIM_KEY_parenleft }, 1889 { SCIM_KEY_asterisk, SCIM_KEY_braceright }, 1890 { SCIM_KEY_slash, SCIM_KEY_ampersand }, 1891 { SCIM_KEY_colon, SCIM_KEY_greater }, 1892 { SCIM_KEY_semicolon, SCIM_KEY_less }, 1893 { SCIM_KEY_equal, SCIM_KEY_parenright }, 1894 { SCIM_KEY_question, SCIM_KEY_underscore }, 1895 { SCIM_KEY_Y, SCIM_KEY_Z }, 1896 { SCIM_KEY_Z, SCIM_KEY_Y }, 1897 { SCIM_KEY_underscore, SCIM_KEY_question }, 1898 { SCIM_KEY_grave, SCIM_KEY_plus }, 1899 { SCIM_KEY_section, SCIM_KEY_numbersign }, 1900 { SCIM_KEY_degree, SCIM_KEY_asciitilde }, 1901 { SCIM_KEY_Adiaeresis, SCIM_KEY_quotedbl }, 1902 { SCIM_KEY_Odiaeresis, SCIM_KEY_colon }, 1903 { SCIM_KEY_Udiaeresis, SCIM_KEY_braceleft }, 1904 }; 1905 1906 static __Uint16Pair __us_to_german_shift [] = { 1907 { SCIM_KEY_quotedbl, SCIM_KEY_Adiaeresis }, 1908 { SCIM_KEY_numbersign, SCIM_KEY_section }, 1909 { SCIM_KEY_ampersand, SCIM_KEY_slash }, 1910 { SCIM_KEY_parenleft, SCIM_KEY_parenright }, 1911 { SCIM_KEY_parenright, SCIM_KEY_equal }, 1912 { SCIM_KEY_asterisk, SCIM_KEY_parenleft }, 1913 { SCIM_KEY_plus, SCIM_KEY_grave }, 1914 { SCIM_KEY_colon, SCIM_KEY_Odiaeresis }, 1915 { SCIM_KEY_less, SCIM_KEY_semicolon }, 1916 { SCIM_KEY_greater, SCIM_KEY_colon }, 1917 { SCIM_KEY_question, SCIM_KEY_underscore }, 1918 { SCIM_KEY_at, SCIM_KEY_quotedbl }, 1919 { SCIM_KEY_Y, SCIM_KEY_Z }, 1920 { SCIM_KEY_Z, SCIM_KEY_Y }, 1921 { SCIM_KEY_asciicircum, SCIM_KEY_ampersand }, 1922 { SCIM_KEY_underscore, SCIM_KEY_question }, 1923 { SCIM_KEY_braceleft, SCIM_KEY_Udiaeresis }, 1924 { SCIM_KEY_bar, SCIM_KEY_apostrophe }, 1925 { SCIM_KEY_braceright, SCIM_KEY_asterisk }, 1926 { SCIM_KEY_asciitilde, SCIM_KEY_degree }, 1927 }; 1928 1929 static __Uint16Pair __german_to_us_caps_shift [] = { 1930 { SCIM_KEY_quotedbl, SCIM_KEY_at }, 1931 { SCIM_KEY_ampersand, SCIM_KEY_asciicircum }, 1932 { SCIM_KEY_apostrophe, SCIM_KEY_bar }, 1933 { SCIM_KEY_parenleft, SCIM_KEY_asterisk }, 1934 { SCIM_KEY_parenright, SCIM_KEY_parenleft }, 1935 { SCIM_KEY_asterisk, SCIM_KEY_braceright }, 1936 { SCIM_KEY_slash, SCIM_KEY_ampersand }, 1937 { SCIM_KEY_colon, SCIM_KEY_greater }, 1938 { SCIM_KEY_semicolon, SCIM_KEY_less }, 1939 { SCIM_KEY_equal, SCIM_KEY_parenright }, 1940 { SCIM_KEY_question, SCIM_KEY_underscore }, 1941 { SCIM_KEY_underscore, SCIM_KEY_question }, 1942 { SCIM_KEY_grave, SCIM_KEY_plus }, 1943 { SCIM_KEY_y, SCIM_KEY_z }, 1944 { SCIM_KEY_z, SCIM_KEY_y }, 1945 { SCIM_KEY_section, SCIM_KEY_numbersign }, 1946 { SCIM_KEY_degree, SCIM_KEY_asciitilde }, 1947 { SCIM_KEY_adiaeresis, SCIM_KEY_quotedbl }, 1948 { SCIM_KEY_odiaeresis, SCIM_KEY_colon }, 1949 { SCIM_KEY_udiaeresis, SCIM_KEY_braceleft }, 1950 }; 1951 1952 static __Uint16Pair __us_to_german_caps_shift [] = { 1953 { SCIM_KEY_quotedbl, SCIM_KEY_adiaeresis }, 1954 { SCIM_KEY_numbersign, SCIM_KEY_section }, 1955 { SCIM_KEY_ampersand, SCIM_KEY_slash }, 1956 { SCIM_KEY_parenleft, SCIM_KEY_parenright }, 1957 { SCIM_KEY_parenright, SCIM_KEY_equal }, 1958 { SCIM_KEY_asterisk, SCIM_KEY_parenleft }, 1959 { SCIM_KEY_plus, SCIM_KEY_grave }, 1960 { SCIM_KEY_colon, SCIM_KEY_odiaeresis }, 1961 { SCIM_KEY_less, SCIM_KEY_semicolon }, 1962 { SCIM_KEY_greater, SCIM_KEY_colon }, 1963 { SCIM_KEY_question, SCIM_KEY_underscore }, 1964 { SCIM_KEY_at, SCIM_KEY_quotedbl }, 1965 { SCIM_KEY_asciicircum, SCIM_KEY_ampersand }, 1966 { SCIM_KEY_underscore, SCIM_KEY_question }, 1967 { SCIM_KEY_y, SCIM_KEY_z }, 1968 { SCIM_KEY_z, SCIM_KEY_y }, 1969 { SCIM_KEY_braceleft, SCIM_KEY_udiaeresis }, 1970 { SCIM_KEY_bar, SCIM_KEY_apostrophe }, 1971 { SCIM_KEY_braceright, SCIM_KEY_asterisk }, 1972 { SCIM_KEY_asciitilde, SCIM_KEY_degree }, 1973 }; 1974 1975 static __Uint16Pair __german_swiss_to_us_normal [] = { 1976 { SCIM_KEY_dollar, SCIM_KEY_backslash }, 1977 { SCIM_KEY_apostrophe, SCIM_KEY_minus }, 1978 { SCIM_KEY_minus, SCIM_KEY_slash }, 1979 { SCIM_KEY_y, SCIM_KEY_z }, 1980 { SCIM_KEY_z, SCIM_KEY_y }, 1981 { SCIM_KEY_section, SCIM_KEY_grave }, 1982 { SCIM_KEY_adiaeresis, SCIM_KEY_apostrophe }, 1983 { SCIM_KEY_odiaeresis, SCIM_KEY_semicolon }, 1984 { SCIM_KEY_udiaeresis, SCIM_KEY_bracketleft }, 1985 { SCIM_KEY_dead_circumflex, SCIM_KEY_equal }, 1986 { SCIM_KEY_dead_diaeresis, SCIM_KEY_bracketright }, 1987 }; 1988 1989 static __Uint16Pair __us_to_german_swiss_normal [] = { 1990 { SCIM_KEY_apostrophe, SCIM_KEY_adiaeresis }, 1991 { SCIM_KEY_minus, SCIM_KEY_apostrophe }, 1992 { SCIM_KEY_slash, SCIM_KEY_minus }, 1993 { SCIM_KEY_semicolon, SCIM_KEY_odiaeresis }, 1994 { SCIM_KEY_equal, SCIM_KEY_dead_circumflex }, 1995 { SCIM_KEY_bracketleft, SCIM_KEY_udiaeresis }, 1996 { SCIM_KEY_backslash, SCIM_KEY_dollar }, 1997 { SCIM_KEY_bracketright, SCIM_KEY_dead_diaeresis }, 1998 { SCIM_KEY_grave, SCIM_KEY_section }, 1999 { SCIM_KEY_y, SCIM_KEY_z }, 2000 { SCIM_KEY_z, SCIM_KEY_y }, 2001 }; 2002 2003 static __Uint16Pair __german_swiss_to_us_caps [] = { 2004 { SCIM_KEY_dollar, SCIM_KEY_backslash }, 2005 { SCIM_KEY_apostrophe, SCIM_KEY_minus }, 2006 { SCIM_KEY_minus, SCIM_KEY_slash }, 2007 { SCIM_KEY_Y, SCIM_KEY_Z }, 2008 { SCIM_KEY_Z, SCIM_KEY_Y }, 2009 { SCIM_KEY_section, SCIM_KEY_grave }, 2010 { SCIM_KEY_Adiaeresis, SCIM_KEY_apostrophe }, 2011 { SCIM_KEY_Odiaeresis, SCIM_KEY_semicolon }, 2012 { SCIM_KEY_Udiaeresis, SCIM_KEY_bracketleft }, 2013 { SCIM_KEY_dead_circumflex, SCIM_KEY_equal }, 2014 { SCIM_KEY_dead_diaeresis, SCIM_KEY_bracketright }, 2015 }; 2016 2017 static __Uint16Pair __us_to_german_swiss_caps [] = { 2018 { SCIM_KEY_apostrophe, SCIM_KEY_Adiaeresis }, 2019 { SCIM_KEY_minus, SCIM_KEY_apostrophe }, 2020 { SCIM_KEY_slash, SCIM_KEY_minus }, 2021 { SCIM_KEY_semicolon, SCIM_KEY_Odiaeresis }, 2022 { SCIM_KEY_equal, SCIM_KEY_dead_circumflex }, 2023 { SCIM_KEY_Y, SCIM_KEY_Z }, 2024 { SCIM_KEY_Z, SCIM_KEY_Y }, 2025 { SCIM_KEY_bracketleft, SCIM_KEY_Udiaeresis }, 2026 { SCIM_KEY_backslash, SCIM_KEY_dollar }, 2027 { SCIM_KEY_bracketright, SCIM_KEY_dead_diaeresis }, 2028 { SCIM_KEY_grave, SCIM_KEY_section }, 2029 }; 2030 2031 static __Uint16Pair __german_swiss_to_us_shift [] = { 2032 { SCIM_KEY_exclam, SCIM_KEY_braceright }, 2033 { SCIM_KEY_quotedbl, SCIM_KEY_at }, 2034 { SCIM_KEY_ampersand, SCIM_KEY_asciicircum }, 2035 { SCIM_KEY_parenleft, SCIM_KEY_asterisk }, 2036 { SCIM_KEY_parenright, SCIM_KEY_parenleft }, 2037 { SCIM_KEY_asterisk, SCIM_KEY_numbersign }, 2038 { SCIM_KEY_plus, SCIM_KEY_exclam }, 2039 { SCIM_KEY_slash, SCIM_KEY_ampersand }, 2040 { SCIM_KEY_colon, SCIM_KEY_greater }, 2041 { SCIM_KEY_semicolon, SCIM_KEY_less }, 2042 { SCIM_KEY_equal, SCIM_KEY_parenright }, 2043 { SCIM_KEY_question, SCIM_KEY_underscore }, 2044 { SCIM_KEY_Y, SCIM_KEY_Z }, 2045 { SCIM_KEY_Z, SCIM_KEY_Y }, 2046 { SCIM_KEY_underscore, SCIM_KEY_question }, 2047 { SCIM_KEY_sterling, SCIM_KEY_bar }, 2048 { SCIM_KEY_degree, SCIM_KEY_asciitilde }, 2049 { SCIM_KEY_agrave, SCIM_KEY_quotedbl }, 2050 { SCIM_KEY_ccedilla, SCIM_KEY_dollar }, 2051 { SCIM_KEY_egrave, SCIM_KEY_braceleft }, 2052 { SCIM_KEY_eacute, SCIM_KEY_colon }, 2053 { SCIM_KEY_dead_grave, SCIM_KEY_plus }, 2054 }; 2055 2056 static __Uint16Pair __us_to_german_swiss_shift [] = { 2057 { SCIM_KEY_exclam, SCIM_KEY_plus }, 2058 { SCIM_KEY_quotedbl, SCIM_KEY_agrave }, 2059 { SCIM_KEY_numbersign, SCIM_KEY_asterisk }, 2060 { SCIM_KEY_dollar, SCIM_KEY_ccedilla }, 2061 { SCIM_KEY_ampersand, SCIM_KEY_slash }, 2062 { SCIM_KEY_parenleft, SCIM_KEY_parenright }, 2063 { SCIM_KEY_parenright, SCIM_KEY_equal }, 2064 { SCIM_KEY_asterisk, SCIM_KEY_parenleft }, 2065 { SCIM_KEY_plus, SCIM_KEY_dead_grave }, 2066 { SCIM_KEY_colon, SCIM_KEY_eacute }, 2067 { SCIM_KEY_less, SCIM_KEY_semicolon }, 2068 { SCIM_KEY_greater, SCIM_KEY_colon }, 2069 { SCIM_KEY_question, SCIM_KEY_underscore }, 2070 { SCIM_KEY_at, SCIM_KEY_quotedbl }, 2071 { SCIM_KEY_Y, SCIM_KEY_Z }, 2072 { SCIM_KEY_Z, SCIM_KEY_Y }, 2073 { SCIM_KEY_asciicircum, SCIM_KEY_ampersand }, 2074 { SCIM_KEY_underscore, SCIM_KEY_question }, 2075 { SCIM_KEY_braceleft, SCIM_KEY_egrave }, 2076 { SCIM_KEY_bar, SCIM_KEY_sterling }, 2077 { SCIM_KEY_braceright, SCIM_KEY_exclam }, 2078 { SCIM_KEY_asciitilde, SCIM_KEY_degree }, 2079 }; 2080 2081 static __Uint16Pair __german_swiss_to_us_caps_shift [] = { 2082 { SCIM_KEY_exclam, SCIM_KEY_braceright }, 2083 { SCIM_KEY_quotedbl, SCIM_KEY_at }, 2084 { SCIM_KEY_ampersand, SCIM_KEY_asciicircum }, 2085 { SCIM_KEY_parenleft, SCIM_KEY_asterisk }, 2086 { SCIM_KEY_parenright, SCIM_KEY_parenleft }, 2087 { SCIM_KEY_asterisk, SCIM_KEY_numbersign }, 2088 { SCIM_KEY_plus, SCIM_KEY_exclam }, 2089 { SCIM_KEY_slash, SCIM_KEY_ampersand }, 2090 { SCIM_KEY_colon, SCIM_KEY_greater }, 2091 { SCIM_KEY_semicolon, SCIM_KEY_less }, 2092 { SCIM_KEY_equal, SCIM_KEY_parenright }, 2093 { SCIM_KEY_question, SCIM_KEY_underscore }, 2094 { SCIM_KEY_underscore, SCIM_KEY_question }, 2095 { SCIM_KEY_y, SCIM_KEY_z }, 2096 { SCIM_KEY_z, SCIM_KEY_y }, 2097 { SCIM_KEY_sterling, SCIM_KEY_bar }, 2098 { SCIM_KEY_degree, SCIM_KEY_asciitilde }, 2099 { SCIM_KEY_Agrave, SCIM_KEY_quotedbl }, 2100 { SCIM_KEY_Ccedilla, SCIM_KEY_dollar }, 2101 { SCIM_KEY_Egrave, SCIM_KEY_braceleft }, 2102 { SCIM_KEY_Eacute, SCIM_KEY_colon }, 2103 { SCIM_KEY_dead_grave, SCIM_KEY_plus }, 2104 }; 2105 2106 static __Uint16Pair __us_to_german_swiss_caps_shift [] = { 2107 { SCIM_KEY_exclam, SCIM_KEY_plus }, 2108 { SCIM_KEY_quotedbl, SCIM_KEY_Agrave }, 2109 { SCIM_KEY_numbersign, SCIM_KEY_asterisk }, 2110 { SCIM_KEY_dollar, SCIM_KEY_Ccedilla }, 2111 { SCIM_KEY_ampersand, SCIM_KEY_slash }, 2112 { SCIM_KEY_parenleft, SCIM_KEY_parenright }, 2113 { SCIM_KEY_parenright, SCIM_KEY_equal }, 2114 { SCIM_KEY_asterisk, SCIM_KEY_parenleft }, 2115 { SCIM_KEY_plus, SCIM_KEY_dead_grave }, 2116 { SCIM_KEY_colon, SCIM_KEY_Eacute }, 2117 { SCIM_KEY_less, SCIM_KEY_semicolon }, 2118 { SCIM_KEY_greater, SCIM_KEY_colon }, 2119 { SCIM_KEY_question, SCIM_KEY_underscore }, 2120 { SCIM_KEY_at, SCIM_KEY_quotedbl }, 2121 { SCIM_KEY_asciicircum, SCIM_KEY_ampersand }, 2122 { SCIM_KEY_underscore, SCIM_KEY_question }, 2123 { SCIM_KEY_y, SCIM_KEY_z }, 2124 { SCIM_KEY_z, SCIM_KEY_y }, 2125 { SCIM_KEY_braceleft, SCIM_KEY_Egrave }, 2126 { SCIM_KEY_bar, SCIM_KEY_sterling }, 2127 { SCIM_KEY_braceright, SCIM_KEY_exclam }, 2128 { SCIM_KEY_asciitilde, SCIM_KEY_degree }, 2129 }; 2130 2131 static __Uint16Pair __hungarian_to_us_normal [] = { 2132 { SCIM_KEY_minus, SCIM_KEY_slash }, 2133 { SCIM_KEY_0, SCIM_KEY_grave }, 2134 { SCIM_KEY_y, SCIM_KEY_z }, 2135 { SCIM_KEY_z, SCIM_KEY_y }, 2136 { SCIM_KEY_aacute, SCIM_KEY_apostrophe }, 2137 { SCIM_KEY_eacute, SCIM_KEY_semicolon }, 2138 { SCIM_KEY_oacute, SCIM_KEY_equal }, 2139 { SCIM_KEY_odiaeresis, SCIM_KEY_0 }, 2140 { SCIM_KEY_uacute, SCIM_KEY_bracketright }, 2141 { SCIM_KEY_udiaeresis, SCIM_KEY_minus }, 2142 { SCIM_KEY_odoubleacute, SCIM_KEY_bracketleft }, 2143 { SCIM_KEY_udoubleacute, SCIM_KEY_backslash }, 2144 }; 2145 2146 static __Uint16Pair __us_to_hungarian_normal [] = { 2147 { SCIM_KEY_apostrophe, SCIM_KEY_aacute }, 2148 { SCIM_KEY_minus, SCIM_KEY_udiaeresis }, 2149 { SCIM_KEY_slash, SCIM_KEY_minus }, 2150 { SCIM_KEY_0, SCIM_KEY_odiaeresis }, 2151 { SCIM_KEY_semicolon, SCIM_KEY_eacute }, 2152 { SCIM_KEY_equal, SCIM_KEY_oacute }, 2153 { SCIM_KEY_bracketleft, SCIM_KEY_odoubleacute }, 2154 { SCIM_KEY_backslash, SCIM_KEY_udoubleacute }, 2155 { SCIM_KEY_bracketright, SCIM_KEY_uacute }, 2156 { SCIM_KEY_grave, SCIM_KEY_0 }, 2157 { SCIM_KEY_y, SCIM_KEY_z }, 2158 { SCIM_KEY_z, SCIM_KEY_y }, 2159 }; 2160 2161 static __Uint16Pair __hungarian_to_us_caps [] = { 2162 { SCIM_KEY_minus, SCIM_KEY_slash }, 2163 { SCIM_KEY_0, SCIM_KEY_grave }, 2164 { SCIM_KEY_Y, SCIM_KEY_Z }, 2165 { SCIM_KEY_Z, SCIM_KEY_Y }, 2166 { SCIM_KEY_Aacute, SCIM_KEY_apostrophe }, 2167 { SCIM_KEY_Eacute, SCIM_KEY_semicolon }, 2168 { SCIM_KEY_Oacute, SCIM_KEY_equal }, 2169 { SCIM_KEY_Odiaeresis, SCIM_KEY_0 }, 2170 { SCIM_KEY_Uacute, SCIM_KEY_bracketright }, 2171 { SCIM_KEY_Udiaeresis, SCIM_KEY_minus }, 2172 { SCIM_KEY_Odoubleacute, SCIM_KEY_bracketleft }, 2173 { SCIM_KEY_Udoubleacute, SCIM_KEY_backslash }, 2174 }; 2175 2176 static __Uint16Pair __us_to_hungarian_caps [] = { 2177 { SCIM_KEY_apostrophe, SCIM_KEY_Aacute }, 2178 { SCIM_KEY_minus, SCIM_KEY_Udiaeresis }, 2179 { SCIM_KEY_slash, SCIM_KEY_minus }, 2180 { SCIM_KEY_0, SCIM_KEY_Odiaeresis }, 2181 { SCIM_KEY_semicolon, SCIM_KEY_Eacute }, 2182 { SCIM_KEY_equal, SCIM_KEY_Oacute }, 2183 { SCIM_KEY_Y, SCIM_KEY_Z }, 2184 { SCIM_KEY_Z, SCIM_KEY_Y }, 2185 { SCIM_KEY_bracketleft, SCIM_KEY_Odoubleacute }, 2186 { SCIM_KEY_backslash, SCIM_KEY_Udoubleacute }, 2187 { SCIM_KEY_bracketright, SCIM_KEY_Uacute }, 2188 { SCIM_KEY_grave, SCIM_KEY_0 }, 2189 }; 2190 2191 static __Uint16Pair __hungarian_to_us_shift [] = { 2192 { SCIM_KEY_exclam, SCIM_KEY_dollar }, 2193 { SCIM_KEY_quotedbl, SCIM_KEY_at }, 2194 { SCIM_KEY_apostrophe, SCIM_KEY_exclam }, 2195 { SCIM_KEY_parenleft, SCIM_KEY_asterisk }, 2196 { SCIM_KEY_parenright, SCIM_KEY_parenleft }, 2197 { SCIM_KEY_plus, SCIM_KEY_numbersign }, 2198 { SCIM_KEY_slash, SCIM_KEY_asciicircum }, 2199 { SCIM_KEY_colon, SCIM_KEY_greater }, 2200 { SCIM_KEY_equal, SCIM_KEY_ampersand }, 2201 { SCIM_KEY_question, SCIM_KEY_less }, 2202 { SCIM_KEY_Y, SCIM_KEY_Z }, 2203 { SCIM_KEY_Z, SCIM_KEY_Y }, 2204 { SCIM_KEY_underscore, SCIM_KEY_question }, 2205 { SCIM_KEY_section, SCIM_KEY_asciitilde }, 2206 { SCIM_KEY_Aacute, SCIM_KEY_quotedbl }, 2207 { SCIM_KEY_Eacute, SCIM_KEY_colon }, 2208 { SCIM_KEY_Oacute, SCIM_KEY_plus }, 2209 { SCIM_KEY_Odiaeresis, SCIM_KEY_parenright }, 2210 { SCIM_KEY_Uacute, SCIM_KEY_braceright }, 2211 { SCIM_KEY_Udiaeresis, SCIM_KEY_underscore }, 2212 { SCIM_KEY_Odoubleacute, SCIM_KEY_braceleft }, 2213 { SCIM_KEY_Udoubleacute, SCIM_KEY_bar }, 2214 }; 2215 2216 static __Uint16Pair __us_to_hungarian_shift [] = { 2217 { SCIM_KEY_exclam, SCIM_KEY_apostrophe }, 2218 { SCIM_KEY_quotedbl, SCIM_KEY_Aacute }, 2219 { SCIM_KEY_numbersign, SCIM_KEY_plus }, 2220 { SCIM_KEY_dollar, SCIM_KEY_exclam }, 2221 { SCIM_KEY_ampersand, SCIM_KEY_equal }, 2222 { SCIM_KEY_parenleft, SCIM_KEY_parenright }, 2223 { SCIM_KEY_parenright, SCIM_KEY_Odiaeresis }, 2224 { SCIM_KEY_asterisk, SCIM_KEY_parenleft }, 2225 { SCIM_KEY_plus, SCIM_KEY_Oacute }, 2226 { SCIM_KEY_colon, SCIM_KEY_Eacute }, 2227 { SCIM_KEY_less, SCIM_KEY_question }, 2228 { SCIM_KEY_greater, SCIM_KEY_colon }, 2229 { SCIM_KEY_question, SCIM_KEY_underscore }, 2230 { SCIM_KEY_at, SCIM_KEY_quotedbl }, 2231 { SCIM_KEY_Y, SCIM_KEY_Z }, 2232 { SCIM_KEY_Z, SCIM_KEY_Y }, 2233 { SCIM_KEY_asciicircum, SCIM_KEY_slash }, 2234 { SCIM_KEY_underscore, SCIM_KEY_Udiaeresis }, 2235 { SCIM_KEY_braceleft, SCIM_KEY_Odoubleacute }, 2236 { SCIM_KEY_bar, SCIM_KEY_Udoubleacute }, 2237 { SCIM_KEY_braceright, SCIM_KEY_Uacute }, 2238 { SCIM_KEY_asciitilde, SCIM_KEY_section }, 2239 }; 2240 2241 static __Uint16Pair __hungarian_to_us_caps_shift [] = { 2242 { SCIM_KEY_exclam, SCIM_KEY_dollar }, 2243 { SCIM_KEY_quotedbl, SCIM_KEY_at }, 2244 { SCIM_KEY_apostrophe, SCIM_KEY_exclam }, 2245 { SCIM_KEY_parenleft, SCIM_KEY_asterisk }, 2246 { SCIM_KEY_parenright, SCIM_KEY_parenleft }, 2247 { SCIM_KEY_plus, SCIM_KEY_numbersign }, 2248 { SCIM_KEY_slash, SCIM_KEY_asciicircum }, 2249 { SCIM_KEY_colon, SCIM_KEY_greater }, 2250 { SCIM_KEY_equal, SCIM_KEY_ampersand }, 2251 { SCIM_KEY_question, SCIM_KEY_less }, 2252 { SCIM_KEY_underscore, SCIM_KEY_question }, 2253 { SCIM_KEY_y, SCIM_KEY_z }, 2254 { SCIM_KEY_z, SCIM_KEY_y }, 2255 { SCIM_KEY_section, SCIM_KEY_asciitilde }, 2256 { SCIM_KEY_aacute, SCIM_KEY_quotedbl }, 2257 { SCIM_KEY_eacute, SCIM_KEY_colon }, 2258 { SCIM_KEY_oacute, SCIM_KEY_plus }, 2259 { SCIM_KEY_odiaeresis, SCIM_KEY_parenright }, 2260 { SCIM_KEY_uacute, SCIM_KEY_braceright }, 2261 { SCIM_KEY_udiaeresis, SCIM_KEY_underscore }, 2262 { SCIM_KEY_odoubleacute, SCIM_KEY_braceleft }, 2263 { SCIM_KEY_udoubleacute, SCIM_KEY_bar }, 2264 }; 2265 2266 static __Uint16Pair __us_to_hungarian_caps_shift [] = { 2267 { SCIM_KEY_exclam, SCIM_KEY_apostrophe }, 2268 { SCIM_KEY_quotedbl, SCIM_KEY_aacute }, 2269 { SCIM_KEY_numbersign, SCIM_KEY_plus }, 2270 { SCIM_KEY_dollar, SCIM_KEY_exclam }, 2271 { SCIM_KEY_ampersand, SCIM_KEY_equal }, 2272 { SCIM_KEY_parenleft, SCIM_KEY_parenright }, 2273 { SCIM_KEY_parenright, SCIM_KEY_odiaeresis }, 2274 { SCIM_KEY_asterisk, SCIM_KEY_parenleft }, 2275 { SCIM_KEY_plus, SCIM_KEY_oacute }, 2276 { SCIM_KEY_colon, SCIM_KEY_eacute }, 2277 { SCIM_KEY_less, SCIM_KEY_question }, 2278 { SCIM_KEY_greater, SCIM_KEY_colon }, 2279 { SCIM_KEY_question, SCIM_KEY_underscore }, 2280 { SCIM_KEY_at, SCIM_KEY_quotedbl }, 2281 { SCIM_KEY_asciicircum, SCIM_KEY_slash }, 2282 { SCIM_KEY_underscore, SCIM_KEY_udiaeresis }, 2283 { SCIM_KEY_y, SCIM_KEY_z }, 2284 { SCIM_KEY_z, SCIM_KEY_y }, 2285 { SCIM_KEY_braceleft, SCIM_KEY_odoubleacute }, 2286 { SCIM_KEY_bar, SCIM_KEY_udoubleacute }, 2287 { SCIM_KEY_braceright, SCIM_KEY_uacute }, 2288 { SCIM_KEY_asciitilde, SCIM_KEY_section }, 2289 }; 2290 2291 static __Uint16Pair __italian_to_us_normal [] = { 2292 { SCIM_KEY_apostrophe, SCIM_KEY_minus }, 2293 { SCIM_KEY_plus, SCIM_KEY_bracketright }, 2294 { SCIM_KEY_minus, SCIM_KEY_slash }, 2295 { SCIM_KEY_backslash, SCIM_KEY_grave }, 2296 { SCIM_KEY_agrave, SCIM_KEY_apostrophe }, 2297 { SCIM_KEY_egrave, SCIM_KEY_bracketleft }, 2298 { SCIM_KEY_igrave, SCIM_KEY_equal }, 2299 { SCIM_KEY_ograve, SCIM_KEY_semicolon }, 2300 { SCIM_KEY_ugrave, SCIM_KEY_backslash }, 2301 }; 2302 2303 static __Uint16Pair __us_to_italian_normal [] = { 2304 { SCIM_KEY_apostrophe, SCIM_KEY_agrave }, 2305 { SCIM_KEY_minus, SCIM_KEY_apostrophe }, 2306 { SCIM_KEY_slash, SCIM_KEY_minus }, 2307 { SCIM_KEY_semicolon, SCIM_KEY_ograve }, 2308 { SCIM_KEY_equal, SCIM_KEY_igrave }, 2309 { SCIM_KEY_bracketleft, SCIM_KEY_egrave }, 2310 { SCIM_KEY_backslash, SCIM_KEY_ugrave }, 2311 { SCIM_KEY_bracketright, SCIM_KEY_plus }, 2312 { SCIM_KEY_grave, SCIM_KEY_backslash }, 2313 }; 2314 2315 static __Uint16Pair __italian_to_us_caps [] = { 2316 { SCIM_KEY_apostrophe, SCIM_KEY_minus }, 2317 { SCIM_KEY_plus, SCIM_KEY_bracketright }, 2318 { SCIM_KEY_minus, SCIM_KEY_slash }, 2319 { SCIM_KEY_backslash, SCIM_KEY_grave }, 2320 { SCIM_KEY_Agrave, SCIM_KEY_apostrophe }, 2321 { SCIM_KEY_Egrave, SCIM_KEY_bracketleft }, 2322 { SCIM_KEY_Igrave, SCIM_KEY_equal }, 2323 { SCIM_KEY_Ograve, SCIM_KEY_semicolon }, 2324 { SCIM_KEY_Ugrave, SCIM_KEY_backslash }, 2325 }; 2326 2327 static __Uint16Pair __us_to_italian_caps [] = { 2328 { SCIM_KEY_apostrophe, SCIM_KEY_Agrave }, 2329 { SCIM_KEY_minus, SCIM_KEY_apostrophe }, 2330 { SCIM_KEY_slash, SCIM_KEY_minus }, 2331 { SCIM_KEY_semicolon, SCIM_KEY_Ograve }, 2332 { SCIM_KEY_equal, SCIM_KEY_Igrave }, 2333 { SCIM_KEY_bracketleft, SCIM_KEY_Egrave }, 2334 { SCIM_KEY_backslash, SCIM_KEY_Ugrave }, 2335 { SCIM_KEY_bracketright, SCIM_KEY_plus }, 2336 { SCIM_KEY_grave, SCIM_KEY_backslash }, 2337 }; 2338 2339 static __Uint16Pair __italian_to_us_shift [] = { 2340 { SCIM_KEY_quotedbl, SCIM_KEY_at }, 2341 { SCIM_KEY_ampersand, SCIM_KEY_asciicircum }, 2342 { SCIM_KEY_parenleft, SCIM_KEY_asterisk }, 2343 { SCIM_KEY_parenright, SCIM_KEY_parenleft }, 2344 { SCIM_KEY_asterisk, SCIM_KEY_braceright }, 2345 { SCIM_KEY_slash, SCIM_KEY_ampersand }, 2346 { SCIM_KEY_colon, SCIM_KEY_greater }, 2347 { SCIM_KEY_semicolon, SCIM_KEY_less }, 2348 { SCIM_KEY_equal, SCIM_KEY_parenright }, 2349 { SCIM_KEY_question, SCIM_KEY_underscore }, 2350 { SCIM_KEY_asciicircum, SCIM_KEY_plus }, 2351 { SCIM_KEY_underscore, SCIM_KEY_question }, 2352 { SCIM_KEY_bar, SCIM_KEY_asciitilde }, 2353 { SCIM_KEY_sterling, SCIM_KEY_numbersign }, 2354 { SCIM_KEY_section, SCIM_KEY_bar }, 2355 { SCIM_KEY_degree, SCIM_KEY_quotedbl }, 2356 { SCIM_KEY_ccedilla, SCIM_KEY_colon }, 2357 { SCIM_KEY_eacute, SCIM_KEY_braceleft }, 2358 }; 2359 2360 static __Uint16Pair __us_to_italian_shift [] = { 2361 { SCIM_KEY_quotedbl, SCIM_KEY_degree }, 2362 { SCIM_KEY_numbersign, SCIM_KEY_sterling }, 2363 { SCIM_KEY_ampersand, SCIM_KEY_slash }, 2364 { SCIM_KEY_parenleft, SCIM_KEY_parenright }, 2365 { SCIM_KEY_parenright, SCIM_KEY_equal }, 2366 { SCIM_KEY_asterisk, SCIM_KEY_parenleft }, 2367 { SCIM_KEY_plus, SCIM_KEY_asciicircum }, 2368 { SCIM_KEY_colon, SCIM_KEY_ccedilla }, 2369 { SCIM_KEY_less, SCIM_KEY_semicolon }, 2370 { SCIM_KEY_greater, SCIM_KEY_colon }, 2371 { SCIM_KEY_question, SCIM_KEY_underscore }, 2372 { SCIM_KEY_at, SCIM_KEY_quotedbl }, 2373 { SCIM_KEY_asciicircum, SCIM_KEY_ampersand }, 2374 { SCIM_KEY_underscore, SCIM_KEY_question }, 2375 { SCIM_KEY_braceleft, SCIM_KEY_eacute }, 2376 { SCIM_KEY_bar, SCIM_KEY_section }, 2377 { SCIM_KEY_braceright, SCIM_KEY_asterisk }, 2378 { SCIM_KEY_asciitilde, SCIM_KEY_bar }, 2379 }; 2380 2381 static __Uint16Pair __italian_to_us_caps_shift [] = { 2382 { SCIM_KEY_quotedbl, SCIM_KEY_at }, 2383 { SCIM_KEY_ampersand, SCIM_KEY_asciicircum }, 2384 { SCIM_KEY_parenleft, SCIM_KEY_asterisk }, 2385 { SCIM_KEY_parenright, SCIM_KEY_parenleft }, 2386 { SCIM_KEY_asterisk, SCIM_KEY_braceright }, 2387 { SCIM_KEY_slash, SCIM_KEY_ampersand }, 2388 { SCIM_KEY_colon, SCIM_KEY_greater }, 2389 { SCIM_KEY_semicolon, SCIM_KEY_less }, 2390 { SCIM_KEY_equal, SCIM_KEY_parenright }, 2391 { SCIM_KEY_question, SCIM_KEY_underscore }, 2392 { SCIM_KEY_asciicircum, SCIM_KEY_plus }, 2393 { SCIM_KEY_underscore, SCIM_KEY_question }, 2394 { SCIM_KEY_bar, SCIM_KEY_asciitilde }, 2395 { SCIM_KEY_sterling, SCIM_KEY_numbersign }, 2396 { SCIM_KEY_section, SCIM_KEY_bar }, 2397 { SCIM_KEY_degree, SCIM_KEY_quotedbl }, 2398 { SCIM_KEY_Ccedilla, SCIM_KEY_colon }, 2399 { SCIM_KEY_Eacute, SCIM_KEY_braceleft }, 2400 }; 2401 2402 static __Uint16Pair __us_to_italian_caps_shift [] = { 2403 { SCIM_KEY_quotedbl, SCIM_KEY_degree }, 2404 { SCIM_KEY_numbersign, SCIM_KEY_sterling }, 2405 { SCIM_KEY_ampersand, SCIM_KEY_slash }, 2406 { SCIM_KEY_parenleft, SCIM_KEY_parenright }, 2407 { SCIM_KEY_parenright, SCIM_KEY_equal }, 2408 { SCIM_KEY_asterisk, SCIM_KEY_parenleft }, 2409 { SCIM_KEY_plus, SCIM_KEY_asciicircum }, 2410 { SCIM_KEY_colon, SCIM_KEY_Ccedilla }, 2411 { SCIM_KEY_less, SCIM_KEY_semicolon }, 2412 { SCIM_KEY_greater, SCIM_KEY_colon }, 2413 { SCIM_KEY_question, SCIM_KEY_underscore }, 2414 { SCIM_KEY_at, SCIM_KEY_quotedbl }, 2415 { SCIM_KEY_asciicircum, SCIM_KEY_ampersand }, 2416 { SCIM_KEY_underscore, SCIM_KEY_question }, 2417 { SCIM_KEY_braceleft, SCIM_KEY_Eacute }, 2418 { SCIM_KEY_bar, SCIM_KEY_section }, 2419 { SCIM_KEY_braceright, SCIM_KEY_asterisk }, 2420 { SCIM_KEY_asciitilde, SCIM_KEY_bar }, 2421 }; 2422 2423 static __Uint16Pair __japanese_to_us_normal [] = { 2424 { SCIM_KEY_colon, SCIM_KEY_apostrophe }, 2425 { SCIM_KEY_at, SCIM_KEY_bracketleft }, 2426 { SCIM_KEY_bracketleft, SCIM_KEY_bracketright }, 2427 { SCIM_KEY_bracketright, SCIM_KEY_backslash }, 2428 { SCIM_KEY_asciicircum, SCIM_KEY_equal }, 2429 { SCIM_KEY_Zenkaku_Hankaku, SCIM_KEY_grave }, 2430 }; 2431 2432 static __Uint16Pair __us_to_japanese_normal [] = { 2433 { SCIM_KEY_apostrophe, SCIM_KEY_colon }, 2434 { SCIM_KEY_equal, SCIM_KEY_asciicircum }, 2435 { SCIM_KEY_bracketleft, SCIM_KEY_at }, 2436 { SCIM_KEY_backslash, SCIM_KEY_bracketright }, 2437 { SCIM_KEY_bracketright, SCIM_KEY_bracketleft }, 2438 { SCIM_KEY_grave, SCIM_KEY_Zenkaku_Hankaku }, 2439 }; 2440 2441 static __Uint16Pair __japanese_to_us_caps [] = { 2442 { SCIM_KEY_colon, SCIM_KEY_apostrophe }, 2443 { SCIM_KEY_at, SCIM_KEY_bracketleft }, 2444 { SCIM_KEY_bracketleft, SCIM_KEY_bracketright }, 2445 { SCIM_KEY_bracketright, SCIM_KEY_backslash }, 2446 { SCIM_KEY_asciicircum, SCIM_KEY_equal }, 2447 { SCIM_KEY_Zenkaku_Hankaku, SCIM_KEY_grave }, 2448 }; 2449 2450 static __Uint16Pair __us_to_japanese_caps [] = { 2451 { SCIM_KEY_apostrophe, SCIM_KEY_colon }, 2452 { SCIM_KEY_equal, SCIM_KEY_asciicircum }, 2453 { SCIM_KEY_bracketleft, SCIM_KEY_at }, 2454 { SCIM_KEY_backslash, SCIM_KEY_bracketright }, 2455 { SCIM_KEY_bracketright, SCIM_KEY_bracketleft }, 2456 { SCIM_KEY_grave, SCIM_KEY_Zenkaku_Hankaku }, 2457 }; 2458 2459 static __Uint16Pair __japanese_to_us_shift [] = { 2460 { SCIM_KEY_quotedbl, SCIM_KEY_at }, 2461 { SCIM_KEY_ampersand, SCIM_KEY_asciicircum }, 2462 { SCIM_KEY_apostrophe, SCIM_KEY_ampersand }, 2463 { SCIM_KEY_parenleft, SCIM_KEY_asterisk }, 2464 { SCIM_KEY_parenright, SCIM_KEY_parenleft }, 2465 { SCIM_KEY_asterisk, SCIM_KEY_quotedbl }, 2466 { SCIM_KEY_plus, SCIM_KEY_colon }, 2467 { SCIM_KEY_equal, SCIM_KEY_underscore }, 2468 { SCIM_KEY_grave, SCIM_KEY_braceleft }, 2469 { SCIM_KEY_braceleft, SCIM_KEY_braceright }, 2470 { SCIM_KEY_braceright, SCIM_KEY_bar }, 2471 { SCIM_KEY_asciitilde, SCIM_KEY_parenright }, 2472 { SCIM_KEY_asciitilde, SCIM_KEY_plus }, 2473 { SCIM_KEY_Zenkaku_Hankaku, SCIM_KEY_asciitilde }, 2474 }; 2475 2476 static __Uint16Pair __us_to_japanese_shift [] = { 2477 { SCIM_KEY_quotedbl, SCIM_KEY_asterisk }, 2478 { SCIM_KEY_ampersand, SCIM_KEY_apostrophe }, 2479 { SCIM_KEY_parenleft, SCIM_KEY_parenright }, 2480 { SCIM_KEY_parenright, SCIM_KEY_asciitilde }, 2481 { SCIM_KEY_asterisk, SCIM_KEY_parenleft }, 2482 { SCIM_KEY_plus, SCIM_KEY_asciitilde }, 2483 { SCIM_KEY_colon, SCIM_KEY_plus }, 2484 { SCIM_KEY_at, SCIM_KEY_quotedbl }, 2485 { SCIM_KEY_asciicircum, SCIM_KEY_ampersand }, 2486 { SCIM_KEY_underscore, SCIM_KEY_equal }, 2487 { SCIM_KEY_braceleft, SCIM_KEY_grave }, 2488 { SCIM_KEY_bar, SCIM_KEY_braceright }, 2489 { SCIM_KEY_braceright, SCIM_KEY_braceleft }, 2490 { SCIM_KEY_asciitilde, SCIM_KEY_Zenkaku_Hankaku }, 2491 }; 2492 2493 static __Uint16Pair __japanese_to_us_caps_shift [] = { 2494 { SCIM_KEY_quotedbl, SCIM_KEY_at }, 2495 { SCIM_KEY_ampersand, SCIM_KEY_asciicircum }, 2496 { SCIM_KEY_apostrophe, SCIM_KEY_ampersand }, 2497 { SCIM_KEY_parenleft, SCIM_KEY_asterisk }, 2498 { SCIM_KEY_parenright, SCIM_KEY_parenleft }, 2499 { SCIM_KEY_asterisk, SCIM_KEY_quotedbl }, 2500 { SCIM_KEY_plus, SCIM_KEY_colon }, 2501 { SCIM_KEY_equal, SCIM_KEY_underscore }, 2502 { SCIM_KEY_grave, SCIM_KEY_braceleft }, 2503 { SCIM_KEY_braceleft, SCIM_KEY_braceright }, 2504 { SCIM_KEY_braceright, SCIM_KEY_bar }, 2505 { SCIM_KEY_asciitilde, SCIM_KEY_parenright }, 2506 { SCIM_KEY_asciitilde, SCIM_KEY_plus }, 2507 { SCIM_KEY_Zenkaku_Hankaku, SCIM_KEY_asciitilde }, 2508 }; 2509 2510 static __Uint16Pair __us_to_japanese_caps_shift [] = { 2511 { SCIM_KEY_quotedbl, SCIM_KEY_asterisk }, 2512 { SCIM_KEY_ampersand, SCIM_KEY_apostrophe }, 2513 { SCIM_KEY_parenleft, SCIM_KEY_parenright }, 2514 { SCIM_KEY_parenright, SCIM_KEY_asciitilde }, 2515 { SCIM_KEY_asterisk, SCIM_KEY_parenleft }, 2516 { SCIM_KEY_plus, SCIM_KEY_asciitilde }, 2517 { SCIM_KEY_colon, SCIM_KEY_plus }, 2518 { SCIM_KEY_at, SCIM_KEY_quotedbl }, 2519 { SCIM_KEY_asciicircum, SCIM_KEY_ampersand }, 2520 { SCIM_KEY_underscore, SCIM_KEY_equal }, 2521 { SCIM_KEY_braceleft, SCIM_KEY_grave }, 2522 { SCIM_KEY_bar, SCIM_KEY_braceright }, 2523 { SCIM_KEY_braceright, SCIM_KEY_braceleft }, 2524 { SCIM_KEY_asciitilde, SCIM_KEY_Zenkaku_Hankaku }, 2525 }; 2526 2527 static __Uint16Pair __norwegian_to_us_normal [] = { 2528 { SCIM_KEY_apostrophe, SCIM_KEY_backslash }, 2529 { SCIM_KEY_plus, SCIM_KEY_minus }, 2530 { SCIM_KEY_minus, SCIM_KEY_slash }, 2531 { SCIM_KEY_backslash, SCIM_KEY_equal }, 2532 { SCIM_KEY_bar, SCIM_KEY_grave }, 2533 { SCIM_KEY_aring, SCIM_KEY_bracketleft }, 2534 { SCIM_KEY_ae, SCIM_KEY_apostrophe }, 2535 { SCIM_KEY_oslash, SCIM_KEY_semicolon }, 2536 { SCIM_KEY_dead_diaeresis, SCIM_KEY_bracketright }, 2537 }; 2538 2539 static __Uint16Pair __us_to_norwegian_normal [] = { 2540 { SCIM_KEY_apostrophe, SCIM_KEY_ae }, 2541 { SCIM_KEY_minus, SCIM_KEY_plus }, 2542 { SCIM_KEY_slash, SCIM_KEY_minus }, 2543 { SCIM_KEY_semicolon, SCIM_KEY_oslash }, 2544 { SCIM_KEY_equal, SCIM_KEY_backslash }, 2545 { SCIM_KEY_bracketleft, SCIM_KEY_aring }, 2546 { SCIM_KEY_backslash, SCIM_KEY_apostrophe }, 2547 { SCIM_KEY_bracketright, SCIM_KEY_dead_diaeresis }, 2548 { SCIM_KEY_grave, SCIM_KEY_bar }, 2549 }; 2550 2551 static __Uint16Pair __norwegian_to_us_caps [] = { 2552 { SCIM_KEY_apostrophe, SCIM_KEY_backslash }, 2553 { SCIM_KEY_plus, SCIM_KEY_minus }, 2554 { SCIM_KEY_minus, SCIM_KEY_slash }, 2555 { SCIM_KEY_backslash, SCIM_KEY_equal }, 2556 { SCIM_KEY_bar, SCIM_KEY_grave }, 2557 { SCIM_KEY_Aring, SCIM_KEY_bracketleft }, 2558 { SCIM_KEY_AE, SCIM_KEY_apostrophe }, 2559 { SCIM_KEY_Ooblique, SCIM_KEY_semicolon }, 2560 { SCIM_KEY_dead_diaeresis, SCIM_KEY_bracketright }, 2561 }; 2562 2563 static __Uint16Pair __us_to_norwegian_caps [] = { 2564 { SCIM_KEY_apostrophe, SCIM_KEY_AE }, 2565 { SCIM_KEY_minus, SCIM_KEY_plus }, 2566 { SCIM_KEY_slash, SCIM_KEY_minus }, 2567 { SCIM_KEY_semicolon, SCIM_KEY_Ooblique }, 2568 { SCIM_KEY_equal, SCIM_KEY_backslash }, 2569 { SCIM_KEY_bracketleft, SCIM_KEY_Aring }, 2570 { SCIM_KEY_backslash, SCIM_KEY_apostrophe }, 2571 { SCIM_KEY_bracketright, SCIM_KEY_dead_diaeresis }, 2572 { SCIM_KEY_grave, SCIM_KEY_bar }, 2573 }; 2574 2575 static __Uint16Pair __norwegian_to_us_shift [] = { 2576 { SCIM_KEY_quotedbl, SCIM_KEY_at }, 2577 { SCIM_KEY_ampersand, SCIM_KEY_asciicircum }, 2578 { SCIM_KEY_parenleft, SCIM_KEY_asterisk }, 2579 { SCIM_KEY_parenright, SCIM_KEY_parenleft }, 2580 { SCIM_KEY_asterisk, SCIM_KEY_bar }, 2581 { SCIM_KEY_slash, SCIM_KEY_ampersand }, 2582 { SCIM_KEY_colon, SCIM_KEY_greater }, 2583 { SCIM_KEY_semicolon, SCIM_KEY_less }, 2584 { SCIM_KEY_equal, SCIM_KEY_parenright }, 2585 { SCIM_KEY_question, SCIM_KEY_underscore }, 2586 { SCIM_KEY_underscore, SCIM_KEY_question }, 2587 { SCIM_KEY_currency, SCIM_KEY_dollar }, 2588 { SCIM_KEY_section, SCIM_KEY_asciitilde }, 2589 { SCIM_KEY_Aring, SCIM_KEY_braceleft }, 2590 { SCIM_KEY_AE, SCIM_KEY_quotedbl }, 2591 { SCIM_KEY_Ooblique, SCIM_KEY_colon }, 2592 { SCIM_KEY_dead_grave, SCIM_KEY_plus }, 2593 { SCIM_KEY_dead_circumflex, SCIM_KEY_braceright }, 2594 }; 2595 2596 static __Uint16Pair __us_to_norwegian_shift [] = { 2597 { SCIM_KEY_quotedbl, SCIM_KEY_AE }, 2598 { SCIM_KEY_dollar, SCIM_KEY_currency }, 2599 { SCIM_KEY_ampersand, SCIM_KEY_slash }, 2600 { SCIM_KEY_parenleft, SCIM_KEY_parenright }, 2601 { SCIM_KEY_parenright, SCIM_KEY_equal }, 2602 { SCIM_KEY_asterisk, SCIM_KEY_parenleft }, 2603 { SCIM_KEY_plus, SCIM_KEY_dead_grave }, 2604 { SCIM_KEY_colon, SCIM_KEY_Ooblique }, 2605 { SCIM_KEY_less, SCIM_KEY_semicolon }, 2606 { SCIM_KEY_greater, SCIM_KEY_colon }, 2607 { SCIM_KEY_question, SCIM_KEY_underscore }, 2608 { SCIM_KEY_at, SCIM_KEY_quotedbl }, 2609 { SCIM_KEY_asciicircum, SCIM_KEY_ampersand }, 2610 { SCIM_KEY_underscore, SCIM_KEY_question }, 2611 { SCIM_KEY_braceleft, SCIM_KEY_Aring }, 2612 { SCIM_KEY_bar, SCIM_KEY_asterisk }, 2613 { SCIM_KEY_braceright, SCIM_KEY_dead_circumflex }, 2614 { SCIM_KEY_asciitilde, SCIM_KEY_section }, 2615 }; 2616 2617 static __Uint16Pair __norwegian_to_us_caps_shift [] = { 2618 { SCIM_KEY_quotedbl, SCIM_KEY_at }, 2619 { SCIM_KEY_ampersand, SCIM_KEY_asciicircum }, 2620 { SCIM_KEY_parenleft, SCIM_KEY_asterisk }, 2621 { SCIM_KEY_parenright, SCIM_KEY_parenleft }, 2622 { SCIM_KEY_asterisk, SCIM_KEY_bar }, 2623 { SCIM_KEY_slash, SCIM_KEY_ampersand }, 2624 { SCIM_KEY_colon, SCIM_KEY_greater }, 2625 { SCIM_KEY_semicolon, SCIM_KEY_less }, 2626 { SCIM_KEY_equal, SCIM_KEY_parenright }, 2627 { SCIM_KEY_question, SCIM_KEY_underscore }, 2628 { SCIM_KEY_underscore, SCIM_KEY_question }, 2629 { SCIM_KEY_currency, SCIM_KEY_dollar }, 2630 { SCIM_KEY_section, SCIM_KEY_asciitilde }, 2631 { SCIM_KEY_aring, SCIM_KEY_braceleft }, 2632 { SCIM_KEY_ae, SCIM_KEY_quotedbl }, 2633 { SCIM_KEY_oslash, SCIM_KEY_colon }, 2634 { SCIM_KEY_dead_grave, SCIM_KEY_plus }, 2635 { SCIM_KEY_dead_circumflex, SCIM_KEY_braceright }, 2636 }; 2637 2638 static __Uint16Pair __us_to_norwegian_caps_shift [] = { 2639 { SCIM_KEY_quotedbl, SCIM_KEY_ae }, 2640 { SCIM_KEY_dollar, SCIM_KEY_currency }, 2641 { SCIM_KEY_ampersand, SCIM_KEY_slash }, 2642 { SCIM_KEY_parenleft, SCIM_KEY_parenright }, 2643 { SCIM_KEY_parenright, SCIM_KEY_equal }, 2644 { SCIM_KEY_asterisk, SCIM_KEY_parenleft }, 2645 { SCIM_KEY_plus, SCIM_KEY_dead_grave }, 2646 { SCIM_KEY_colon, SCIM_KEY_oslash }, 2647 { SCIM_KEY_less, SCIM_KEY_semicolon }, 2648 { SCIM_KEY_greater, SCIM_KEY_colon }, 2649 { SCIM_KEY_question, SCIM_KEY_underscore }, 2650 { SCIM_KEY_at, SCIM_KEY_quotedbl }, 2651 { SCIM_KEY_asciicircum, SCIM_KEY_ampersand }, 2652 { SCIM_KEY_underscore, SCIM_KEY_question }, 2653 { SCIM_KEY_braceleft, SCIM_KEY_aring }, 2654 { SCIM_KEY_bar, SCIM_KEY_asterisk }, 2655 { SCIM_KEY_braceright, SCIM_KEY_dead_circumflex }, 2656 { SCIM_KEY_asciitilde, SCIM_KEY_section }, 2657 }; 2658 2659 static __Uint16Pair __portuguese_brazil_to_us_normal [] = { 2660 { SCIM_KEY_apostrophe, SCIM_KEY_grave }, 2661 { SCIM_KEY_semicolon, SCIM_KEY_slash }, 2662 { SCIM_KEY_bracketleft, SCIM_KEY_bracketright }, 2663 { SCIM_KEY_bracketright, SCIM_KEY_backslash }, 2664 { SCIM_KEY_ccedilla, SCIM_KEY_semicolon }, 2665 { SCIM_KEY_dead_acute, SCIM_KEY_bracketleft }, 2666 { SCIM_KEY_dead_tilde, SCIM_KEY_apostrophe }, 2667 }; 2668 2669 static __Uint16Pair __us_to_portuguese_brazil_normal [] = { 2670 { SCIM_KEY_apostrophe, SCIM_KEY_dead_tilde }, 2671 { SCIM_KEY_slash, SCIM_KEY_semicolon }, 2672 { SCIM_KEY_semicolon, SCIM_KEY_ccedilla }, 2673 { SCIM_KEY_bracketleft, SCIM_KEY_dead_acute }, 2674 { SCIM_KEY_backslash, SCIM_KEY_bracketright }, 2675 { SCIM_KEY_bracketright, SCIM_KEY_bracketleft }, 2676 { SCIM_KEY_grave, SCIM_KEY_apostrophe }, 2677 }; 2678 2679 static __Uint16Pair __portuguese_brazil_to_us_caps [] = { 2680 { SCIM_KEY_apostrophe, SCIM_KEY_grave }, 2681 { SCIM_KEY_semicolon, SCIM_KEY_slash }, 2682 { SCIM_KEY_bracketleft, SCIM_KEY_bracketright }, 2683 { SCIM_KEY_bracketright, SCIM_KEY_backslash }, 2684 { SCIM_KEY_Ccedilla, SCIM_KEY_semicolon }, 2685 { SCIM_KEY_dead_acute, SCIM_KEY_bracketleft }, 2686 { SCIM_KEY_dead_tilde, SCIM_KEY_apostrophe }, 2687 }; 2688 2689 static __Uint16Pair __us_to_portuguese_brazil_caps [] = { 2690 { SCIM_KEY_apostrophe, SCIM_KEY_dead_tilde }, 2691 { SCIM_KEY_slash, SCIM_KEY_semicolon }, 2692 { SCIM_KEY_semicolon, SCIM_KEY_Ccedilla }, 2693 { SCIM_KEY_bracketleft, SCIM_KEY_dead_acute }, 2694 { SCIM_KEY_backslash, SCIM_KEY_bracketright }, 2695 { SCIM_KEY_bracketright, SCIM_KEY_bracketleft }, 2696 { SCIM_KEY_grave, SCIM_KEY_apostrophe }, 2697 }; 2698 2699 static __Uint16Pair __portuguese_brazil_to_us_shift [] = { 2700 { SCIM_KEY_quotedbl, SCIM_KEY_asciitilde }, 2701 { SCIM_KEY_colon, SCIM_KEY_question }, 2702 { SCIM_KEY_braceleft, SCIM_KEY_braceright }, 2703 { SCIM_KEY_braceright, SCIM_KEY_bar }, 2704 { SCIM_KEY_Ccedilla, SCIM_KEY_colon }, 2705 { SCIM_KEY_dead_grave, SCIM_KEY_braceleft }, 2706 { SCIM_KEY_dead_circumflex, SCIM_KEY_quotedbl }, 2707 { SCIM_KEY_dead_diaeresis, SCIM_KEY_asciicircum }, 2708 }; 2709 2710 static __Uint16Pair __us_to_portuguese_brazil_shift [] = { 2711 { SCIM_KEY_quotedbl, SCIM_KEY_dead_circumflex }, 2712 { SCIM_KEY_colon, SCIM_KEY_Ccedilla }, 2713 { SCIM_KEY_question, SCIM_KEY_colon }, 2714 { SCIM_KEY_asciicircum, SCIM_KEY_dead_diaeresis }, 2715 { SCIM_KEY_braceleft, SCIM_KEY_dead_grave }, 2716 { SCIM_KEY_bar, SCIM_KEY_braceright }, 2717 { SCIM_KEY_braceright, SCIM_KEY_braceleft }, 2718 { SCIM_KEY_asciitilde, SCIM_KEY_quotedbl }, 2719 }; 2720 2721 static __Uint16Pair __portuguese_brazil_to_us_caps_shift [] = { 2722 { SCIM_KEY_quotedbl, SCIM_KEY_asciitilde }, 2723 { SCIM_KEY_colon, SCIM_KEY_question }, 2724 { SCIM_KEY_braceleft, SCIM_KEY_braceright }, 2725 { SCIM_KEY_braceright, SCIM_KEY_bar }, 2726 { SCIM_KEY_ccedilla, SCIM_KEY_colon }, 2727 { SCIM_KEY_dead_grave, SCIM_KEY_braceleft }, 2728 { SCIM_KEY_dead_circumflex, SCIM_KEY_quotedbl }, 2729 { SCIM_KEY_dead_diaeresis, SCIM_KEY_asciicircum }, 2730 }; 2731 2732 static __Uint16Pair __us_to_portuguese_brazil_caps_shift [] = { 2733 { SCIM_KEY_quotedbl, SCIM_KEY_dead_circumflex }, 2734 { SCIM_KEY_colon, SCIM_KEY_ccedilla }, 2735 { SCIM_KEY_question, SCIM_KEY_colon }, 2736 { SCIM_KEY_asciicircum, SCIM_KEY_dead_diaeresis }, 2737 { SCIM_KEY_braceleft, SCIM_KEY_dead_grave }, 2738 { SCIM_KEY_bar, SCIM_KEY_braceright }, 2739 { SCIM_KEY_braceright, SCIM_KEY_braceleft }, 2740 { SCIM_KEY_asciitilde, SCIM_KEY_quotedbl }, 2741 }; 2742 2743 static __Uint16Pair __portuguese_brazil_us_accents_to_us_normal [] = { 2744 { SCIM_KEY_dead_grave, SCIM_KEY_grave }, 2745 { SCIM_KEY_dead_acute, SCIM_KEY_apostrophe }, 2746 }; 2747 2748 static __Uint16Pair __us_to_portuguese_brazil_us_accents_normal [] = { 2749 { SCIM_KEY_apostrophe, SCIM_KEY_dead_acute }, 2750 { SCIM_KEY_grave, SCIM_KEY_dead_grave }, 2751 }; 2752 2753 static __Uint16Pair __portuguese_brazil_us_accents_to_us_caps [] = { 2754 { SCIM_KEY_dead_grave, SCIM_KEY_grave }, 2755 { SCIM_KEY_dead_acute, SCIM_KEY_apostrophe }, 2756 }; 2757 2758 static __Uint16Pair __us_to_portuguese_brazil_us_accents_caps [] = { 2759 { SCIM_KEY_apostrophe, SCIM_KEY_dead_acute }, 2760 { SCIM_KEY_grave, SCIM_KEY_dead_grave }, 2761 }; 2762 2763 static __Uint16Pair __portuguese_brazil_us_accents_to_us_shift [] = { 2764 { SCIM_KEY_dead_circumflex, SCIM_KEY_asciicircum }, 2765 { SCIM_KEY_dead_tilde, SCIM_KEY_asciitilde }, 2766 { SCIM_KEY_dead_diaeresis, SCIM_KEY_quotedbl }, 2767 }; 2768 2769 static __Uint16Pair __us_to_portuguese_brazil_us_accents_shift [] = { 2770 { SCIM_KEY_quotedbl, SCIM_KEY_dead_diaeresis }, 2771 { SCIM_KEY_asciicircum, SCIM_KEY_dead_circumflex }, 2772 { SCIM_KEY_asciitilde, SCIM_KEY_dead_tilde }, 2773 }; 2774 2775 static __Uint16Pair __portuguese_brazil_us_accents_to_us_caps_shift [] = { 2776 { SCIM_KEY_dead_circumflex, SCIM_KEY_asciicircum }, 2777 { SCIM_KEY_dead_tilde, SCIM_KEY_asciitilde }, 2778 { SCIM_KEY_dead_diaeresis, SCIM_KEY_quotedbl }, 2779 }; 2780 2781 static __Uint16Pair __us_to_portuguese_brazil_us_accents_caps_shift [] = { 2782 { SCIM_KEY_quotedbl, SCIM_KEY_dead_diaeresis }, 2783 { SCIM_KEY_asciicircum, SCIM_KEY_dead_circumflex }, 2784 { SCIM_KEY_asciitilde, SCIM_KEY_dead_tilde }, 2785 }; 2786 2787 static __Uint16Pair __portuguese_to_us_normal [] = { 2788 { SCIM_KEY_apostrophe, SCIM_KEY_minus }, 2789 { SCIM_KEY_plus, SCIM_KEY_bracketleft }, 2790 { SCIM_KEY_minus, SCIM_KEY_slash }, 2791 { SCIM_KEY_backslash, SCIM_KEY_grave }, 2792 { SCIM_KEY_asciitilde, SCIM_KEY_backslash }, 2793 { SCIM_KEY_guillemotleft, SCIM_KEY_equal }, 2794 { SCIM_KEY_acute, SCIM_KEY_bracketright }, 2795 { SCIM_KEY_masculine, SCIM_KEY_apostrophe }, 2796 { SCIM_KEY_ccedilla, SCIM_KEY_semicolon }, 2797 }; 2798 2799 static __Uint16Pair __us_to_portuguese_normal [] = { 2800 { SCIM_KEY_apostrophe, SCIM_KEY_masculine }, 2801 { SCIM_KEY_minus, SCIM_KEY_apostrophe }, 2802 { SCIM_KEY_slash, SCIM_KEY_minus }, 2803 { SCIM_KEY_semicolon, SCIM_KEY_ccedilla }, 2804 { SCIM_KEY_equal, SCIM_KEY_guillemotleft }, 2805 { SCIM_KEY_bracketleft, SCIM_KEY_plus }, 2806 { SCIM_KEY_backslash, SCIM_KEY_asciitilde }, 2807 { SCIM_KEY_bracketright, SCIM_KEY_acute }, 2808 { SCIM_KEY_grave, SCIM_KEY_backslash }, 2809 }; 2810 2811 static __Uint16Pair __portuguese_to_us_caps [] = { 2812 { SCIM_KEY_apostrophe, SCIM_KEY_minus }, 2813 { SCIM_KEY_plus, SCIM_KEY_bracketleft }, 2814 { SCIM_KEY_minus, SCIM_KEY_slash }, 2815 { SCIM_KEY_backslash, SCIM_KEY_grave }, 2816 { SCIM_KEY_asciitilde, SCIM_KEY_backslash }, 2817 { SCIM_KEY_guillemotleft, SCIM_KEY_equal }, 2818 { SCIM_KEY_acute, SCIM_KEY_bracketright }, 2819 { SCIM_KEY_masculine, SCIM_KEY_apostrophe }, 2820 { SCIM_KEY_Ccedilla, SCIM_KEY_semicolon }, 2821 }; 2822 2823 static __Uint16Pair __us_to_portuguese_caps [] = { 2824 { SCIM_KEY_apostrophe, SCIM_KEY_masculine }, 2825 { SCIM_KEY_minus, SCIM_KEY_apostrophe }, 2826 { SCIM_KEY_slash, SCIM_KEY_minus }, 2827 { SCIM_KEY_semicolon, SCIM_KEY_Ccedilla }, 2828 { SCIM_KEY_equal, SCIM_KEY_guillemotleft }, 2829 { SCIM_KEY_bracketleft, SCIM_KEY_plus }, 2830 { SCIM_KEY_backslash, SCIM_KEY_asciitilde }, 2831 { SCIM_KEY_bracketright, SCIM_KEY_acute }, 2832 { SCIM_KEY_grave, SCIM_KEY_backslash }, 2833 }; 2834 2835 static __Uint16Pair __portuguese_to_us_shift [] = { 2836 { SCIM_KEY_quotedbl, SCIM_KEY_at }, 2837 { SCIM_KEY_ampersand, SCIM_KEY_asciicircum }, 2838 { SCIM_KEY_parenleft, SCIM_KEY_asterisk }, 2839 { SCIM_KEY_parenright, SCIM_KEY_parenleft }, 2840 { SCIM_KEY_asterisk, SCIM_KEY_braceleft }, 2841 { SCIM_KEY_slash, SCIM_KEY_ampersand }, 2842 { SCIM_KEY_colon, SCIM_KEY_greater }, 2843 { SCIM_KEY_semicolon, SCIM_KEY_less }, 2844 { SCIM_KEY_equal, SCIM_KEY_parenright }, 2845 { SCIM_KEY_question, SCIM_KEY_underscore }, 2846 { SCIM_KEY_asciicircum, SCIM_KEY_bar }, 2847 { SCIM_KEY_underscore, SCIM_KEY_question }, 2848 { SCIM_KEY_grave, SCIM_KEY_braceright }, 2849 { SCIM_KEY_bar, SCIM_KEY_asciitilde }, 2850 { SCIM_KEY_ordfeminine, SCIM_KEY_quotedbl }, 2851 { SCIM_KEY_guillemotright, SCIM_KEY_plus }, 2852 { SCIM_KEY_Ccedilla, SCIM_KEY_colon }, 2853 }; 2854 2855 static __Uint16Pair __us_to_portuguese_shift [] = { 2856 { SCIM_KEY_quotedbl, SCIM_KEY_ordfeminine }, 2857 { SCIM_KEY_ampersand, SCIM_KEY_slash }, 2858 { SCIM_KEY_parenleft, SCIM_KEY_parenright }, 2859 { SCIM_KEY_parenright, SCIM_KEY_equal }, 2860 { SCIM_KEY_asterisk, SCIM_KEY_parenleft }, 2861 { SCIM_KEY_plus, SCIM_KEY_guillemotright }, 2862 { SCIM_KEY_colon, SCIM_KEY_Ccedilla }, 2863 { SCIM_KEY_less, SCIM_KEY_semicolon }, 2864 { SCIM_KEY_greater, SCIM_KEY_colon }, 2865 { SCIM_KEY_question, SCIM_KEY_underscore }, 2866 { SCIM_KEY_at, SCIM_KEY_quotedbl }, 2867 { SCIM_KEY_asciicircum, SCIM_KEY_ampersand }, 2868 { SCIM_KEY_underscore, SCIM_KEY_question }, 2869 { SCIM_KEY_braceleft, SCIM_KEY_asterisk }, 2870 { SCIM_KEY_bar, SCIM_KEY_asciicircum }, 2871 { SCIM_KEY_braceright, SCIM_KEY_grave }, 2872 { SCIM_KEY_asciitilde, SCIM_KEY_bar }, 2873 }; 2874 2875 static __Uint16Pair __portuguese_to_us_caps_shift [] = { 2876 { SCIM_KEY_quotedbl, SCIM_KEY_at }, 2877 { SCIM_KEY_ampersand, SCIM_KEY_asciicircum }, 2878 { SCIM_KEY_parenleft, SCIM_KEY_asterisk }, 2879 { SCIM_KEY_parenright, SCIM_KEY_parenleft }, 2880 { SCIM_KEY_asterisk, SCIM_KEY_braceleft }, 2881 { SCIM_KEY_slash, SCIM_KEY_ampersand }, 2882 { SCIM_KEY_colon, SCIM_KEY_greater }, 2883 { SCIM_KEY_semicolon, SCIM_KEY_less }, 2884 { SCIM_KEY_equal, SCIM_KEY_parenright }, 2885 { SCIM_KEY_question, SCIM_KEY_underscore }, 2886 { SCIM_KEY_asciicircum, SCIM_KEY_bar }, 2887 { SCIM_KEY_underscore, SCIM_KEY_question }, 2888 { SCIM_KEY_grave, SCIM_KEY_braceright }, 2889 { SCIM_KEY_bar, SCIM_KEY_asciitilde }, 2890 { SCIM_KEY_ordfeminine, SCIM_KEY_quotedbl }, 2891 { SCIM_KEY_guillemotright, SCIM_KEY_plus }, 2892 { SCIM_KEY_ccedilla, SCIM_KEY_colon }, 2893 }; 2894 2895 static __Uint16Pair __us_to_portuguese_caps_shift [] = { 2896 { SCIM_KEY_quotedbl, SCIM_KEY_ordfeminine }, 2897 { SCIM_KEY_ampersand, SCIM_KEY_slash }, 2898 { SCIM_KEY_parenleft, SCIM_KEY_parenright }, 2899 { SCIM_KEY_parenright, SCIM_KEY_equal }, 2900 { SCIM_KEY_asterisk, SCIM_KEY_parenleft }, 2901 { SCIM_KEY_plus, SCIM_KEY_guillemotright }, 2902 { SCIM_KEY_colon, SCIM_KEY_ccedilla }, 2903 { SCIM_KEY_less, SCIM_KEY_semicolon }, 2904 { SCIM_KEY_greater, SCIM_KEY_colon }, 2905 { SCIM_KEY_question, SCIM_KEY_underscore }, 2906 { SCIM_KEY_at, SCIM_KEY_quotedbl }, 2907 { SCIM_KEY_asciicircum, SCIM_KEY_ampersand }, 2908 { SCIM_KEY_underscore, SCIM_KEY_question }, 2909 { SCIM_KEY_braceleft, SCIM_KEY_asterisk }, 2910 { SCIM_KEY_bar, SCIM_KEY_asciicircum }, 2911 { SCIM_KEY_braceright, SCIM_KEY_grave }, 2912 { SCIM_KEY_asciitilde, SCIM_KEY_bar }, 2913 }; 2914 2915 static __Uint16Pair __slovak_to_us_normal [] = { 2916 { SCIM_KEY_plus, SCIM_KEY_1 }, 2917 { SCIM_KEY_minus, SCIM_KEY_slash }, 2918 { SCIM_KEY_semicolon, SCIM_KEY_grave }, 2919 { SCIM_KEY_equal, SCIM_KEY_minus }, 2920 { SCIM_KEY_y, SCIM_KEY_z }, 2921 { SCIM_KEY_z, SCIM_KEY_y }, 2922 { SCIM_KEY_section, SCIM_KEY_apostrophe }, 2923 { SCIM_KEY_aacute, SCIM_KEY_8 }, 2924 { SCIM_KEY_adiaeresis, SCIM_KEY_bracketright }, 2925 { SCIM_KEY_eacute, SCIM_KEY_0 }, 2926 { SCIM_KEY_iacute, SCIM_KEY_9 }, 2927 { SCIM_KEY_ocircumflex, SCIM_KEY_semicolon }, 2928 { SCIM_KEY_uacute, SCIM_KEY_bracketleft }, 2929 { SCIM_KEY_yacute, SCIM_KEY_7 }, 2930 { SCIM_KEY_lcaron, SCIM_KEY_2 }, 2931 { SCIM_KEY_scaron, SCIM_KEY_3 }, 2932 { SCIM_KEY_tcaron, SCIM_KEY_5 }, 2933 { SCIM_KEY_zcaron, SCIM_KEY_6 }, 2934 { SCIM_KEY_ccaron, SCIM_KEY_4 }, 2935 { SCIM_KEY_ncaron, SCIM_KEY_backslash }, 2936 { SCIM_KEY_dead_acute, SCIM_KEY_equal }, 2937 }; 2938 2939 static __Uint16Pair __us_to_slovak_normal [] = { 2940 { SCIM_KEY_apostrophe, SCIM_KEY_section }, 2941 { SCIM_KEY_minus, SCIM_KEY_equal }, 2942 { SCIM_KEY_slash, SCIM_KEY_minus }, 2943 { SCIM_KEY_0, SCIM_KEY_eacute }, 2944 { SCIM_KEY_1, SCIM_KEY_plus }, 2945 { SCIM_KEY_2, SCIM_KEY_lcaron }, 2946 { SCIM_KEY_3, SCIM_KEY_scaron }, 2947 { SCIM_KEY_4, SCIM_KEY_ccaron }, 2948 { SCIM_KEY_5, SCIM_KEY_tcaron }, 2949 { SCIM_KEY_6, SCIM_KEY_zcaron }, 2950 { SCIM_KEY_7, SCIM_KEY_yacute }, 2951 { SCIM_KEY_8, SCIM_KEY_aacute }, 2952 { SCIM_KEY_9, SCIM_KEY_iacute }, 2953 { SCIM_KEY_semicolon, SCIM_KEY_ocircumflex }, 2954 { SCIM_KEY_equal, SCIM_KEY_dead_acute }, 2955 { SCIM_KEY_bracketleft, SCIM_KEY_uacute }, 2956 { SCIM_KEY_backslash, SCIM_KEY_ncaron }, 2957 { SCIM_KEY_bracketright, SCIM_KEY_adiaeresis }, 2958 { SCIM_KEY_grave, SCIM_KEY_semicolon }, 2959 { SCIM_KEY_y, SCIM_KEY_z }, 2960 { SCIM_KEY_z, SCIM_KEY_y }, 2961 }; 2962 2963 static __Uint16Pair __slovak_to_us_caps [] = { 2964 { SCIM_KEY_plus, SCIM_KEY_1 }, 2965 { SCIM_KEY_minus, SCIM_KEY_slash }, 2966 { SCIM_KEY_semicolon, SCIM_KEY_grave }, 2967 { SCIM_KEY_equal, SCIM_KEY_minus }, 2968 { SCIM_KEY_Y, SCIM_KEY_Z }, 2969 { SCIM_KEY_Z, SCIM_KEY_Y }, 2970 { SCIM_KEY_section, SCIM_KEY_apostrophe }, 2971 { SCIM_KEY_Aacute, SCIM_KEY_8 }, 2972 { SCIM_KEY_Adiaeresis, SCIM_KEY_bracketright }, 2973 { SCIM_KEY_Eacute, SCIM_KEY_0 }, 2974 { SCIM_KEY_Iacute, SCIM_KEY_9 }, 2975 { SCIM_KEY_Ocircumflex, SCIM_KEY_semicolon }, 2976 { SCIM_KEY_Uacute, SCIM_KEY_bracketleft }, 2977 { SCIM_KEY_Yacute, SCIM_KEY_7 }, 2978 { SCIM_KEY_Lcaron, SCIM_KEY_2 }, 2979 { SCIM_KEY_Scaron, SCIM_KEY_3 }, 2980 { SCIM_KEY_Tcaron, SCIM_KEY_5 }, 2981 { SCIM_KEY_Zcaron, SCIM_KEY_6 }, 2982 { SCIM_KEY_Ccaron, SCIM_KEY_4 }, 2983 { SCIM_KEY_Ncaron, SCIM_KEY_backslash }, 2984 { SCIM_KEY_dead_acute, SCIM_KEY_equal }, 2985 }; 2986 2987 static __Uint16Pair __us_to_slovak_caps [] = { 2988 { SCIM_KEY_apostrophe, SCIM_KEY_section }, 2989 { SCIM_KEY_minus, SCIM_KEY_equal }, 2990 { SCIM_KEY_slash, SCIM_KEY_minus }, 2991 { SCIM_KEY_0, SCIM_KEY_Eacute }, 2992 { SCIM_KEY_1, SCIM_KEY_plus }, 2993 { SCIM_KEY_2, SCIM_KEY_Lcaron }, 2994 { SCIM_KEY_3, SCIM_KEY_Scaron }, 2995 { SCIM_KEY_4, SCIM_KEY_Ccaron }, 2996 { SCIM_KEY_5, SCIM_KEY_Tcaron }, 2997 { SCIM_KEY_6, SCIM_KEY_Zcaron }, 2998 { SCIM_KEY_7, SCIM_KEY_Yacute }, 2999 { SCIM_KEY_8, SCIM_KEY_Aacute }, 3000 { SCIM_KEY_9, SCIM_KEY_Iacute }, 3001 { SCIM_KEY_semicolon, SCIM_KEY_Ocircumflex }, 3002 { SCIM_KEY_equal, SCIM_KEY_dead_acute }, 3003 { SCIM_KEY_Y, SCIM_KEY_Z }, 3004 { SCIM_KEY_Z, SCIM_KEY_Y }, 3005 { SCIM_KEY_bracketleft, SCIM_KEY_Uacute }, 3006 { SCIM_KEY_backslash, SCIM_KEY_Ncaron }, 3007 { SCIM_KEY_bracketright, SCIM_KEY_Adiaeresis }, 3008 { SCIM_KEY_grave, SCIM_KEY_semicolon }, 3009 }; 3010 3011 static __Uint16Pair __slovak_to_us_shift [] = { 3012 { SCIM_KEY_exclam, SCIM_KEY_quotedbl }, 3013 { SCIM_KEY_quotedbl, SCIM_KEY_colon }, 3014 { SCIM_KEY_percent, SCIM_KEY_underscore }, 3015 { SCIM_KEY_parenleft, SCIM_KEY_braceright }, 3016 { SCIM_KEY_parenright, SCIM_KEY_bar }, 3017 { SCIM_KEY_slash, SCIM_KEY_braceleft }, 3018 { SCIM_KEY_0, SCIM_KEY_parenright }, 3019 { SCIM_KEY_1, SCIM_KEY_exclam }, 3020 { SCIM_KEY_2, SCIM_KEY_at }, 3021 { SCIM_KEY_3, SCIM_KEY_numbersign }, 3022 { SCIM_KEY_4, SCIM_KEY_dollar }, 3023 { SCIM_KEY_5, SCIM_KEY_percent }, 3024 { SCIM_KEY_6, SCIM_KEY_asciicircum }, 3025 { SCIM_KEY_7, SCIM_KEY_ampersand }, 3026 { SCIM_KEY_8, SCIM_KEY_asterisk }, 3027 { SCIM_KEY_9, SCIM_KEY_parenleft }, 3028 { SCIM_KEY_colon, SCIM_KEY_greater }, 3029 { SCIM_KEY_question, SCIM_KEY_less }, 3030 { SCIM_KEY_Y, SCIM_KEY_Z }, 3031 { SCIM_KEY_Z, SCIM_KEY_Y }, 3032 { SCIM_KEY_underscore, SCIM_KEY_question }, 3033 { SCIM_KEY_dead_abovering, SCIM_KEY_asciitilde }, 3034 { SCIM_KEY_dead_caron, SCIM_KEY_plus }, 3035 }; 3036 3037 static __Uint16Pair __us_to_slovak_shift [] = { 3038 { SCIM_KEY_exclam, SCIM_KEY_1 }, 3039 { SCIM_KEY_quotedbl, SCIM_KEY_exclam }, 3040 { SCIM_KEY_numbersign, SCIM_KEY_3 }, 3041 { SCIM_KEY_dollar, SCIM_KEY_4 }, 3042 { SCIM_KEY_percent, SCIM_KEY_5 }, 3043 { SCIM_KEY_ampersand, SCIM_KEY_7 }, 3044 { SCIM_KEY_parenleft, SCIM_KEY_9 }, 3045 { SCIM_KEY_parenright, SCIM_KEY_0 }, 3046 { SCIM_KEY_asterisk, SCIM_KEY_8 }, 3047 { SCIM_KEY_plus, SCIM_KEY_dead_caron }, 3048 { SCIM_KEY_colon, SCIM_KEY_quotedbl }, 3049 { SCIM_KEY_less, SCIM_KEY_question }, 3050 { SCIM_KEY_greater, SCIM_KEY_colon }, 3051 { SCIM_KEY_question, SCIM_KEY_underscore }, 3052 { SCIM_KEY_at, SCIM_KEY_2 }, 3053 { SCIM_KEY_Y, SCIM_KEY_Z }, 3054 { SCIM_KEY_Z, SCIM_KEY_Y }, 3055 { SCIM_KEY_asciicircum, SCIM_KEY_6 }, 3056 { SCIM_KEY_underscore, SCIM_KEY_percent }, 3057 { SCIM_KEY_braceleft, SCIM_KEY_slash }, 3058 { SCIM_KEY_bar, SCIM_KEY_parenright }, 3059 { SCIM_KEY_braceright, SCIM_KEY_parenleft }, 3060 { SCIM_KEY_asciitilde, SCIM_KEY_dead_abovering }, 3061 }; 3062 3063 static __Uint16Pair __slovak_to_us_caps_shift [] = { 3064 { SCIM_KEY_exclam, SCIM_KEY_quotedbl }, 3065 { SCIM_KEY_quotedbl, SCIM_KEY_colon }, 3066 { SCIM_KEY_percent, SCIM_KEY_underscore }, 3067 { SCIM_KEY_parenleft, SCIM_KEY_braceright }, 3068 { SCIM_KEY_parenright, SCIM_KEY_bar }, 3069 { SCIM_KEY_slash, SCIM_KEY_braceleft }, 3070 { SCIM_KEY_0, SCIM_KEY_parenright }, 3071 { SCIM_KEY_1, SCIM_KEY_exclam }, 3072 { SCIM_KEY_2, SCIM_KEY_at }, 3073 { SCIM_KEY_3, SCIM_KEY_numbersign }, 3074 { SCIM_KEY_4, SCIM_KEY_dollar }, 3075 { SCIM_KEY_5, SCIM_KEY_percent }, 3076 { SCIM_KEY_6, SCIM_KEY_asciicircum }, 3077 { SCIM_KEY_7, SCIM_KEY_ampersand }, 3078 { SCIM_KEY_8, SCIM_KEY_asterisk }, 3079 { SCIM_KEY_9, SCIM_KEY_parenleft }, 3080 { SCIM_KEY_colon, SCIM_KEY_greater }, 3081 { SCIM_KEY_question, SCIM_KEY_less }, 3082 { SCIM_KEY_underscore, SCIM_KEY_question }, 3083 { SCIM_KEY_y, SCIM_KEY_z }, 3084 { SCIM_KEY_z, SCIM_KEY_y }, 3085 { SCIM_KEY_dead_abovering, SCIM_KEY_asciitilde }, 3086 { SCIM_KEY_dead_caron, SCIM_KEY_plus }, 3087 }; 3088 3089 static __Uint16Pair __us_to_slovak_caps_shift [] = { 3090 { SCIM_KEY_exclam, SCIM_KEY_1 }, 3091 { SCIM_KEY_quotedbl, SCIM_KEY_exclam }, 3092 { SCIM_KEY_numbersign, SCIM_KEY_3 }, 3093 { SCIM_KEY_dollar, SCIM_KEY_4 }, 3094 { SCIM_KEY_percent, SCIM_KEY_5 }, 3095 { SCIM_KEY_ampersand, SCIM_KEY_7 }, 3096 { SCIM_KEY_parenleft, SCIM_KEY_9 }, 3097 { SCIM_KEY_parenright, SCIM_KEY_0 }, 3098 { SCIM_KEY_asterisk, SCIM_KEY_8 }, 3099 { SCIM_KEY_plus, SCIM_KEY_dead_caron }, 3100 { SCIM_KEY_colon, SCIM_KEY_quotedbl }, 3101 { SCIM_KEY_less, SCIM_KEY_question }, 3102 { SCIM_KEY_greater, SCIM_KEY_colon }, 3103 { SCIM_KEY_question, SCIM_KEY_underscore }, 3104 { SCIM_KEY_at, SCIM_KEY_2 }, 3105 { SCIM_KEY_asciicircum, SCIM_KEY_6 }, 3106 { SCIM_KEY_underscore, SCIM_KEY_percent }, 3107 { SCIM_KEY_y, SCIM_KEY_z }, 3108 { SCIM_KEY_z, SCIM_KEY_y }, 3109 { SCIM_KEY_braceleft, SCIM_KEY_slash }, 3110 { SCIM_KEY_bar, SCIM_KEY_parenright }, 3111 { SCIM_KEY_braceright, SCIM_KEY_parenleft }, 3112 { SCIM_KEY_asciitilde, SCIM_KEY_dead_abovering }, 3113 }; 3114 3115 static __Uint16Pair __slovak_qwerty_to_us_normal [] = { 3116 { SCIM_KEY_plus, SCIM_KEY_1 }, 3117 { SCIM_KEY_minus, SCIM_KEY_slash }, 3118 { SCIM_KEY_semicolon, SCIM_KEY_grave }, 3119 { SCIM_KEY_equal, SCIM_KEY_minus }, 3120 { SCIM_KEY_section, SCIM_KEY_apostrophe }, 3121 { SCIM_KEY_aacute, SCIM_KEY_8 }, 3122 { SCIM_KEY_adiaeresis, SCIM_KEY_bracketright }, 3123 { SCIM_KEY_eacute, SCIM_KEY_0 }, 3124 { SCIM_KEY_iacute, SCIM_KEY_9 }, 3125 { SCIM_KEY_ocircumflex, SCIM_KEY_semicolon }, 3126 { SCIM_KEY_uacute, SCIM_KEY_bracketleft }, 3127 { SCIM_KEY_yacute, SCIM_KEY_7 }, 3128 { SCIM_KEY_lcaron, SCIM_KEY_2 }, 3129 { SCIM_KEY_scaron, SCIM_KEY_3 }, 3130 { SCIM_KEY_tcaron, SCIM_KEY_5 }, 3131 { SCIM_KEY_zcaron, SCIM_KEY_6 }, 3132 { SCIM_KEY_ccaron, SCIM_KEY_4 }, 3133 { SCIM_KEY_ncaron, SCIM_KEY_backslash }, 3134 { SCIM_KEY_dead_acute, SCIM_KEY_equal }, 3135 }; 3136 3137 static __Uint16Pair __us_to_slovak_qwerty_normal [] = { 3138 { SCIM_KEY_apostrophe, SCIM_KEY_section }, 3139 { SCIM_KEY_minus, SCIM_KEY_equal }, 3140 { SCIM_KEY_slash, SCIM_KEY_minus }, 3141 { SCIM_KEY_0, SCIM_KEY_eacute }, 3142 { SCIM_KEY_1, SCIM_KEY_plus }, 3143 { SCIM_KEY_2, SCIM_KEY_lcaron }, 3144 { SCIM_KEY_3, SCIM_KEY_scaron }, 3145 { SCIM_KEY_4, SCIM_KEY_ccaron }, 3146 { SCIM_KEY_5, SCIM_KEY_tcaron }, 3147 { SCIM_KEY_6, SCIM_KEY_zcaron }, 3148 { SCIM_KEY_7, SCIM_KEY_yacute }, 3149 { SCIM_KEY_8, SCIM_KEY_aacute }, 3150 { SCIM_KEY_9, SCIM_KEY_iacute }, 3151 { SCIM_KEY_semicolon, SCIM_KEY_ocircumflex }, 3152 { SCIM_KEY_equal, SCIM_KEY_dead_acute }, 3153 { SCIM_KEY_bracketleft, SCIM_KEY_uacute }, 3154 { SCIM_KEY_backslash, SCIM_KEY_ncaron }, 3155 { SCIM_KEY_bracketright, SCIM_KEY_adiaeresis }, 3156 { SCIM_KEY_grave, SCIM_KEY_semicolon }, 3157 }; 3158 3159 static __Uint16Pair __slovak_qwerty_to_us_caps [] = { 3160 { SCIM_KEY_plus, SCIM_KEY_1 }, 3161 { SCIM_KEY_minus, SCIM_KEY_slash }, 3162 { SCIM_KEY_semicolon, SCIM_KEY_grave }, 3163 { SCIM_KEY_equal, SCIM_KEY_minus }, 3164 { SCIM_KEY_section, SCIM_KEY_apostrophe }, 3165 { SCIM_KEY_Aacute, SCIM_KEY_8 }, 3166 { SCIM_KEY_Adiaeresis, SCIM_KEY_bracketright }, 3167 { SCIM_KEY_Eacute, SCIM_KEY_0 }, 3168 { SCIM_KEY_Iacute, SCIM_KEY_9 }, 3169 { SCIM_KEY_Ocircumflex, SCIM_KEY_semicolon }, 3170 { SCIM_KEY_Uacute, SCIM_KEY_bracketleft }, 3171 { SCIM_KEY_Yacute, SCIM_KEY_7 }, 3172 { SCIM_KEY_Lcaron, SCIM_KEY_2 }, 3173 { SCIM_KEY_Scaron, SCIM_KEY_3 }, 3174 { SCIM_KEY_Tcaron, SCIM_KEY_5 }, 3175 { SCIM_KEY_Zcaron, SCIM_KEY_6 }, 3176 { SCIM_KEY_Ccaron, SCIM_KEY_4 }, 3177 { SCIM_KEY_Ncaron, SCIM_KEY_backslash }, 3178 { SCIM_KEY_dead_acute, SCIM_KEY_equal }, 3179 }; 3180 3181 static __Uint16Pair __us_to_slovak_qwerty_caps [] = { 3182 { SCIM_KEY_apostrophe, SCIM_KEY_section }, 3183 { SCIM_KEY_minus, SCIM_KEY_equal }, 3184 { SCIM_KEY_slash, SCIM_KEY_minus }, 3185 { SCIM_KEY_0, SCIM_KEY_Eacute }, 3186 { SCIM_KEY_1, SCIM_KEY_plus }, 3187 { SCIM_KEY_2, SCIM_KEY_Lcaron }, 3188 { SCIM_KEY_3, SCIM_KEY_Scaron }, 3189 { SCIM_KEY_4, SCIM_KEY_Ccaron }, 3190 { SCIM_KEY_5, SCIM_KEY_Tcaron }, 3191 { SCIM_KEY_6, SCIM_KEY_Zcaron }, 3192 { SCIM_KEY_7, SCIM_KEY_Yacute }, 3193 { SCIM_KEY_8, SCIM_KEY_Aacute }, 3194 { SCIM_KEY_9, SCIM_KEY_Iacute }, 3195 { SCIM_KEY_semicolon, SCIM_KEY_Ocircumflex }, 3196 { SCIM_KEY_equal, SCIM_KEY_dead_acute }, 3197 { SCIM_KEY_bracketleft, SCIM_KEY_Uacute }, 3198 { SCIM_KEY_backslash, SCIM_KEY_Ncaron }, 3199 { SCIM_KEY_bracketright, SCIM_KEY_Adiaeresis }, 3200 { SCIM_KEY_grave, SCIM_KEY_semicolon }, 3201 }; 3202 3203 static __Uint16Pair __slovak_qwerty_to_us_shift [] = { 3204 { SCIM_KEY_exclam, SCIM_KEY_quotedbl }, 3205 { SCIM_KEY_quotedbl, SCIM_KEY_colon }, 3206 { SCIM_KEY_percent, SCIM_KEY_underscore }, 3207 { SCIM_KEY_parenleft, SCIM_KEY_braceright }, 3208 { SCIM_KEY_parenright, SCIM_KEY_bar }, 3209 { SCIM_KEY_slash, SCIM_KEY_braceleft }, 3210 { SCIM_KEY_0, SCIM_KEY_parenright }, 3211 { SCIM_KEY_1, SCIM_KEY_exclam }, 3212 { SCIM_KEY_2, SCIM_KEY_at }, 3213 { SCIM_KEY_3, SCIM_KEY_numbersign }, 3214 { SCIM_KEY_4, SCIM_KEY_dollar }, 3215 { SCIM_KEY_5, SCIM_KEY_percent }, 3216 { SCIM_KEY_6, SCIM_KEY_asciicircum }, 3217 { SCIM_KEY_7, SCIM_KEY_ampersand }, 3218 { SCIM_KEY_8, SCIM_KEY_asterisk }, 3219 { SCIM_KEY_9, SCIM_KEY_parenleft }, 3220 { SCIM_KEY_colon, SCIM_KEY_greater }, 3221 { SCIM_KEY_question, SCIM_KEY_less }, 3222 { SCIM_KEY_underscore, SCIM_KEY_question }, 3223 { SCIM_KEY_dead_abovering, SCIM_KEY_asciitilde }, 3224 { SCIM_KEY_dead_caron, SCIM_KEY_plus }, 3225 }; 3226 3227 static __Uint16Pair __us_to_slovak_qwerty_shift [] = { 3228 { SCIM_KEY_exclam, SCIM_KEY_1 }, 3229 { SCIM_KEY_quotedbl, SCIM_KEY_exclam }, 3230 { SCIM_KEY_numbersign, SCIM_KEY_3 }, 3231 { SCIM_KEY_dollar, SCIM_KEY_4 }, 3232 { SCIM_KEY_percent, SCIM_KEY_5 }, 3233 { SCIM_KEY_ampersand, SCIM_KEY_7 }, 3234 { SCIM_KEY_parenleft, SCIM_KEY_9 }, 3235 { SCIM_KEY_parenright, SCIM_KEY_0 }, 3236 { SCIM_KEY_asterisk, SCIM_KEY_8 }, 3237 { SCIM_KEY_plus, SCIM_KEY_dead_caron }, 3238 { SCIM_KEY_colon, SCIM_KEY_quotedbl }, 3239 { SCIM_KEY_less, SCIM_KEY_question }, 3240 { SCIM_KEY_greater, SCIM_KEY_colon }, 3241 { SCIM_KEY_question, SCIM_KEY_underscore }, 3242 { SCIM_KEY_at, SCIM_KEY_2 }, 3243 { SCIM_KEY_asciicircum, SCIM_KEY_6 }, 3244 { SCIM_KEY_underscore, SCIM_KEY_percent }, 3245 { SCIM_KEY_braceleft, SCIM_KEY_slash }, 3246 { SCIM_KEY_bar, SCIM_KEY_parenright }, 3247 { SCIM_KEY_braceright, SCIM_KEY_parenleft }, 3248 { SCIM_KEY_asciitilde, SCIM_KEY_dead_abovering }, 3249 }; 3250 3251 static __Uint16Pair __slovak_qwerty_to_us_caps_shift [] = { 3252 { SCIM_KEY_exclam, SCIM_KEY_quotedbl }, 3253 { SCIM_KEY_quotedbl, SCIM_KEY_colon }, 3254 { SCIM_KEY_percent, SCIM_KEY_underscore }, 3255 { SCIM_KEY_parenleft, SCIM_KEY_braceright }, 3256 { SCIM_KEY_parenright, SCIM_KEY_bar }, 3257 { SCIM_KEY_slash, SCIM_KEY_braceleft }, 3258 { SCIM_KEY_0, SCIM_KEY_parenright }, 3259 { SCIM_KEY_1, SCIM_KEY_exclam }, 3260 { SCIM_KEY_2, SCIM_KEY_at }, 3261 { SCIM_KEY_3, SCIM_KEY_numbersign }, 3262 { SCIM_KEY_4, SCIM_KEY_dollar }, 3263 { SCIM_KEY_5, SCIM_KEY_percent }, 3264 { SCIM_KEY_6, SCIM_KEY_asciicircum }, 3265 { SCIM_KEY_7, SCIM_KEY_ampersand }, 3266 { SCIM_KEY_8, SCIM_KEY_asterisk }, 3267 { SCIM_KEY_9, SCIM_KEY_parenleft }, 3268 { SCIM_KEY_colon, SCIM_KEY_greater }, 3269 { SCIM_KEY_question, SCIM_KEY_less }, 3270 { SCIM_KEY_underscore, SCIM_KEY_question }, 3271 { SCIM_KEY_dead_abovering, SCIM_KEY_asciitilde }, 3272 { SCIM_KEY_dead_caron, SCIM_KEY_plus }, 3273 }; 3274 3275 static __Uint16Pair __us_to_slovak_qwerty_caps_shift [] = { 3276 { SCIM_KEY_exclam, SCIM_KEY_1 }, 3277 { SCIM_KEY_quotedbl, SCIM_KEY_exclam }, 3278 { SCIM_KEY_numbersign, SCIM_KEY_3 }, 3279 { SCIM_KEY_dollar, SCIM_KEY_4 }, 3280 { SCIM_KEY_percent, SCIM_KEY_5 }, 3281 { SCIM_KEY_ampersand, SCIM_KEY_7 }, 3282 { SCIM_KEY_parenleft, SCIM_KEY_9 }, 3283 { SCIM_KEY_parenright, SCIM_KEY_0 }, 3284 { SCIM_KEY_asterisk, SCIM_KEY_8 }, 3285 { SCIM_KEY_plus, SCIM_KEY_dead_caron }, 3286 { SCIM_KEY_colon, SCIM_KEY_quotedbl }, 3287 { SCIM_KEY_less, SCIM_KEY_question }, 3288 { SCIM_KEY_greater, SCIM_KEY_colon }, 3289 { SCIM_KEY_question, SCIM_KEY_underscore }, 3290 { SCIM_KEY_at, SCIM_KEY_2 }, 3291 { SCIM_KEY_asciicircum, SCIM_KEY_6 }, 3292 { SCIM_KEY_underscore, SCIM_KEY_percent }, 3293 { SCIM_KEY_braceleft, SCIM_KEY_slash }, 3294 { SCIM_KEY_bar, SCIM_KEY_parenright }, 3295 { SCIM_KEY_braceright, SCIM_KEY_parenleft }, 3296 { SCIM_KEY_asciitilde, SCIM_KEY_dead_abovering }, 3297 }; 3298 3299 static __Uint16Pair __spanish_cp850_to_us_normal [] = { 3300 { SCIM_KEY_apostrophe, SCIM_KEY_minus }, 3301 { SCIM_KEY_plus, SCIM_KEY_bracketright }, 3302 { SCIM_KEY_minus, SCIM_KEY_slash }, 3303 { SCIM_KEY_exclamdown, SCIM_KEY_equal }, 3304 { SCIM_KEY_masculine, SCIM_KEY_grave }, 3305 { SCIM_KEY_ccedilla, SCIM_KEY_backslash }, 3306 { SCIM_KEY_ntilde, SCIM_KEY_semicolon }, 3307 { SCIM_KEY_dead_grave, SCIM_KEY_bracketleft }, 3308 { SCIM_KEY_dead_acute, SCIM_KEY_apostrophe }, 3309 }; 3310 3311 static __Uint16Pair __us_to_spanish_cp850_normal [] = { 3312 { SCIM_KEY_apostrophe, SCIM_KEY_dead_acute }, 3313 { SCIM_KEY_minus, SCIM_KEY_apostrophe }, 3314 { SCIM_KEY_slash, SCIM_KEY_minus }, 3315 { SCIM_KEY_semicolon, SCIM_KEY_ntilde }, 3316 { SCIM_KEY_equal, SCIM_KEY_exclamdown }, 3317 { SCIM_KEY_bracketleft, SCIM_KEY_dead_grave }, 3318 { SCIM_KEY_backslash, SCIM_KEY_ccedilla }, 3319 { SCIM_KEY_bracketright, SCIM_KEY_plus }, 3320 { SCIM_KEY_grave, SCIM_KEY_masculine }, 3321 }; 3322 3323 static __Uint16Pair __spanish_cp850_to_us_caps [] = { 3324 { SCIM_KEY_apostrophe, SCIM_KEY_minus }, 3325 { SCIM_KEY_plus, SCIM_KEY_bracketright }, 3326 { SCIM_KEY_minus, SCIM_KEY_slash }, 3327 { SCIM_KEY_exclamdown, SCIM_KEY_equal }, 3328 { SCIM_KEY_masculine, SCIM_KEY_grave }, 3329 { SCIM_KEY_Ccedilla, SCIM_KEY_backslash }, 3330 { SCIM_KEY_Ntilde, SCIM_KEY_semicolon }, 3331 { SCIM_KEY_dead_grave, SCIM_KEY_bracketleft }, 3332 { SCIM_KEY_dead_acute, SCIM_KEY_apostrophe }, 3333 }; 3334 3335 static __Uint16Pair __us_to_spanish_cp850_caps [] = { 3336 { SCIM_KEY_apostrophe, SCIM_KEY_dead_acute }, 3337 { SCIM_KEY_minus, SCIM_KEY_apostrophe }, 3338 { SCIM_KEY_slash, SCIM_KEY_minus }, 3339 { SCIM_KEY_semicolon, SCIM_KEY_Ntilde }, 3340 { SCIM_KEY_equal, SCIM_KEY_exclamdown }, 3341 { SCIM_KEY_bracketleft, SCIM_KEY_dead_grave }, 3342 { SCIM_KEY_backslash, SCIM_KEY_Ccedilla }, 3343 { SCIM_KEY_bracketright, SCIM_KEY_plus }, 3344 { SCIM_KEY_grave, SCIM_KEY_masculine }, 3345 }; 3346 3347 static __Uint16Pair __spanish_cp850_to_us_shift [] = { 3348 { SCIM_KEY_quotedbl, SCIM_KEY_at }, 3349 { SCIM_KEY_ampersand, SCIM_KEY_asciicircum }, 3350 { SCIM_KEY_parenleft, SCIM_KEY_asterisk }, 3351 { SCIM_KEY_parenright, SCIM_KEY_parenleft }, 3352 { SCIM_KEY_asterisk, SCIM_KEY_braceright }, 3353 { SCIM_KEY_slash, SCIM_KEY_ampersand }, 3354 { SCIM_KEY_colon, SCIM_KEY_greater }, 3355 { SCIM_KEY_semicolon, SCIM_KEY_less }, 3356 { SCIM_KEY_equal, SCIM_KEY_parenright }, 3357 { SCIM_KEY_question, SCIM_KEY_underscore }, 3358 { SCIM_KEY_underscore, SCIM_KEY_question }, 3359 { SCIM_KEY_ordfeminine, SCIM_KEY_asciitilde }, 3360 { SCIM_KEY_periodcentered, SCIM_KEY_numbersign }, 3361 { SCIM_KEY_questiondown, SCIM_KEY_plus }, 3362 { SCIM_KEY_Ccedilla, SCIM_KEY_bar }, 3363 { SCIM_KEY_Ntilde, SCIM_KEY_colon }, 3364 { SCIM_KEY_dead_circumflex, SCIM_KEY_braceleft }, 3365 { SCIM_KEY_dead_diaeresis, SCIM_KEY_quotedbl }, 3366 }; 3367 3368 static __Uint16Pair __us_to_spanish_cp850_shift [] = { 3369 { SCIM_KEY_quotedbl, SCIM_KEY_dead_diaeresis }, 3370 { SCIM_KEY_numbersign, SCIM_KEY_periodcentered }, 3371 { SCIM_KEY_ampersand, SCIM_KEY_slash }, 3372 { SCIM_KEY_parenleft, SCIM_KEY_parenright }, 3373 { SCIM_KEY_parenright, SCIM_KEY_equal }, 3374 { SCIM_KEY_asterisk, SCIM_KEY_parenleft }, 3375 { SCIM_KEY_plus, SCIM_KEY_questiondown }, 3376 { SCIM_KEY_colon, SCIM_KEY_Ntilde }, 3377 { SCIM_KEY_less, SCIM_KEY_semicolon }, 3378 { SCIM_KEY_greater, SCIM_KEY_colon }, 3379 { SCIM_KEY_question, SCIM_KEY_underscore }, 3380 { SCIM_KEY_at, SCIM_KEY_quotedbl }, 3381 { SCIM_KEY_asciicircum, SCIM_KEY_ampersand }, 3382 { SCIM_KEY_underscore, SCIM_KEY_question }, 3383 { SCIM_KEY_braceleft, SCIM_KEY_dead_circumflex }, 3384 { SCIM_KEY_bar, SCIM_KEY_Ccedilla }, 3385 { SCIM_KEY_braceright, SCIM_KEY_asterisk }, 3386 { SCIM_KEY_asciitilde, SCIM_KEY_ordfeminine }, 3387 }; 3388 3389 static __Uint16Pair __spanish_cp850_to_us_caps_shift [] = { 3390 { SCIM_KEY_quotedbl, SCIM_KEY_at }, 3391 { SCIM_KEY_ampersand, SCIM_KEY_asciicircum }, 3392 { SCIM_KEY_parenleft, SCIM_KEY_asterisk }, 3393 { SCIM_KEY_parenright, SCIM_KEY_parenleft }, 3394 { SCIM_KEY_asterisk, SCIM_KEY_braceright }, 3395 { SCIM_KEY_slash, SCIM_KEY_ampersand }, 3396 { SCIM_KEY_colon, SCIM_KEY_greater }, 3397 { SCIM_KEY_semicolon, SCIM_KEY_less }, 3398 { SCIM_KEY_equal, SCIM_KEY_parenright }, 3399 { SCIM_KEY_question, SCIM_KEY_underscore }, 3400 { SCIM_KEY_underscore, SCIM_KEY_question }, 3401 { SCIM_KEY_ordfeminine, SCIM_KEY_asciitilde }, 3402 { SCIM_KEY_periodcentered, SCIM_KEY_numbersign }, 3403 { SCIM_KEY_questiondown, SCIM_KEY_plus }, 3404 { SCIM_KEY_ccedilla, SCIM_KEY_bar }, 3405 { SCIM_KEY_ntilde, SCIM_KEY_colon }, 3406 { SCIM_KEY_dead_circumflex, SCIM_KEY_braceleft }, 3407 { SCIM_KEY_dead_diaeresis, SCIM_KEY_quotedbl }, 3408 }; 3409 3410 static __Uint16Pair __us_to_spanish_cp850_caps_shift [] = { 3411 { SCIM_KEY_quotedbl, SCIM_KEY_dead_diaeresis }, 3412 { SCIM_KEY_numbersign, SCIM_KEY_periodcentered }, 3413 { SCIM_KEY_ampersand, SCIM_KEY_slash }, 3414 { SCIM_KEY_parenleft, SCIM_KEY_parenright }, 3415 { SCIM_KEY_parenright, SCIM_KEY_equal }, 3416 { SCIM_KEY_asterisk, SCIM_KEY_parenleft }, 3417 { SCIM_KEY_plus, SCIM_KEY_questiondown }, 3418 { SCIM_KEY_colon, SCIM_KEY_ntilde }, 3419 { SCIM_KEY_less, SCIM_KEY_semicolon }, 3420 { SCIM_KEY_greater, SCIM_KEY_colon }, 3421 { SCIM_KEY_question, SCIM_KEY_underscore }, 3422 { SCIM_KEY_at, SCIM_KEY_quotedbl }, 3423 { SCIM_KEY_asciicircum, SCIM_KEY_ampersand }, 3424 { SCIM_KEY_underscore, SCIM_KEY_question }, 3425 { SCIM_KEY_braceleft, SCIM_KEY_dead_circumflex }, 3426 { SCIM_KEY_bar, SCIM_KEY_ccedilla }, 3427 { SCIM_KEY_braceright, SCIM_KEY_asterisk }, 3428 { SCIM_KEY_asciitilde, SCIM_KEY_ordfeminine }, 3429 }; 3430 3431 static __Uint16Pair __spanish_to_us_normal [] = { 3432 { SCIM_KEY_apostrophe, SCIM_KEY_minus }, 3433 { SCIM_KEY_plus, SCIM_KEY_bracketright }, 3434 { SCIM_KEY_minus, SCIM_KEY_slash }, 3435 { SCIM_KEY_exclamdown, SCIM_KEY_equal }, 3436 { SCIM_KEY_masculine, SCIM_KEY_grave }, 3437 { SCIM_KEY_ccedilla, SCIM_KEY_backslash }, 3438 { SCIM_KEY_ntilde, SCIM_KEY_semicolon }, 3439 { SCIM_KEY_dead_grave, SCIM_KEY_bracketleft }, 3440 { SCIM_KEY_dead_acute, SCIM_KEY_apostrophe }, 3441 }; 3442 3443 static __Uint16Pair __us_to_spanish_normal [] = { 3444 { SCIM_KEY_apostrophe, SCIM_KEY_dead_acute }, 3445 { SCIM_KEY_minus, SCIM_KEY_apostrophe }, 3446 { SCIM_KEY_slash, SCIM_KEY_minus }, 3447 { SCIM_KEY_semicolon, SCIM_KEY_ntilde }, 3448 { SCIM_KEY_equal, SCIM_KEY_exclamdown }, 3449 { SCIM_KEY_bracketleft, SCIM_KEY_dead_grave }, 3450 { SCIM_KEY_backslash, SCIM_KEY_ccedilla }, 3451 { SCIM_KEY_bracketright, SCIM_KEY_plus }, 3452 { SCIM_KEY_grave, SCIM_KEY_masculine }, 3453 }; 3454 3455 static __Uint16Pair __spanish_to_us_caps [] = { 3456 { SCIM_KEY_apostrophe, SCIM_KEY_minus }, 3457 { SCIM_KEY_plus, SCIM_KEY_bracketright }, 3458 { SCIM_KEY_minus, SCIM_KEY_slash }, 3459 { SCIM_KEY_exclamdown, SCIM_KEY_equal }, 3460 { SCIM_KEY_masculine, SCIM_KEY_grave }, 3461 { SCIM_KEY_Ccedilla, SCIM_KEY_backslash }, 3462 { SCIM_KEY_Ntilde, SCIM_KEY_semicolon }, 3463 { SCIM_KEY_dead_grave, SCIM_KEY_bracketleft }, 3464 { SCIM_KEY_dead_acute, SCIM_KEY_apostrophe }, 3465 }; 3466 3467 static __Uint16Pair __us_to_spanish_caps [] = { 3468 { SCIM_KEY_apostrophe, SCIM_KEY_dead_acute }, 3469 { SCIM_KEY_minus, SCIM_KEY_apostrophe }, 3470 { SCIM_KEY_slash, SCIM_KEY_minus }, 3471 { SCIM_KEY_semicolon, SCIM_KEY_Ntilde }, 3472 { SCIM_KEY_equal, SCIM_KEY_exclamdown }, 3473 { SCIM_KEY_bracketleft, SCIM_KEY_dead_grave }, 3474 { SCIM_KEY_backslash, SCIM_KEY_Ccedilla }, 3475 { SCIM_KEY_bracketright, SCIM_KEY_plus }, 3476 { SCIM_KEY_grave, SCIM_KEY_masculine }, 3477 }; 3478 3479 static __Uint16Pair __spanish_to_us_shift [] = { 3480 { SCIM_KEY_quotedbl, SCIM_KEY_at }, 3481 { SCIM_KEY_ampersand, SCIM_KEY_asciicircum }, 3482 { SCIM_KEY_parenleft, SCIM_KEY_asterisk }, 3483 { SCIM_KEY_parenright, SCIM_KEY_parenleft }, 3484 { SCIM_KEY_asterisk, SCIM_KEY_braceright }, 3485 { SCIM_KEY_slash, SCIM_KEY_ampersand }, 3486 { SCIM_KEY_colon, SCIM_KEY_greater }, 3487 { SCIM_KEY_semicolon, SCIM_KEY_less }, 3488 { SCIM_KEY_equal, SCIM_KEY_parenright }, 3489 { SCIM_KEY_question, SCIM_KEY_underscore }, 3490 { SCIM_KEY_underscore, SCIM_KEY_question }, 3491 { SCIM_KEY_ordfeminine, SCIM_KEY_asciitilde }, 3492 { SCIM_KEY_periodcentered, SCIM_KEY_numbersign }, 3493 { SCIM_KEY_questiondown, SCIM_KEY_plus }, 3494 { SCIM_KEY_Ccedilla, SCIM_KEY_bar }, 3495 { SCIM_KEY_Ntilde, SCIM_KEY_colon }, 3496 { SCIM_KEY_dead_circumflex, SCIM_KEY_braceleft }, 3497 { SCIM_KEY_dead_diaeresis, SCIM_KEY_quotedbl }, 3498 }; 3499 3500 static __Uint16Pair __us_to_spanish_shift [] = { 3501 { SCIM_KEY_quotedbl, SCIM_KEY_dead_diaeresis }, 3502 { SCIM_KEY_numbersign, SCIM_KEY_periodcentered }, 3503 { SCIM_KEY_ampersand, SCIM_KEY_slash }, 3504 { SCIM_KEY_parenleft, SCIM_KEY_parenright }, 3505 { SCIM_KEY_parenright, SCIM_KEY_equal }, 3506 { SCIM_KEY_asterisk, SCIM_KEY_parenleft }, 3507 { SCIM_KEY_plus, SCIM_KEY_questiondown }, 3508 { SCIM_KEY_colon, SCIM_KEY_Ntilde }, 3509 { SCIM_KEY_less, SCIM_KEY_semicolon }, 3510 { SCIM_KEY_greater, SCIM_KEY_colon }, 3511 { SCIM_KEY_question, SCIM_KEY_underscore }, 3512 { SCIM_KEY_at, SCIM_KEY_quotedbl }, 3513 { SCIM_KEY_asciicircum, SCIM_KEY_ampersand }, 3514 { SCIM_KEY_underscore, SCIM_KEY_question }, 3515 { SCIM_KEY_braceleft, SCIM_KEY_dead_circumflex }, 3516 { SCIM_KEY_bar, SCIM_KEY_Ccedilla }, 3517 { SCIM_KEY_braceright, SCIM_KEY_asterisk }, 3518 { SCIM_KEY_asciitilde, SCIM_KEY_ordfeminine }, 3519 }; 3520 3521 static __Uint16Pair __spanish_to_us_caps_shift [] = { 3522 { SCIM_KEY_quotedbl, SCIM_KEY_at }, 3523 { SCIM_KEY_ampersand, SCIM_KEY_asciicircum }, 3524 { SCIM_KEY_parenleft, SCIM_KEY_asterisk }, 3525 { SCIM_KEY_parenright, SCIM_KEY_parenleft }, 3526 { SCIM_KEY_asterisk, SCIM_KEY_braceright }, 3527 { SCIM_KEY_slash, SCIM_KEY_ampersand }, 3528 { SCIM_KEY_colon, SCIM_KEY_greater }, 3529 { SCIM_KEY_semicolon, SCIM_KEY_less }, 3530 { SCIM_KEY_equal, SCIM_KEY_parenright }, 3531 { SCIM_KEY_question, SCIM_KEY_underscore }, 3532 { SCIM_KEY_underscore, SCIM_KEY_question }, 3533 { SCIM_KEY_ordfeminine, SCIM_KEY_asciitilde }, 3534 { SCIM_KEY_periodcentered, SCIM_KEY_numbersign }, 3535 { SCIM_KEY_questiondown, SCIM_KEY_plus }, 3536 { SCIM_KEY_ccedilla, SCIM_KEY_bar }, 3537 { SCIM_KEY_ntilde, SCIM_KEY_colon }, 3538 { SCIM_KEY_dead_circumflex, SCIM_KEY_braceleft }, 3539 { SCIM_KEY_dead_diaeresis, SCIM_KEY_quotedbl }, 3540 }; 3541 3542 static __Uint16Pair __us_to_spanish_caps_shift [] = { 3543 { SCIM_KEY_quotedbl, SCIM_KEY_dead_diaeresis }, 3544 { SCIM_KEY_numbersign, SCIM_KEY_periodcentered }, 3545 { SCIM_KEY_ampersand, SCIM_KEY_slash }, 3546 { SCIM_KEY_parenleft, SCIM_KEY_parenright }, 3547 { SCIM_KEY_parenright, SCIM_KEY_equal }, 3548 { SCIM_KEY_asterisk, SCIM_KEY_parenleft }, 3549 { SCIM_KEY_plus, SCIM_KEY_questiondown }, 3550 { SCIM_KEY_colon, SCIM_KEY_ntilde }, 3551 { SCIM_KEY_less, SCIM_KEY_semicolon }, 3552 { SCIM_KEY_greater, SCIM_KEY_colon }, 3553 { SCIM_KEY_question, SCIM_KEY_underscore }, 3554 { SCIM_KEY_at, SCIM_KEY_quotedbl }, 3555 { SCIM_KEY_asciicircum, SCIM_KEY_ampersand }, 3556 { SCIM_KEY_underscore, SCIM_KEY_question }, 3557 { SCIM_KEY_braceleft, SCIM_KEY_dead_circumflex }, 3558 { SCIM_KEY_bar, SCIM_KEY_ccedilla }, 3559 { SCIM_KEY_braceright, SCIM_KEY_asterisk }, 3560 { SCIM_KEY_asciitilde, SCIM_KEY_ordfeminine }, 3561 }; 3562 3563 static __Uint16Pair __spanish_latin_america_to_us_normal [] = { 3564 { SCIM_KEY_apostrophe, SCIM_KEY_minus }, 3565 { SCIM_KEY_plus, SCIM_KEY_bracketright }, 3566 { SCIM_KEY_minus, SCIM_KEY_slash }, 3567 { SCIM_KEY_exclamdown, SCIM_KEY_equal }, 3568 { SCIM_KEY_masculine, SCIM_KEY_grave }, 3569 { SCIM_KEY_ccedilla, SCIM_KEY_backslash }, 3570 { SCIM_KEY_ntilde, SCIM_KEY_semicolon }, 3571 { SCIM_KEY_dead_grave, SCIM_KEY_bracketleft }, 3572 { SCIM_KEY_dead_acute, SCIM_KEY_apostrophe }, 3573 }; 3574 3575 static __Uint16Pair __us_to_spanish_latin_america_normal [] = { 3576 { SCIM_KEY_apostrophe, SCIM_KEY_dead_acute }, 3577 { SCIM_KEY_minus, SCIM_KEY_apostrophe }, 3578 { SCIM_KEY_slash, SCIM_KEY_minus }, 3579 { SCIM_KEY_semicolon, SCIM_KEY_ntilde }, 3580 { SCIM_KEY_equal, SCIM_KEY_exclamdown }, 3581 { SCIM_KEY_bracketleft, SCIM_KEY_dead_grave }, 3582 { SCIM_KEY_backslash, SCIM_KEY_ccedilla }, 3583 { SCIM_KEY_bracketright, SCIM_KEY_plus }, 3584 { SCIM_KEY_grave, SCIM_KEY_masculine }, 3585 }; 3586 3587 static __Uint16Pair __spanish_latin_america_to_us_caps [] = { 3588 { SCIM_KEY_apostrophe, SCIM_KEY_minus }, 3589 { SCIM_KEY_plus, SCIM_KEY_bracketright }, 3590 { SCIM_KEY_minus, SCIM_KEY_slash }, 3591 { SCIM_KEY_exclamdown, SCIM_KEY_equal }, 3592 { SCIM_KEY_masculine, SCIM_KEY_grave }, 3593 { SCIM_KEY_Ccedilla, SCIM_KEY_backslash }, 3594 { SCIM_KEY_Ntilde, SCIM_KEY_semicolon }, 3595 { SCIM_KEY_dead_grave, SCIM_KEY_bracketleft }, 3596 { SCIM_KEY_dead_acute, SCIM_KEY_apostrophe }, 3597 }; 3598 3599 static __Uint16Pair __us_to_spanish_latin_america_caps [] = { 3600 { SCIM_KEY_apostrophe, SCIM_KEY_dead_acute }, 3601 { SCIM_KEY_minus, SCIM_KEY_apostrophe }, 3602 { SCIM_KEY_slash, SCIM_KEY_minus }, 3603 { SCIM_KEY_semicolon, SCIM_KEY_Ntilde }, 3604 { SCIM_KEY_equal, SCIM_KEY_exclamdown }, 3605 { SCIM_KEY_bracketleft, SCIM_KEY_dead_grave }, 3606 { SCIM_KEY_backslash, SCIM_KEY_Ccedilla }, 3607 { SCIM_KEY_bracketright, SCIM_KEY_plus }, 3608 { SCIM_KEY_grave, SCIM_KEY_masculine }, 3609 }; 3610 3611 static __Uint16Pair __spanish_latin_america_to_us_shift [] = { 3612 { SCIM_KEY_quotedbl, SCIM_KEY_at }, 3613 { SCIM_KEY_ampersand, SCIM_KEY_asciicircum }, 3614 { SCIM_KEY_parenleft, SCIM_KEY_asterisk }, 3615 { SCIM_KEY_parenright, SCIM_KEY_parenleft }, 3616 { SCIM_KEY_asterisk, SCIM_KEY_braceright }, 3617 { SCIM_KEY_slash, SCIM_KEY_ampersand }, 3618 { SCIM_KEY_colon, SCIM_KEY_greater }, 3619 { SCIM_KEY_semicolon, SCIM_KEY_less }, 3620 { SCIM_KEY_equal, SCIM_KEY_parenright }, 3621 { SCIM_KEY_question, SCIM_KEY_underscore }, 3622 { SCIM_KEY_underscore, SCIM_KEY_question }, 3623 { SCIM_KEY_ordfeminine, SCIM_KEY_asciitilde }, 3624 { SCIM_KEY_periodcentered, SCIM_KEY_numbersign }, 3625 { SCIM_KEY_questiondown, SCIM_KEY_plus }, 3626 { SCIM_KEY_Ccedilla, SCIM_KEY_bar }, 3627 { SCIM_KEY_Ntilde, SCIM_KEY_colon }, 3628 { SCIM_KEY_dead_circumflex, SCIM_KEY_braceleft }, 3629 { SCIM_KEY_dead_diaeresis, SCIM_KEY_quotedbl }, 3630 }; 3631 3632 static __Uint16Pair __us_to_spanish_latin_america_shift [] = { 3633 { SCIM_KEY_quotedbl, SCIM_KEY_dead_diaeresis }, 3634 { SCIM_KEY_numbersign, SCIM_KEY_periodcentered }, 3635 { SCIM_KEY_ampersand, SCIM_KEY_slash }, 3636 { SCIM_KEY_parenleft, SCIM_KEY_parenright }, 3637 { SCIM_KEY_parenright, SCIM_KEY_equal }, 3638 { SCIM_KEY_asterisk, SCIM_KEY_parenleft }, 3639 { SCIM_KEY_plus, SCIM_KEY_questiondown }, 3640 { SCIM_KEY_colon, SCIM_KEY_Ntilde }, 3641 { SCIM_KEY_less, SCIM_KEY_semicolon }, 3642 { SCIM_KEY_greater, SCIM_KEY_colon }, 3643 { SCIM_KEY_question, SCIM_KEY_underscore }, 3644 { SCIM_KEY_at, SCIM_KEY_quotedbl }, 3645 { SCIM_KEY_asciicircum, SCIM_KEY_ampersand }, 3646 { SCIM_KEY_underscore, SCIM_KEY_question }, 3647 { SCIM_KEY_braceleft, SCIM_KEY_dead_circumflex }, 3648 { SCIM_KEY_bar, SCIM_KEY_Ccedilla }, 3649 { SCIM_KEY_braceright, SCIM_KEY_asterisk }, 3650 { SCIM_KEY_asciitilde, SCIM_KEY_ordfeminine }, 3651 }; 3652 3653 static __Uint16Pair __spanish_latin_america_to_us_caps_shift [] = { 3654 { SCIM_KEY_quotedbl, SCIM_KEY_at }, 3655 { SCIM_KEY_ampersand, SCIM_KEY_asciicircum }, 3656 { SCIM_KEY_parenleft, SCIM_KEY_asterisk }, 3657 { SCIM_KEY_parenright, SCIM_KEY_parenleft }, 3658 { SCIM_KEY_asterisk, SCIM_KEY_braceright }, 3659 { SCIM_KEY_slash, SCIM_KEY_ampersand }, 3660 { SCIM_KEY_colon, SCIM_KEY_greater }, 3661 { SCIM_KEY_semicolon, SCIM_KEY_less }, 3662 { SCIM_KEY_equal, SCIM_KEY_parenright }, 3663 { SCIM_KEY_question, SCIM_KEY_underscore }, 3664 { SCIM_KEY_underscore, SCIM_KEY_question }, 3665 { SCIM_KEY_ordfeminine, SCIM_KEY_asciitilde }, 3666 { SCIM_KEY_periodcentered, SCIM_KEY_numbersign }, 3667 { SCIM_KEY_questiondown, SCIM_KEY_plus }, 3668 { SCIM_KEY_ccedilla, SCIM_KEY_bar }, 3669 { SCIM_KEY_ntilde, SCIM_KEY_colon }, 3670 { SCIM_KEY_dead_circumflex, SCIM_KEY_braceleft }, 3671 { SCIM_KEY_dead_diaeresis, SCIM_KEY_quotedbl }, 3672 }; 3673 3674 static __Uint16Pair __us_to_spanish_latin_america_caps_shift [] = { 3675 { SCIM_KEY_quotedbl, SCIM_KEY_dead_diaeresis }, 3676 { SCIM_KEY_numbersign, SCIM_KEY_periodcentered }, 3677 { SCIM_KEY_ampersand, SCIM_KEY_slash }, 3678 { SCIM_KEY_parenleft, SCIM_KEY_parenright }, 3679 { SCIM_KEY_parenright, SCIM_KEY_equal }, 3680 { SCIM_KEY_asterisk, SCIM_KEY_parenleft }, 3681 { SCIM_KEY_plus, SCIM_KEY_questiondown }, 3682 { SCIM_KEY_colon, SCIM_KEY_ntilde }, 3683 { SCIM_KEY_less, SCIM_KEY_semicolon }, 3684 { SCIM_KEY_greater, SCIM_KEY_colon }, 3685 { SCIM_KEY_question, SCIM_KEY_underscore }, 3686 { SCIM_KEY_at, SCIM_KEY_quotedbl }, 3687 { SCIM_KEY_asciicircum, SCIM_KEY_ampersand }, 3688 { SCIM_KEY_underscore, SCIM_KEY_question }, 3689 { SCIM_KEY_braceleft, SCIM_KEY_dead_circumflex }, 3690 { SCIM_KEY_bar, SCIM_KEY_ccedilla }, 3691 { SCIM_KEY_braceright, SCIM_KEY_asterisk }, 3692 { SCIM_KEY_asciitilde, SCIM_KEY_ordfeminine }, 3693 }; 3694 3695 static __Uint16Pair __swedish_to_us_normal [] = { 3696 { SCIM_KEY_apostrophe, SCIM_KEY_backslash }, 3697 { SCIM_KEY_plus, SCIM_KEY_minus }, 3698 { SCIM_KEY_minus, SCIM_KEY_slash }, 3699 { SCIM_KEY_section, SCIM_KEY_grave }, 3700 { SCIM_KEY_adiaeresis, SCIM_KEY_apostrophe }, 3701 { SCIM_KEY_aring, SCIM_KEY_bracketleft }, 3702 { SCIM_KEY_odiaeresis, SCIM_KEY_semicolon }, 3703 { SCIM_KEY_dead_acute, SCIM_KEY_equal }, 3704 { SCIM_KEY_dead_diaeresis, SCIM_KEY_bracketright }, 3705 }; 3706 3707 static __Uint16Pair __us_to_swedish_normal [] = { 3708 { SCIM_KEY_apostrophe, SCIM_KEY_adiaeresis }, 3709 { SCIM_KEY_minus, SCIM_KEY_plus }, 3710 { SCIM_KEY_slash, SCIM_KEY_minus }, 3711 { SCIM_KEY_semicolon, SCIM_KEY_odiaeresis }, 3712 { SCIM_KEY_equal, SCIM_KEY_dead_acute }, 3713 { SCIM_KEY_bracketleft, SCIM_KEY_aring }, 3714 { SCIM_KEY_backslash, SCIM_KEY_apostrophe }, 3715 { SCIM_KEY_bracketright, SCIM_KEY_dead_diaeresis }, 3716 { SCIM_KEY_grave, SCIM_KEY_section }, 3717 }; 3718 3719 static __Uint16Pair __swedish_to_us_caps [] = { 3720 { SCIM_KEY_apostrophe, SCIM_KEY_backslash }, 3721 { SCIM_KEY_plus, SCIM_KEY_minus }, 3722 { SCIM_KEY_minus, SCIM_KEY_slash }, 3723 { SCIM_KEY_section, SCIM_KEY_grave }, 3724 { SCIM_KEY_Adiaeresis, SCIM_KEY_apostrophe }, 3725 { SCIM_KEY_Aring, SCIM_KEY_bracketleft }, 3726 { SCIM_KEY_Odiaeresis, SCIM_KEY_semicolon }, 3727 { SCIM_KEY_dead_acute, SCIM_KEY_equal }, 3728 { SCIM_KEY_dead_diaeresis, SCIM_KEY_bracketright }, 3729 }; 3730 3731 static __Uint16Pair __us_to_swedish_caps [] = { 3732 { SCIM_KEY_apostrophe, SCIM_KEY_Adiaeresis }, 3733 { SCIM_KEY_minus, SCIM_KEY_plus }, 3734 { SCIM_KEY_slash, SCIM_KEY_minus }, 3735 { SCIM_KEY_semicolon, SCIM_KEY_Odiaeresis }, 3736 { SCIM_KEY_equal, SCIM_KEY_dead_acute }, 3737 { SCIM_KEY_bracketleft, SCIM_KEY_Aring }, 3738 { SCIM_KEY_backslash, SCIM_KEY_apostrophe }, 3739 { SCIM_KEY_bracketright, SCIM_KEY_dead_diaeresis }, 3740 { SCIM_KEY_grave, SCIM_KEY_section }, 3741 }; 3742 3743 static __Uint16Pair __swedish_to_us_shift [] = { 3744 { SCIM_KEY_quotedbl, SCIM_KEY_at }, 3745 { SCIM_KEY_ampersand, SCIM_KEY_asciicircum }, 3746 { SCIM_KEY_parenleft, SCIM_KEY_asterisk }, 3747 { SCIM_KEY_parenright, SCIM_KEY_parenleft }, 3748 { SCIM_KEY_asterisk, SCIM_KEY_bar }, 3749 { SCIM_KEY_slash, SCIM_KEY_ampersand }, 3750 { SCIM_KEY_colon, SCIM_KEY_greater }, 3751 { SCIM_KEY_semicolon, SCIM_KEY_less }, 3752 { SCIM_KEY_equal, SCIM_KEY_parenright }, 3753 { SCIM_KEY_question, SCIM_KEY_underscore }, 3754 { SCIM_KEY_underscore, SCIM_KEY_question }, 3755 { SCIM_KEY_currency, SCIM_KEY_dollar }, 3756 { SCIM_KEY_onehalf, SCIM_KEY_asciitilde }, 3757 { SCIM_KEY_Adiaeresis, SCIM_KEY_quotedbl }, 3758 { SCIM_KEY_Aring, SCIM_KEY_braceleft }, 3759 { SCIM_KEY_Odiaeresis, SCIM_KEY_colon }, 3760 { SCIM_KEY_dead_grave, SCIM_KEY_plus }, 3761 { SCIM_KEY_dead_circumflex, SCIM_KEY_braceright }, 3762 }; 3763 3764 static __Uint16Pair __us_to_swedish_shift [] = { 3765 { SCIM_KEY_quotedbl, SCIM_KEY_Adiaeresis }, 3766 { SCIM_KEY_dollar, SCIM_KEY_currency }, 3767 { SCIM_KEY_ampersand, SCIM_KEY_slash }, 3768 { SCIM_KEY_parenleft, SCIM_KEY_parenright }, 3769 { SCIM_KEY_parenright, SCIM_KEY_equal }, 3770 { SCIM_KEY_asterisk, SCIM_KEY_parenleft }, 3771 { SCIM_KEY_plus, SCIM_KEY_dead_grave }, 3772 { SCIM_KEY_colon, SCIM_KEY_Odiaeresis }, 3773 { SCIM_KEY_less, SCIM_KEY_semicolon }, 3774 { SCIM_KEY_greater, SCIM_KEY_colon }, 3775 { SCIM_KEY_question, SCIM_KEY_underscore }, 3776 { SCIM_KEY_at, SCIM_KEY_quotedbl }, 3777 { SCIM_KEY_asciicircum, SCIM_KEY_ampersand }, 3778 { SCIM_KEY_underscore, SCIM_KEY_question }, 3779 { SCIM_KEY_braceleft, SCIM_KEY_Aring }, 3780 { SCIM_KEY_bar, SCIM_KEY_asterisk }, 3781 { SCIM_KEY_braceright, SCIM_KEY_dead_circumflex }, 3782 { SCIM_KEY_asciitilde, SCIM_KEY_onehalf }, 3783 }; 3784 3785 static __Uint16Pair __swedish_to_us_caps_shift [] = { 3786 { SCIM_KEY_quotedbl, SCIM_KEY_at }, 3787 { SCIM_KEY_ampersand, SCIM_KEY_asciicircum }, 3788 { SCIM_KEY_parenleft, SCIM_KEY_asterisk }, 3789 { SCIM_KEY_parenright, SCIM_KEY_parenleft }, 3790 { SCIM_KEY_asterisk, SCIM_KEY_bar }, 3791 { SCIM_KEY_slash, SCIM_KEY_ampersand }, 3792 { SCIM_KEY_colon, SCIM_KEY_greater }, 3793 { SCIM_KEY_semicolon, SCIM_KEY_less }, 3794 { SCIM_KEY_equal, SCIM_KEY_parenright }, 3795 { SCIM_KEY_question, SCIM_KEY_underscore }, 3796 { SCIM_KEY_underscore, SCIM_KEY_question }, 3797 { SCIM_KEY_currency, SCIM_KEY_dollar }, 3798 { SCIM_KEY_onehalf, SCIM_KEY_asciitilde }, 3799 { SCIM_KEY_adiaeresis, SCIM_KEY_quotedbl }, 3800 { SCIM_KEY_aring, SCIM_KEY_braceleft }, 3801 { SCIM_KEY_odiaeresis, SCIM_KEY_colon }, 3802 { SCIM_KEY_dead_grave, SCIM_KEY_plus }, 3803 { SCIM_KEY_dead_circumflex, SCIM_KEY_braceright }, 3804 }; 3805 3806 static __Uint16Pair __us_to_swedish_caps_shift [] = { 3807 { SCIM_KEY_quotedbl, SCIM_KEY_adiaeresis }, 3808 { SCIM_KEY_dollar, SCIM_KEY_currency }, 3809 { SCIM_KEY_ampersand, SCIM_KEY_slash }, 3810 { SCIM_KEY_parenleft, SCIM_KEY_parenright }, 3811 { SCIM_KEY_parenright, SCIM_KEY_equal }, 3812 { SCIM_KEY_asterisk, SCIM_KEY_parenleft }, 3813 { SCIM_KEY_plus, SCIM_KEY_dead_grave }, 3814 { SCIM_KEY_colon, SCIM_KEY_odiaeresis }, 3815 { SCIM_KEY_less, SCIM_KEY_semicolon }, 3816 { SCIM_KEY_greater, SCIM_KEY_colon }, 3817 { SCIM_KEY_question, SCIM_KEY_underscore }, 3818 { SCIM_KEY_at, SCIM_KEY_quotedbl }, 3819 { SCIM_KEY_asciicircum, SCIM_KEY_ampersand }, 3820 { SCIM_KEY_underscore, SCIM_KEY_question }, 3821 { SCIM_KEY_braceleft, SCIM_KEY_aring }, 3822 { SCIM_KEY_bar, SCIM_KEY_asterisk }, 3823 { SCIM_KEY_braceright, SCIM_KEY_dead_circumflex }, 3824 { SCIM_KEY_asciitilde, SCIM_KEY_onehalf }, 3825 }; 3826 3827 static __Uint16Pair __turkish_to_us_normal [] = { 3828 { SCIM_KEY_quotedbl, SCIM_KEY_grave }, 3829 { SCIM_KEY_asterisk, SCIM_KEY_minus }, 3830 { SCIM_KEY_comma, SCIM_KEY_backslash }, 3831 { SCIM_KEY_minus, SCIM_KEY_equal }, 3832 { SCIM_KEY_period, SCIM_KEY_slash }, 3833 { SCIM_KEY_i, SCIM_KEY_apostrophe }, 3834 { SCIM_KEY_ccedilla, SCIM_KEY_period }, 3835 { SCIM_KEY_odiaeresis, SCIM_KEY_comma }, 3836 { SCIM_KEY_udiaeresis, SCIM_KEY_bracketright }, 3837 { SCIM_KEY_scedilla, SCIM_KEY_semicolon }, 3838 { SCIM_KEY_idotless, SCIM_KEY_i }, 3839 { SCIM_KEY_gbreve, SCIM_KEY_bracketleft }, 3840 }; 3841 3842 static __Uint16Pair __us_to_turkish_normal [] = { 3843 { SCIM_KEY_apostrophe, SCIM_KEY_i }, 3844 { SCIM_KEY_comma, SCIM_KEY_odiaeresis }, 3845 { SCIM_KEY_minus, SCIM_KEY_asterisk }, 3846 { SCIM_KEY_period, SCIM_KEY_ccedilla }, 3847 { SCIM_KEY_slash, SCIM_KEY_period }, 3848 { SCIM_KEY_semicolon, SCIM_KEY_scedilla }, 3849 { SCIM_KEY_equal, SCIM_KEY_minus }, 3850 { SCIM_KEY_bracketleft, SCIM_KEY_gbreve }, 3851 { SCIM_KEY_backslash, SCIM_KEY_comma }, 3852 { SCIM_KEY_bracketright, SCIM_KEY_udiaeresis }, 3853 { SCIM_KEY_grave, SCIM_KEY_quotedbl }, 3854 { SCIM_KEY_i, SCIM_KEY_idotless }, 3855 }; 3856 3857 static __Uint16Pair __turkish_to_us_caps [] = { 3858 { SCIM_KEY_quotedbl, SCIM_KEY_grave }, 3859 { SCIM_KEY_asterisk, SCIM_KEY_minus }, 3860 { SCIM_KEY_comma, SCIM_KEY_backslash }, 3861 { SCIM_KEY_minus, SCIM_KEY_equal }, 3862 { SCIM_KEY_period, SCIM_KEY_slash }, 3863 { SCIM_KEY_I, SCIM_KEY_apostrophe }, 3864 { SCIM_KEY_Ccedilla, SCIM_KEY_period }, 3865 { SCIM_KEY_Odiaeresis, SCIM_KEY_comma }, 3866 { SCIM_KEY_Udiaeresis, SCIM_KEY_bracketright }, 3867 { SCIM_KEY_Scedilla, SCIM_KEY_semicolon }, 3868 { SCIM_KEY_Gbreve, SCIM_KEY_bracketleft }, 3869 { SCIM_KEY_idotless, SCIM_KEY_I }, 3870 }; 3871 3872 static __Uint16Pair __us_to_turkish_caps [] = { 3873 { SCIM_KEY_apostrophe, SCIM_KEY_I }, 3874 { SCIM_KEY_comma, SCIM_KEY_Odiaeresis }, 3875 { SCIM_KEY_minus, SCIM_KEY_asterisk }, 3876 { SCIM_KEY_period, SCIM_KEY_Ccedilla }, 3877 { SCIM_KEY_slash, SCIM_KEY_period }, 3878 { SCIM_KEY_semicolon, SCIM_KEY_Scedilla }, 3879 { SCIM_KEY_equal, SCIM_KEY_minus }, 3880 { SCIM_KEY_I, SCIM_KEY_idotless }, 3881 { SCIM_KEY_bracketleft, SCIM_KEY_Gbreve }, 3882 { SCIM_KEY_backslash, SCIM_KEY_comma }, 3883 { SCIM_KEY_bracketright, SCIM_KEY_Udiaeresis }, 3884 { SCIM_KEY_grave, SCIM_KEY_quotedbl }, 3885 }; 3886 3887 static __Uint16Pair __turkish_to_us_shift [] = { 3888 { SCIM_KEY_ampersand, SCIM_KEY_asciicircum }, 3889 { SCIM_KEY_apostrophe, SCIM_KEY_at }, 3890 { SCIM_KEY_parenleft, SCIM_KEY_asterisk }, 3891 { SCIM_KEY_parenright, SCIM_KEY_parenleft }, 3892 { SCIM_KEY_plus, SCIM_KEY_dollar }, 3893 { SCIM_KEY_slash, SCIM_KEY_ampersand }, 3894 { SCIM_KEY_colon, SCIM_KEY_question }, 3895 { SCIM_KEY_semicolon, SCIM_KEY_bar }, 3896 { SCIM_KEY_equal, SCIM_KEY_parenright }, 3897 { SCIM_KEY_question, SCIM_KEY_underscore }, 3898 { SCIM_KEY_backslash, SCIM_KEY_asciitilde }, 3899 { SCIM_KEY_asciicircum, SCIM_KEY_numbersign }, 3900 { SCIM_KEY_underscore, SCIM_KEY_plus }, 3901 { SCIM_KEY_Ccedilla, SCIM_KEY_greater }, 3902 { SCIM_KEY_Odiaeresis, SCIM_KEY_less }, 3903 { SCIM_KEY_Udiaeresis, SCIM_KEY_braceright }, 3904 { SCIM_KEY_Scedilla, SCIM_KEY_colon }, 3905 { SCIM_KEY_Iabovedot, SCIM_KEY_quotedbl }, 3906 { SCIM_KEY_Gbreve, SCIM_KEY_braceleft }, 3907 }; 3908 3909 static __Uint16Pair __us_to_turkish_shift [] = { 3910 { SCIM_KEY_quotedbl, SCIM_KEY_Iabovedot }, 3911 { SCIM_KEY_numbersign, SCIM_KEY_asciicircum }, 3912 { SCIM_KEY_dollar, SCIM_KEY_plus }, 3913 { SCIM_KEY_ampersand, SCIM_KEY_slash }, 3914 { SCIM_KEY_parenleft, SCIM_KEY_parenright }, 3915 { SCIM_KEY_parenright, SCIM_KEY_equal }, 3916 { SCIM_KEY_asterisk, SCIM_KEY_parenleft }, 3917 { SCIM_KEY_plus, SCIM_KEY_underscore }, 3918 { SCIM_KEY_colon, SCIM_KEY_Scedilla }, 3919 { SCIM_KEY_less, SCIM_KEY_Odiaeresis }, 3920 { SCIM_KEY_greater, SCIM_KEY_Ccedilla }, 3921 { SCIM_KEY_question, SCIM_KEY_colon }, 3922 { SCIM_KEY_at, SCIM_KEY_apostrophe }, 3923 { SCIM_KEY_asciicircum, SCIM_KEY_ampersand }, 3924 { SCIM_KEY_underscore, SCIM_KEY_question }, 3925 { SCIM_KEY_braceleft, SCIM_KEY_Gbreve }, 3926 { SCIM_KEY_bar, SCIM_KEY_semicolon }, 3927 { SCIM_KEY_braceright, SCIM_KEY_Udiaeresis }, 3928 { SCIM_KEY_asciitilde, SCIM_KEY_backslash }, 3929 }; 3930 3931 static __Uint16Pair __turkish_to_us_caps_shift [] = { 3932 { SCIM_KEY_ampersand, SCIM_KEY_asciicircum }, 3933 { SCIM_KEY_apostrophe, SCIM_KEY_at }, 3934 { SCIM_KEY_parenleft, SCIM_KEY_asterisk }, 3935 { SCIM_KEY_parenright, SCIM_KEY_parenleft }, 3936 { SCIM_KEY_plus, SCIM_KEY_dollar }, 3937 { SCIM_KEY_slash, SCIM_KEY_ampersand }, 3938 { SCIM_KEY_colon, SCIM_KEY_question }, 3939 { SCIM_KEY_semicolon, SCIM_KEY_bar }, 3940 { SCIM_KEY_equal, SCIM_KEY_parenright }, 3941 { SCIM_KEY_question, SCIM_KEY_underscore }, 3942 { SCIM_KEY_I, SCIM_KEY_i }, 3943 { SCIM_KEY_backslash, SCIM_KEY_asciitilde }, 3944 { SCIM_KEY_asciicircum, SCIM_KEY_numbersign }, 3945 { SCIM_KEY_underscore, SCIM_KEY_plus }, 3946 { SCIM_KEY_ccedilla, SCIM_KEY_greater }, 3947 { SCIM_KEY_odiaeresis, SCIM_KEY_less }, 3948 { SCIM_KEY_udiaeresis, SCIM_KEY_braceright }, 3949 { SCIM_KEY_scedilla, SCIM_KEY_colon }, 3950 { SCIM_KEY_Iabovedot, SCIM_KEY_quotedbl }, 3951 { SCIM_KEY_gbreve, SCIM_KEY_braceleft }, 3952 }; 3953 3954 static __Uint16Pair __us_to_turkish_caps_shift [] = { 3955 { SCIM_KEY_quotedbl, SCIM_KEY_Iabovedot }, 3956 { SCIM_KEY_numbersign, SCIM_KEY_asciicircum }, 3957 { SCIM_KEY_dollar, SCIM_KEY_plus }, 3958 { SCIM_KEY_ampersand, SCIM_KEY_slash }, 3959 { SCIM_KEY_parenleft, SCIM_KEY_parenright }, 3960 { SCIM_KEY_parenright, SCIM_KEY_equal }, 3961 { SCIM_KEY_asterisk, SCIM_KEY_parenleft }, 3962 { SCIM_KEY_plus, SCIM_KEY_underscore }, 3963 { SCIM_KEY_colon, SCIM_KEY_scedilla }, 3964 { SCIM_KEY_less, SCIM_KEY_odiaeresis }, 3965 { SCIM_KEY_greater, SCIM_KEY_ccedilla }, 3966 { SCIM_KEY_question, SCIM_KEY_colon }, 3967 { SCIM_KEY_at, SCIM_KEY_apostrophe }, 3968 { SCIM_KEY_asciicircum, SCIM_KEY_ampersand }, 3969 { SCIM_KEY_underscore, SCIM_KEY_question }, 3970 { SCIM_KEY_i, SCIM_KEY_I }, 3971 { SCIM_KEY_braceleft, SCIM_KEY_gbreve }, 3972 { SCIM_KEY_bar, SCIM_KEY_semicolon }, 3973 { SCIM_KEY_braceright, SCIM_KEY_udiaeresis }, 3974 { SCIM_KEY_asciitilde, SCIM_KEY_backslash }, 3975 }; 3976 3977 static __Uint16Pair __uk_to_us_normal [] = { 3978 { SCIM_KEY_numbersign, SCIM_KEY_backslash }, 3979 }; 3980 3981 static __Uint16Pair __us_to_uk_normal [] = { 3982 { SCIM_KEY_backslash, SCIM_KEY_numbersign }, 3983 }; 3984 3985 static __Uint16Pair __uk_to_us_caps [] = { 3986 { SCIM_KEY_numbersign, SCIM_KEY_backslash }, 3987 }; 3988 3989 static __Uint16Pair __us_to_uk_caps [] = { 3990 { SCIM_KEY_backslash, SCIM_KEY_numbersign }, 3991 }; 3992 3993 static __Uint16Pair __uk_to_us_shift [] = { 3994 { SCIM_KEY_quotedbl, SCIM_KEY_at }, 3995 { SCIM_KEY_at, SCIM_KEY_quotedbl }, 3996 { SCIM_KEY_asciitilde, SCIM_KEY_bar }, 3997 { SCIM_KEY_sterling, SCIM_KEY_numbersign }, 3998 { SCIM_KEY_notsign, SCIM_KEY_asciitilde }, 3999 }; 4000 4001 static __Uint16Pair __us_to_uk_shift [] = { 4002 { SCIM_KEY_quotedbl, SCIM_KEY_at }, 4003 { SCIM_KEY_numbersign, SCIM_KEY_sterling }, 4004 { SCIM_KEY_at, SCIM_KEY_quotedbl }, 4005 { SCIM_KEY_bar, SCIM_KEY_asciitilde }, 4006 { SCIM_KEY_asciitilde, SCIM_KEY_notsign }, 4007 }; 4008 4009 static __Uint16Pair __uk_to_us_caps_shift [] = { 4010 { SCIM_KEY_quotedbl, SCIM_KEY_at }, 4011 { SCIM_KEY_at, SCIM_KEY_quotedbl }, 4012 { SCIM_KEY_asciitilde, SCIM_KEY_bar }, 4013 { SCIM_KEY_sterling, SCIM_KEY_numbersign }, 4014 { SCIM_KEY_notsign, SCIM_KEY_asciitilde }, 4015 }; 4016 4017 static __Uint16Pair __us_to_uk_caps_shift [] = { 4018 { SCIM_KEY_quotedbl, SCIM_KEY_at }, 4019 { SCIM_KEY_numbersign, SCIM_KEY_sterling }, 4020 { SCIM_KEY_at, SCIM_KEY_quotedbl }, 4021 { SCIM_KEY_bar, SCIM_KEY_asciitilde }, 4022 { SCIM_KEY_asciitilde, SCIM_KEY_notsign }, 4023 }; 4024 4025 static __Uint16Pair __icelandic_to_us_normal [] = { 4026 { SCIM_KEY_apostrophe, SCIM_KEY_bracketright }, 4027 { SCIM_KEY_plus, SCIM_KEY_backslash }, 4028 { SCIM_KEY_minus, SCIM_KEY_equal }, 4029 { SCIM_KEY_degree, SCIM_KEY_grave }, 4030 { SCIM_KEY_ae, SCIM_KEY_semicolon }, 4031 { SCIM_KEY_eth, SCIM_KEY_bracketleft }, 4032 { SCIM_KEY_odiaeresis, SCIM_KEY_minus }, 4033 { SCIM_KEY_thorn, SCIM_KEY_slash }, 4034 { SCIM_KEY_dead_acute, SCIM_KEY_apostrophe }, 4035 }; 4036 4037 static __Uint16Pair __us_to_icelandic_normal [] = { 4038 { SCIM_KEY_apostrophe, SCIM_KEY_dead_acute }, 4039 { SCIM_KEY_minus, SCIM_KEY_odiaeresis }, 4040 { SCIM_KEY_slash, SCIM_KEY_thorn }, 4041 { SCIM_KEY_semicolon, SCIM_KEY_ae }, 4042 { SCIM_KEY_equal, SCIM_KEY_minus }, 4043 { SCIM_KEY_bracketleft, SCIM_KEY_eth }, 4044 { SCIM_KEY_backslash, SCIM_KEY_plus }, 4045 { SCIM_KEY_bracketright, SCIM_KEY_apostrophe }, 4046 { SCIM_KEY_grave, SCIM_KEY_degree }, 4047 }; 4048 4049 static __Uint16Pair __icelandic_to_us_caps [] = { 4050 { SCIM_KEY_apostrophe, SCIM_KEY_bracketright }, 4051 { SCIM_KEY_plus, SCIM_KEY_backslash }, 4052 { SCIM_KEY_minus, SCIM_KEY_equal }, 4053 { SCIM_KEY_degree, SCIM_KEY_grave }, 4054 { SCIM_KEY_AE, SCIM_KEY_semicolon }, 4055 { SCIM_KEY_ETH, SCIM_KEY_bracketleft }, 4056 { SCIM_KEY_Odiaeresis, SCIM_KEY_minus }, 4057 { SCIM_KEY_THORN, SCIM_KEY_slash }, 4058 { SCIM_KEY_dead_acute, SCIM_KEY_apostrophe }, 4059 }; 4060 4061 static __Uint16Pair __us_to_icelandic_caps [] = { 4062 { SCIM_KEY_apostrophe, SCIM_KEY_dead_acute }, 4063 { SCIM_KEY_minus, SCIM_KEY_Odiaeresis }, 4064 { SCIM_KEY_slash, SCIM_KEY_THORN }, 4065 { SCIM_KEY_semicolon, SCIM_KEY_AE }, 4066 { SCIM_KEY_equal, SCIM_KEY_minus }, 4067 { SCIM_KEY_bracketleft, SCIM_KEY_ETH }, 4068 { SCIM_KEY_backslash, SCIM_KEY_plus }, 4069 { SCIM_KEY_bracketright, SCIM_KEY_apostrophe }, 4070 { SCIM_KEY_grave, SCIM_KEY_degree }, 4071 }; 4072 4073 static __Uint16Pair __icelandic_to_us_shift [] = { 4074 { SCIM_KEY_quotedbl, SCIM_KEY_at }, 4075 { SCIM_KEY_ampersand, SCIM_KEY_asciicircum }, 4076 { SCIM_KEY_parenleft, SCIM_KEY_asterisk }, 4077 { SCIM_KEY_parenright, SCIM_KEY_parenleft }, 4078 { SCIM_KEY_asterisk, SCIM_KEY_bar }, 4079 { SCIM_KEY_slash, SCIM_KEY_ampersand }, 4080 { SCIM_KEY_colon, SCIM_KEY_greater }, 4081 { SCIM_KEY_semicolon, SCIM_KEY_less }, 4082 { SCIM_KEY_equal, SCIM_KEY_parenright }, 4083 { SCIM_KEY_question, SCIM_KEY_braceright }, 4084 { SCIM_KEY_underscore, SCIM_KEY_plus }, 4085 { SCIM_KEY_diaeresis, SCIM_KEY_asciitilde }, 4086 { SCIM_KEY_Adiaeresis, SCIM_KEY_quotedbl }, 4087 { SCIM_KEY_AE, SCIM_KEY_colon }, 4088 { SCIM_KEY_ETH, SCIM_KEY_braceleft }, 4089 { SCIM_KEY_Odiaeresis, SCIM_KEY_underscore }, 4090 { SCIM_KEY_THORN, SCIM_KEY_question }, 4091 }; 4092 4093 static __Uint16Pair __us_to_icelandic_shift [] = { 4094 { SCIM_KEY_quotedbl, SCIM_KEY_Adiaeresis }, 4095 { SCIM_KEY_ampersand, SCIM_KEY_slash }, 4096 { SCIM_KEY_parenleft, SCIM_KEY_parenright }, 4097 { SCIM_KEY_parenright, SCIM_KEY_equal }, 4098 { SCIM_KEY_asterisk, SCIM_KEY_parenleft }, 4099 { SCIM_KEY_plus, SCIM_KEY_underscore }, 4100 { SCIM_KEY_colon, SCIM_KEY_AE }, 4101 { SCIM_KEY_less, SCIM_KEY_semicolon }, 4102 { SCIM_KEY_greater, SCIM_KEY_colon }, 4103 { SCIM_KEY_question, SCIM_KEY_THORN }, 4104 { SCIM_KEY_at, SCIM_KEY_quotedbl }, 4105 { SCIM_KEY_asciicircum, SCIM_KEY_ampersand }, 4106 { SCIM_KEY_underscore, SCIM_KEY_Odiaeresis }, 4107 { SCIM_KEY_braceleft, SCIM_KEY_ETH }, 4108 { SCIM_KEY_bar, SCIM_KEY_asterisk }, 4109 { SCIM_KEY_braceright, SCIM_KEY_question }, 4110 { SCIM_KEY_asciitilde, SCIM_KEY_diaeresis }, 4111 }; 4112 4113 static __Uint16Pair __icelandic_to_us_caps_shift [] = { 4114 { SCIM_KEY_quotedbl, SCIM_KEY_at }, 4115 { SCIM_KEY_ampersand, SCIM_KEY_asciicircum }, 4116 { SCIM_KEY_parenleft, SCIM_KEY_asterisk }, 4117 { SCIM_KEY_parenright, SCIM_KEY_parenleft }, 4118 { SCIM_KEY_asterisk, SCIM_KEY_bar }, 4119 { SCIM_KEY_slash, SCIM_KEY_ampersand }, 4120 { SCIM_KEY_colon, SCIM_KEY_greater }, 4121 { SCIM_KEY_semicolon, SCIM_KEY_less }, 4122 { SCIM_KEY_equal, SCIM_KEY_parenright }, 4123 { SCIM_KEY_question, SCIM_KEY_braceright }, 4124 { SCIM_KEY_underscore, SCIM_KEY_plus }, 4125 { SCIM_KEY_diaeresis, SCIM_KEY_asciitilde }, 4126 { SCIM_KEY_Adiaeresis, SCIM_KEY_quotedbl }, 4127 { SCIM_KEY_ae, SCIM_KEY_colon }, 4128 { SCIM_KEY_eth, SCIM_KEY_braceleft }, 4129 { SCIM_KEY_odiaeresis, SCIM_KEY_underscore }, 4130 { SCIM_KEY_thorn, SCIM_KEY_question }, 4131 }; 4132 4133 static __Uint16Pair __us_to_icelandic_caps_shift [] = { 4134 { SCIM_KEY_quotedbl, SCIM_KEY_Adiaeresis }, 4135 { SCIM_KEY_ampersand, SCIM_KEY_slash }, 4136 { SCIM_KEY_parenleft, SCIM_KEY_parenright }, 4137 { SCIM_KEY_parenright, SCIM_KEY_equal }, 4138 { SCIM_KEY_asterisk, SCIM_KEY_parenleft }, 4139 { SCIM_KEY_plus, SCIM_KEY_underscore }, 4140 { SCIM_KEY_colon, SCIM_KEY_ae }, 4141 { SCIM_KEY_less, SCIM_KEY_semicolon }, 4142 { SCIM_KEY_greater, SCIM_KEY_colon }, 4143 { SCIM_KEY_question, SCIM_KEY_thorn }, 4144 { SCIM_KEY_at, SCIM_KEY_quotedbl }, 4145 { SCIM_KEY_asciicircum, SCIM_KEY_ampersand }, 4146 { SCIM_KEY_underscore, SCIM_KEY_odiaeresis }, 4147 { SCIM_KEY_braceleft, SCIM_KEY_eth }, 4148 { SCIM_KEY_bar, SCIM_KEY_asterisk }, 4149 { SCIM_KEY_braceright, SCIM_KEY_question }, 4150 { SCIM_KEY_asciitilde, SCIM_KEY_diaeresis }, 4151 }; 4152 4153 4154 // KeyEvent remapping map 4155 static __KeyCodeMap __normal_map [] = 4156 { 4157 { 0, 0 }, 4158 { 0, 0 }, 4159 { sizeof(__belgian_to_us_normal) / sizeof (__Uint16Pair), __belgian_to_us_normal }, 4160 { 0, 0 }, // Croatian 4161 { sizeof(__czech_to_us_normal) / sizeof (__Uint16Pair), __czech_to_us_normal }, 4162 { sizeof(__czech_qwerty_to_us_normal) / sizeof (__Uint16Pair), __czech_qwerty_to_us_normal }, 4163 { sizeof(__danish_to_us_normal) / sizeof (__Uint16Pair), __danish_to_us_normal }, 4164 { 0, 0 }, // Dutch 4165 { sizeof(__dvorak_to_us_normal) / sizeof (__Uint16Pair), __dvorak_to_us_normal }, 4166 { sizeof(__estonian_to_us_normal) / sizeof (__Uint16Pair), __estonian_to_us_normal }, 4167 { sizeof(__finnish_to_us_normal) / sizeof (__Uint16Pair), __finnish_to_us_normal }, 4168 { sizeof(__french_to_us_normal) / sizeof (__Uint16Pair), __french_to_us_normal }, 4169 { 0, 0 }, // French Canadian 4170 { sizeof(__french_switzerland_to_us_normal) / sizeof (__Uint16Pair), __french_switzerland_to_us_normal }, 4171 { sizeof(__german_to_us_normal) / sizeof (__Uint16Pair), __german_to_us_normal }, 4172 { sizeof(__german_deadkeys_to_us_normal) / sizeof (__Uint16Pair), __german_deadkeys_to_us_normal }, 4173 { sizeof(__german_swiss_to_us_normal) / sizeof (__Uint16Pair), __german_swiss_to_us_normal }, 4174 { 0, 0 }, // Greek 4175 { sizeof(__hungarian_to_us_normal) / sizeof (__Uint16Pair), __hungarian_to_us_normal }, 4176 { sizeof(__italian_to_us_normal) / sizeof (__Uint16Pair), __italian_to_us_normal }, 4177 { sizeof(__japanese_to_us_normal) / sizeof (__Uint16Pair), __japanese_to_us_normal }, 4178 { sizeof(__norwegian_to_us_normal) / sizeof (__Uint16Pair), __norwegian_to_us_normal }, 4179 { 0, 0 }, // Polish 4180 { sizeof(__portuguese_to_us_normal) / sizeof (__Uint16Pair), __portuguese_to_us_normal }, 4181 { sizeof(__portuguese_brazil_to_us_normal) / sizeof (__Uint16Pair), __portuguese_brazil_to_us_normal }, 4182 { sizeof(__portuguese_brazil_us_accents_to_us_normal) / sizeof (__Uint16Pair), __portuguese_brazil_us_accents_to_us_normal }, 4183 { 0, 0 }, // Russian 4184 { sizeof(__slovak_to_us_normal) / sizeof (__Uint16Pair), __slovak_to_us_normal }, 4185 { sizeof(__slovak_qwerty_to_us_normal) / sizeof (__Uint16Pair), __slovak_qwerty_to_us_normal }, 4186 { 0, 0 }, // Slovene 4187 { sizeof(__spanish_to_us_normal) / sizeof (__Uint16Pair), __spanish_to_us_normal }, 4188 { sizeof(__spanish_cp850_to_us_normal) / sizeof (__Uint16Pair), __spanish_cp850_to_us_normal }, 4189 { sizeof(__spanish_latin_america_to_us_normal) / sizeof (__Uint16Pair), __spanish_latin_america_to_us_normal }, 4190 { sizeof(__swedish_to_us_normal) / sizeof (__Uint16Pair), __swedish_to_us_normal }, 4191 { sizeof(__turkish_to_us_normal) / sizeof (__Uint16Pair), __turkish_to_us_normal }, 4192 { sizeof(__uk_to_us_normal) / sizeof (__Uint16Pair), __uk_to_us_normal }, 4193 { sizeof(__icelandic_to_us_normal) / sizeof (__Uint16Pair), __icelandic_to_us_normal }, 4194 { 0, 0 }, // Icelandic 4195 { 0, 0 }, // Ukrainian 4196 }; 4197 4198 static __KeyCodeMap __normal_invert_map [] = 4199 { 4200 { 0, 0 }, 4201 { 0, 0 }, 4202 { sizeof(__us_to_belgian_normal) / sizeof (__Uint16Pair), __us_to_belgian_normal }, 4203 { 0, 0 }, // Croatian 4204 { sizeof(__us_to_czech_normal) / sizeof (__Uint16Pair), __us_to_czech_normal }, 4205 { sizeof(__us_to_czech_qwerty_normal) / sizeof (__Uint16Pair), __us_to_czech_qwerty_normal }, 4206 { sizeof(__us_to_danish_normal) / sizeof (__Uint16Pair), __us_to_danish_normal }, 4207 { 0, 0 }, // Dutch 4208 { sizeof(__us_to_dvorak_normal) / sizeof (__Uint16Pair), __us_to_dvorak_normal }, 4209 { sizeof(__us_to_estonian_normal) / sizeof (__Uint16Pair), __us_to_estonian_normal }, 4210 { sizeof(__us_to_finnish_normal) / sizeof (__Uint16Pair), __us_to_finnish_normal }, 4211 { sizeof(__us_to_french_normal) / sizeof (__Uint16Pair), __us_to_french_normal }, 4212 { 0, 0 }, // French Canadian 4213 { sizeof(__us_to_french_switzerland_normal) / sizeof (__Uint16Pair), __us_to_french_switzerland_normal }, 4214 { sizeof(__us_to_german_normal) / sizeof (__Uint16Pair), __us_to_german_normal }, 4215 { sizeof(__us_to_german_deadkeys_normal) / sizeof (__Uint16Pair), __us_to_german_deadkeys_normal }, 4216 { sizeof(__us_to_german_swiss_normal) / sizeof (__Uint16Pair), __us_to_german_swiss_normal }, 4217 { 0, 0 }, // Greek 4218 { sizeof(__us_to_hungarian_normal) / sizeof (__Uint16Pair), __us_to_hungarian_normal }, 4219 { sizeof(__us_to_italian_normal) / sizeof (__Uint16Pair), __us_to_italian_normal }, 4220 { sizeof(__us_to_japanese_normal) / sizeof (__Uint16Pair), __us_to_japanese_normal }, 4221 { sizeof(__us_to_norwegian_normal) / sizeof (__Uint16Pair), __us_to_norwegian_normal }, 4222 { 0, 0 }, // Polish 4223 { sizeof(__us_to_portuguese_normal) / sizeof (__Uint16Pair), __us_to_portuguese_normal }, 4224 { sizeof(__us_to_portuguese_brazil_normal) / sizeof (__Uint16Pair), __us_to_portuguese_brazil_normal }, 4225 { sizeof(__us_to_portuguese_brazil_us_accents_normal) / sizeof (__Uint16Pair), __us_to_portuguese_brazil_us_accents_normal }, 4226 { 0, 0 }, // Russian 4227 { sizeof(__us_to_slovak_normal) / sizeof (__Uint16Pair), __us_to_slovak_normal }, 4228 { sizeof(__us_to_slovak_qwerty_normal) / sizeof (__Uint16Pair), __us_to_slovak_qwerty_normal }, 4229 { 0, 0 }, // Slovene 4230 { sizeof(__us_to_spanish_normal) / sizeof (__Uint16Pair), __us_to_spanish_normal }, 4231 { sizeof(__us_to_spanish_cp850_normal) / sizeof (__Uint16Pair), __us_to_spanish_cp850_normal }, 4232 { sizeof(__us_to_spanish_latin_america_normal) / sizeof (__Uint16Pair), __us_to_spanish_latin_america_normal }, 4233 { sizeof(__us_to_swedish_normal) / sizeof (__Uint16Pair), __us_to_swedish_normal }, 4234 { sizeof(__us_to_turkish_normal) / sizeof (__Uint16Pair), __us_to_turkish_normal }, 4235 { sizeof(__us_to_uk_normal) / sizeof (__Uint16Pair), __us_to_uk_normal }, 4236 { sizeof(__us_to_icelandic_normal) / sizeof (__Uint16Pair), __us_to_icelandic_normal }, 4237 { 0, 0 }, // Icelandic 4238 { 0, 0 }, // Ukrainian 4239 }; 4240 4241 static __KeyCodeMap __caps_map [] = 4242 { 4243 { 0, 0 }, 4244 { 0, 0 }, 4245 { sizeof(__belgian_to_us_caps) / sizeof (__Uint16Pair), __belgian_to_us_caps }, 4246 { 0, 0 }, // Croatian 4247 { sizeof(__czech_to_us_caps) / sizeof (__Uint16Pair), __czech_to_us_caps }, 4248 { sizeof(__czech_qwerty_to_us_caps) / sizeof (__Uint16Pair), __czech_qwerty_to_us_caps }, 4249 { sizeof(__danish_to_us_caps) / sizeof (__Uint16Pair), __danish_to_us_caps }, 4250 { 0, 0 }, // Dutch 4251 { sizeof(__dvorak_to_us_caps) / sizeof (__Uint16Pair), __dvorak_to_us_caps }, 4252 { sizeof(__estonian_to_us_caps) / sizeof (__Uint16Pair), __estonian_to_us_caps }, 4253 { sizeof(__finnish_to_us_caps) / sizeof (__Uint16Pair), __finnish_to_us_caps }, 4254 { sizeof(__french_to_us_caps) / sizeof (__Uint16Pair), __french_to_us_caps }, 4255 { 0, 0 }, // French Canadian 4256 { sizeof(__french_switzerland_to_us_caps) / sizeof (__Uint16Pair), __french_switzerland_to_us_caps }, 4257 { sizeof(__german_to_us_caps) / sizeof (__Uint16Pair), __german_to_us_caps }, 4258 { sizeof(__german_deadkeys_to_us_caps) / sizeof (__Uint16Pair), __german_deadkeys_to_us_caps }, 4259 { sizeof(__german_swiss_to_us_caps) / sizeof (__Uint16Pair), __german_swiss_to_us_caps }, 4260 { 0, 0 }, // Greek 4261 { sizeof(__hungarian_to_us_caps) / sizeof (__Uint16Pair), __hungarian_to_us_caps }, 4262 { sizeof(__italian_to_us_caps) / sizeof (__Uint16Pair), __italian_to_us_caps }, 4263 { sizeof(__japanese_to_us_caps) / sizeof (__Uint16Pair), __japanese_to_us_caps }, 4264 { sizeof(__norwegian_to_us_caps) / sizeof (__Uint16Pair), __norwegian_to_us_caps }, 4265 { 0, 0 }, // Polish 4266 { sizeof(__portuguese_to_us_caps) / sizeof (__Uint16Pair), __portuguese_to_us_caps }, 4267 { sizeof(__portuguese_brazil_to_us_caps) / sizeof (__Uint16Pair), __portuguese_brazil_to_us_caps }, 4268 { sizeof(__portuguese_brazil_us_accents_to_us_caps) / sizeof (__Uint16Pair), __portuguese_brazil_us_accents_to_us_caps }, 4269 { 0, 0 }, // Russian 4270 { sizeof(__slovak_to_us_caps) / sizeof (__Uint16Pair), __slovak_to_us_caps }, 4271 { sizeof(__slovak_qwerty_to_us_caps) / sizeof (__Uint16Pair), __slovak_qwerty_to_us_caps }, 4272 { 0, 0 }, // Slovene 4273 { sizeof(__spanish_to_us_caps) / sizeof (__Uint16Pair), __spanish_to_us_caps }, 4274 { sizeof(__spanish_cp850_to_us_caps) / sizeof (__Uint16Pair), __spanish_cp850_to_us_caps }, 4275 { sizeof(__spanish_latin_america_to_us_caps) / sizeof (__Uint16Pair), __spanish_latin_america_to_us_caps }, 4276 { sizeof(__swedish_to_us_caps) / sizeof (__Uint16Pair), __swedish_to_us_caps }, 4277 { sizeof(__turkish_to_us_caps) / sizeof (__Uint16Pair), __turkish_to_us_caps }, 4278 { sizeof(__uk_to_us_caps) / sizeof (__Uint16Pair), __uk_to_us_caps }, 4279 { sizeof(__icelandic_to_us_caps) / sizeof (__Uint16Pair), __icelandic_to_us_caps }, 4280 { 0, 0 }, // Icelandic 4281 { 0, 0 }, // Ukrainian 4282 }; 4283 4284 static __KeyCodeMap __caps_invert_map [] = 4285 { 4286 { 0, 0 }, 4287 { 0, 0 }, 4288 { sizeof(__us_to_belgian_caps) / sizeof (__Uint16Pair), __us_to_belgian_caps }, 4289 { 0, 0 }, // Croatian 4290 { sizeof(__us_to_czech_caps) / sizeof (__Uint16Pair), __us_to_czech_caps }, 4291 { sizeof(__us_to_czech_qwerty_caps) / sizeof (__Uint16Pair), __us_to_czech_qwerty_caps }, 4292 { sizeof(__us_to_danish_caps) / sizeof (__Uint16Pair), __us_to_danish_caps }, 4293 { 0, 0 }, // Dutch 4294 { sizeof(__us_to_dvorak_caps) / sizeof (__Uint16Pair), __us_to_dvorak_caps }, 4295 { sizeof(__us_to_estonian_caps) / sizeof (__Uint16Pair), __us_to_estonian_caps }, 4296 { sizeof(__us_to_finnish_caps) / sizeof (__Uint16Pair), __us_to_finnish_caps }, 4297 { sizeof(__us_to_french_caps) / sizeof (__Uint16Pair), __us_to_french_caps }, 4298 { 0, 0 }, // French Canadian 4299 { sizeof(__us_to_french_switzerland_caps) / sizeof (__Uint16Pair), __us_to_french_switzerland_caps }, 4300 { sizeof(__us_to_german_caps) / sizeof (__Uint16Pair), __us_to_german_caps }, 4301 { sizeof(__us_to_german_deadkeys_caps) / sizeof (__Uint16Pair), __us_to_german_deadkeys_caps }, 4302 { sizeof(__us_to_german_swiss_caps) / sizeof (__Uint16Pair), __us_to_german_swiss_caps }, 4303 { 0, 0 }, // Greek 4304 { sizeof(__us_to_hungarian_caps) / sizeof (__Uint16Pair), __us_to_hungarian_caps }, 4305 { sizeof(__us_to_italian_caps) / sizeof (__Uint16Pair), __us_to_italian_caps }, 4306 { sizeof(__us_to_japanese_caps) / sizeof (__Uint16Pair), __us_to_japanese_caps }, 4307 { sizeof(__us_to_norwegian_caps) / sizeof (__Uint16Pair), __us_to_norwegian_caps }, 4308 { 0, 0 }, // Polish 4309 { sizeof(__us_to_portuguese_caps) / sizeof (__Uint16Pair), __us_to_portuguese_caps }, 4310 { sizeof(__us_to_portuguese_brazil_caps) / sizeof (__Uint16Pair), __us_to_portuguese_brazil_caps }, 4311 { sizeof(__us_to_portuguese_brazil_us_accents_caps) / sizeof (__Uint16Pair), __us_to_portuguese_brazil_us_accents_caps }, 4312 { 0, 0 }, // Russian 4313 { sizeof(__us_to_slovak_caps) / sizeof (__Uint16Pair), __us_to_slovak_caps }, 4314 { sizeof(__us_to_slovak_qwerty_caps) / sizeof (__Uint16Pair), __us_to_slovak_qwerty_caps }, 4315 { 0, 0 }, // Slovene 4316 { sizeof(__us_to_spanish_caps) / sizeof (__Uint16Pair), __us_to_spanish_caps }, 4317 { sizeof(__us_to_spanish_cp850_caps) / sizeof (__Uint16Pair), __us_to_spanish_cp850_caps }, 4318 { sizeof(__us_to_spanish_latin_america_caps) / sizeof (__Uint16Pair), __us_to_spanish_latin_america_caps }, 4319 { sizeof(__us_to_swedish_caps) / sizeof (__Uint16Pair), __us_to_swedish_caps }, 4320 { sizeof(__us_to_turkish_caps) / sizeof (__Uint16Pair), __us_to_turkish_caps }, 4321 { sizeof(__us_to_uk_caps) / sizeof (__Uint16Pair), __us_to_uk_caps }, 4322 { sizeof(__us_to_icelandic_caps) / sizeof (__Uint16Pair), __us_to_icelandic_caps }, 4323 { 0, 0 }, // Icelandic 4324 { 0, 0 }, // Ukrainian 4325 }; 4326 4327 static __KeyCodeMap __shift_map [] = 4328 { 4329 { 0, 0 }, 4330 { 0, 0 }, 4331 { sizeof(__belgian_to_us_shift) / sizeof (__Uint16Pair), __belgian_to_us_shift }, 4332 { 0, 0 }, // Croatian 4333 { sizeof(__czech_to_us_shift) / sizeof (__Uint16Pair), __czech_to_us_shift }, 4334 { sizeof(__czech_qwerty_to_us_shift) / sizeof (__Uint16Pair), __czech_qwerty_to_us_shift }, 4335 { sizeof(__danish_to_us_shift) / sizeof (__Uint16Pair), __danish_to_us_shift }, 4336 { 0, 0 }, // Dutch 4337 { sizeof(__dvorak_to_us_shift) / sizeof (__Uint16Pair), __dvorak_to_us_shift }, 4338 { sizeof(__estonian_to_us_shift) / sizeof (__Uint16Pair), __estonian_to_us_shift }, 4339 { sizeof(__finnish_to_us_shift) / sizeof (__Uint16Pair), __finnish_to_us_shift }, 4340 { sizeof(__french_to_us_shift) / sizeof (__Uint16Pair), __french_to_us_shift }, 4341 { 0, 0 }, // French Canadian 4342 { sizeof(__french_switzerland_to_us_shift) / sizeof (__Uint16Pair), __french_switzerland_to_us_shift }, 4343 { sizeof(__german_to_us_shift) / sizeof (__Uint16Pair), __german_to_us_shift }, 4344 { sizeof(__german_deadkeys_to_us_shift) / sizeof (__Uint16Pair), __german_deadkeys_to_us_shift }, 4345 { sizeof(__german_swiss_to_us_shift) / sizeof (__Uint16Pair), __german_swiss_to_us_shift }, 4346 { 0, 0 }, // Greek 4347 { sizeof(__hungarian_to_us_shift) / sizeof (__Uint16Pair), __hungarian_to_us_shift }, 4348 { sizeof(__italian_to_us_shift) / sizeof (__Uint16Pair), __italian_to_us_shift }, 4349 { sizeof(__japanese_to_us_shift) / sizeof (__Uint16Pair), __japanese_to_us_shift }, 4350 { sizeof(__norwegian_to_us_shift) / sizeof (__Uint16Pair), __norwegian_to_us_shift }, 4351 { 0, 0 }, // Polish 4352 { sizeof(__portuguese_to_us_shift) / sizeof (__Uint16Pair), __portuguese_to_us_shift }, 4353 { sizeof(__portuguese_brazil_to_us_shift) / sizeof (__Uint16Pair), __portuguese_brazil_to_us_shift }, 4354 { sizeof(__portuguese_brazil_us_accents_to_us_shift) / sizeof (__Uint16Pair), __portuguese_brazil_us_accents_to_us_shift }, 4355 { 0, 0 }, // Russian 4356 { sizeof(__slovak_to_us_shift) / sizeof (__Uint16Pair), __slovak_to_us_shift }, 4357 { sizeof(__slovak_qwerty_to_us_shift) / sizeof (__Uint16Pair), __slovak_qwerty_to_us_shift }, 4358 { 0, 0 }, // Slovene 4359 { sizeof(__spanish_to_us_shift) / sizeof (__Uint16Pair), __spanish_to_us_shift }, 4360 { sizeof(__spanish_cp850_to_us_shift) / sizeof (__Uint16Pair), __spanish_cp850_to_us_shift }, 4361 { sizeof(__spanish_latin_america_to_us_shift) / sizeof (__Uint16Pair), __spanish_latin_america_to_us_shift }, 4362 { sizeof(__swedish_to_us_shift) / sizeof (__Uint16Pair), __swedish_to_us_shift }, 4363 { sizeof(__turkish_to_us_shift) / sizeof (__Uint16Pair), __turkish_to_us_shift }, 4364 { sizeof(__uk_to_us_shift) / sizeof (__Uint16Pair), __uk_to_us_shift }, 4365 { sizeof(__icelandic_to_us_shift) / sizeof (__Uint16Pair), __icelandic_to_us_shift }, 4366 { 0, 0 }, // Icelandic 4367 { 0, 0 }, // Ukrainian 4368 }; 4369 4370 static __KeyCodeMap __shift_invert_map [] = 4371 { 4372 { 0, 0 }, 4373 { 0, 0 }, 4374 { sizeof(__us_to_belgian_shift) / sizeof (__Uint16Pair), __us_to_belgian_shift }, 4375 { 0, 0 }, // Croatian 4376 { sizeof(__us_to_czech_shift) / sizeof (__Uint16Pair), __us_to_czech_shift }, 4377 { sizeof(__us_to_czech_qwerty_shift) / sizeof (__Uint16Pair), __us_to_czech_qwerty_shift }, 4378 { sizeof(__us_to_danish_shift) / sizeof (__Uint16Pair), __us_to_danish_shift }, 4379 { 0, 0 }, // Dutch 4380 { sizeof(__us_to_dvorak_shift) / sizeof (__Uint16Pair), __us_to_dvorak_shift }, 4381 { sizeof(__us_to_estonian_shift) / sizeof (__Uint16Pair), __us_to_estonian_shift }, 4382 { sizeof(__us_to_finnish_shift) / sizeof (__Uint16Pair), __us_to_finnish_shift }, 4383 { sizeof(__us_to_french_shift) / sizeof (__Uint16Pair), __us_to_french_shift }, 4384 { 0, 0 }, // French Canadian 4385 { sizeof(__us_to_french_switzerland_shift) / sizeof (__Uint16Pair), __us_to_french_switzerland_shift }, 4386 { sizeof(__us_to_german_shift) / sizeof (__Uint16Pair), __us_to_german_shift }, 4387 { sizeof(__us_to_german_deadkeys_shift) / sizeof (__Uint16Pair), __us_to_german_deadkeys_shift }, 4388 { sizeof(__us_to_german_swiss_shift) / sizeof (__Uint16Pair), __us_to_german_swiss_shift }, 4389 { 0, 0 }, // Greek 4390 { sizeof(__us_to_hungarian_shift) / sizeof (__Uint16Pair), __us_to_hungarian_shift }, 4391 { sizeof(__us_to_italian_shift) / sizeof (__Uint16Pair), __us_to_italian_shift }, 4392 { sizeof(__us_to_japanese_shift) / sizeof (__Uint16Pair), __us_to_japanese_shift }, 4393 { sizeof(__us_to_norwegian_shift) / sizeof (__Uint16Pair), __us_to_norwegian_shift }, 4394 { 0, 0 }, // Polish 4395 { sizeof(__us_to_portuguese_shift) / sizeof (__Uint16Pair), __us_to_portuguese_shift }, 4396 { sizeof(__us_to_portuguese_brazil_shift) / sizeof (__Uint16Pair), __us_to_portuguese_brazil_shift }, 4397 { sizeof(__us_to_portuguese_brazil_us_accents_shift) / sizeof (__Uint16Pair), __us_to_portuguese_brazil_us_accents_shift }, 4398 { 0, 0 }, // Russian 4399 { sizeof(__us_to_slovak_shift) / sizeof (__Uint16Pair), __us_to_slovak_shift }, 4400 { sizeof(__us_to_slovak_qwerty_shift) / sizeof (__Uint16Pair), __us_to_slovak_qwerty_shift }, 4401 { 0, 0 }, // Slovene 4402 { sizeof(__us_to_spanish_shift) / sizeof (__Uint16Pair), __us_to_spanish_shift }, 4403 { sizeof(__us_to_spanish_cp850_shift) / sizeof (__Uint16Pair), __us_to_spanish_cp850_shift }, 4404 { sizeof(__us_to_spanish_latin_america_shift) / sizeof (__Uint16Pair), __us_to_spanish_latin_america_shift }, 4405 { sizeof(__us_to_swedish_shift) / sizeof (__Uint16Pair), __us_to_swedish_shift }, 4406 { sizeof(__us_to_turkish_shift) / sizeof (__Uint16Pair), __us_to_turkish_shift }, 4407 { sizeof(__us_to_uk_shift) / sizeof (__Uint16Pair), __us_to_uk_shift }, 4408 { sizeof(__us_to_icelandic_shift) / sizeof (__Uint16Pair), __us_to_icelandic_shift }, 4409 { 0, 0 }, // Icelandic 4410 { 0, 0 }, // Ukrainian 4411 }; 4412 4413 static __KeyCodeMap __caps_shift_map [] = 4414 { 4415 { 0, 0 }, 4416 { 0, 0 }, 4417 { sizeof(__belgian_to_us_caps_shift) / sizeof (__Uint16Pair), __belgian_to_us_caps_shift }, 4418 { 0, 0 }, // Croatian 4419 { sizeof(__czech_to_us_caps_shift) / sizeof (__Uint16Pair), __czech_to_us_caps_shift }, 4420 { sizeof(__czech_qwerty_to_us_caps_shift) / sizeof (__Uint16Pair), __czech_qwerty_to_us_caps_shift }, 4421 { sizeof(__danish_to_us_caps_shift) / sizeof (__Uint16Pair), __danish_to_us_caps_shift }, 4422 { 0, 0 }, // Dutch 4423 { sizeof(__dvorak_to_us_caps_shift) / sizeof (__Uint16Pair), __dvorak_to_us_caps_shift }, 4424 { sizeof(__estonian_to_us_caps_shift) / sizeof (__Uint16Pair), __estonian_to_us_caps_shift }, 4425 { sizeof(__finnish_to_us_caps_shift) / sizeof (__Uint16Pair), __finnish_to_us_caps_shift }, 4426 { sizeof(__french_to_us_caps_shift) / sizeof (__Uint16Pair), __french_to_us_caps_shift }, 4427 { 0, 0 }, // French Canadian 4428 { sizeof(__french_switzerland_to_us_caps_shift) / sizeof (__Uint16Pair), __french_switzerland_to_us_caps_shift }, 4429 { sizeof(__german_to_us_caps_shift) / sizeof (__Uint16Pair), __german_to_us_caps_shift }, 4430 { sizeof(__german_deadkeys_to_us_caps_shift) / sizeof (__Uint16Pair), __german_deadkeys_to_us_caps_shift }, 4431 { sizeof(__german_swiss_to_us_caps_shift) / sizeof (__Uint16Pair), __german_swiss_to_us_caps_shift }, 4432 { 0, 0 }, // Greek 4433 { sizeof(__hungarian_to_us_caps_shift) / sizeof (__Uint16Pair), __hungarian_to_us_caps_shift }, 4434 { sizeof(__italian_to_us_caps_shift) / sizeof (__Uint16Pair), __italian_to_us_caps_shift }, 4435 { sizeof(__japanese_to_us_caps_shift) / sizeof (__Uint16Pair), __japanese_to_us_caps_shift }, 4436 { sizeof(__norwegian_to_us_caps_shift) / sizeof (__Uint16Pair), __norwegian_to_us_caps_shift }, 4437 { 0, 0 }, // Polish 4438 { sizeof(__portuguese_to_us_caps_shift) / sizeof (__Uint16Pair), __portuguese_to_us_caps_shift }, 4439 { sizeof(__portuguese_brazil_to_us_caps_shift) / sizeof (__Uint16Pair), __portuguese_brazil_to_us_caps_shift }, 4440 { sizeof(__portuguese_brazil_us_accents_to_us_caps_shift) / sizeof (__Uint16Pair), __portuguese_brazil_us_accents_to_us_caps_shift }, 4441 { 0, 0 }, // Russian 4442 { sizeof(__slovak_to_us_caps_shift) / sizeof (__Uint16Pair), __slovak_to_us_caps_shift }, 4443 { sizeof(__slovak_qwerty_to_us_caps_shift) / sizeof (__Uint16Pair), __slovak_qwerty_to_us_caps_shift }, 4444 { 0, 0 }, // Slovene 4445 { sizeof(__spanish_to_us_caps_shift) / sizeof (__Uint16Pair), __spanish_to_us_caps_shift }, 4446 { sizeof(__spanish_cp850_to_us_caps_shift) / sizeof (__Uint16Pair), __spanish_cp850_to_us_caps_shift }, 4447 { sizeof(__spanish_latin_america_to_us_caps_shift) / sizeof (__Uint16Pair), __spanish_latin_america_to_us_caps_shift }, 4448 { sizeof(__swedish_to_us_caps_shift) / sizeof (__Uint16Pair), __swedish_to_us_caps_shift }, 4449 { sizeof(__turkish_to_us_caps_shift) / sizeof (__Uint16Pair), __turkish_to_us_caps_shift }, 4450 { sizeof(__uk_to_us_caps_shift) / sizeof (__Uint16Pair), __uk_to_us_caps_shift }, 4451 { sizeof(__icelandic_to_us_caps_shift) / sizeof (__Uint16Pair), __icelandic_to_us_caps_shift }, 4452 { 0, 0 }, // Icelandic 4453 { 0, 0 }, // Ukrainian 4454 }; 4455 4456 static __KeyCodeMap __caps_shift_invert_map [] = 4457 { 4458 { 0, 0 }, 4459 { 0, 0 }, 4460 { sizeof(__us_to_belgian_caps_shift) / sizeof (__Uint16Pair), __us_to_belgian_caps_shift }, 4461 { 0, 0 }, // Croatian 4462 { sizeof(__us_to_czech_caps_shift) / sizeof (__Uint16Pair), __us_to_czech_caps_shift }, 4463 { sizeof(__us_to_czech_qwerty_caps_shift) / sizeof (__Uint16Pair), __us_to_czech_qwerty_caps_shift }, 4464 { sizeof(__us_to_danish_caps_shift) / sizeof (__Uint16Pair), __us_to_danish_caps_shift }, 4465 { 0, 0 }, // Dutch 4466 { sizeof(__us_to_dvorak_caps_shift) / sizeof (__Uint16Pair), __us_to_dvorak_caps_shift }, 4467 { sizeof(__us_to_estonian_caps_shift) / sizeof (__Uint16Pair), __us_to_estonian_caps_shift }, 4468 { sizeof(__us_to_finnish_caps_shift) / sizeof (__Uint16Pair), __us_to_finnish_caps_shift }, 4469 { sizeof(__us_to_french_caps_shift) / sizeof (__Uint16Pair), __us_to_french_caps_shift }, 4470 { 0, 0 }, // French Canadian 4471 { sizeof(__us_to_french_switzerland_caps_shift) / sizeof (__Uint16Pair), __us_to_french_switzerland_caps_shift }, 4472 { sizeof(__us_to_german_caps_shift) / sizeof (__Uint16Pair), __us_to_german_caps_shift }, 4473 { sizeof(__us_to_german_deadkeys_caps_shift) / sizeof (__Uint16Pair), __us_to_german_deadkeys_caps_shift }, 4474 { sizeof(__us_to_german_swiss_caps_shift) / sizeof (__Uint16Pair), __us_to_german_swiss_caps_shift }, 4475 { 0, 0 }, // Greek 4476 { sizeof(__us_to_hungarian_caps_shift) / sizeof (__Uint16Pair), __us_to_hungarian_caps_shift }, 4477 { sizeof(__us_to_italian_caps_shift) / sizeof (__Uint16Pair), __us_to_italian_caps_shift }, 4478 { sizeof(__us_to_japanese_caps_shift) / sizeof (__Uint16Pair), __us_to_japanese_caps_shift }, 4479 { sizeof(__us_to_norwegian_caps_shift) / sizeof (__Uint16Pair), __us_to_norwegian_caps_shift }, 4480 { 0, 0 }, // Polish 4481 { sizeof(__us_to_portuguese_caps_shift) / sizeof (__Uint16Pair), __us_to_portuguese_caps_shift }, 4482 { sizeof(__us_to_portuguese_brazil_caps_shift) / sizeof (__Uint16Pair), __us_to_portuguese_brazil_caps_shift }, 4483 { sizeof(__us_to_portuguese_brazil_us_accents_caps_shift) / sizeof (__Uint16Pair), __us_to_portuguese_brazil_us_accents_caps_shift }, 4484 { 0, 0 }, // Russian 4485 { sizeof(__us_to_slovak_caps_shift) / sizeof (__Uint16Pair), __us_to_slovak_caps_shift }, 4486 { sizeof(__us_to_slovak_qwerty_caps_shift) / sizeof (__Uint16Pair), __us_to_slovak_qwerty_caps_shift }, 4487 { 0, 0 }, // Slovene 4488 { sizeof(__us_to_spanish_caps_shift) / sizeof (__Uint16Pair), __us_to_spanish_caps_shift }, 4489 { sizeof(__us_to_spanish_cp850_caps_shift) / sizeof (__Uint16Pair), __us_to_spanish_cp850_caps_shift }, 4490 { sizeof(__us_to_spanish_latin_america_caps_shift) / sizeof (__Uint16Pair), __us_to_spanish_latin_america_caps_shift }, 4491 { sizeof(__us_to_swedish_caps_shift) / sizeof (__Uint16Pair), __us_to_swedish_caps_shift }, 4492 { sizeof(__us_to_turkish_caps_shift) / sizeof (__Uint16Pair), __us_to_turkish_caps_shift }, 4493 { sizeof(__us_to_uk_caps_shift) / sizeof (__Uint16Pair), __us_to_uk_caps_shift }, 4494 { sizeof(__us_to_icelandic_caps_shift) / sizeof (__Uint16Pair), __us_to_icelandic_caps_shift }, 4495 { 0, 0 }, // Icelandic 4496 { 0, 0 }, // Ukrainian 4497 }; 4498 4499 // Keyboard Layout string IDs sorted by code. 4500 static __KeyName __scim_keyboard_layout_ids_by_code [] = 4501 { 4502 {SCIM_KEYBOARD_Unknown ,"Unknown"}, 4503 {SCIM_KEYBOARD_Default ,"US_Default"}, 4504 {SCIM_KEYBOARD_Belgian ,"Belgian"}, 4505 {SCIM_KEYBOARD_Croatian ,"Croatian"}, 4506 {SCIM_KEYBOARD_Czech ,"Czech"}, 4507 {SCIM_KEYBOARD_Czech_Qwerty ,"Czech_Qwerty"}, 4508 {SCIM_KEYBOARD_Danish ,"Danish"}, 4509 {SCIM_KEYBOARD_Dutch ,"Dutch"}, 4510 {SCIM_KEYBOARD_Dvorak ,"Dvorak"}, 4511 {SCIM_KEYBOARD_Estonian ,"Estonian"}, 4512 {SCIM_KEYBOARD_Finnish ,"Finnish"}, 4513 {SCIM_KEYBOARD_French ,"French"}, 4514 {SCIM_KEYBOARD_French_Canadian ,"French_Canadian"}, 4515 {SCIM_KEYBOARD_French_Switzerland ,"French_Switzerland"}, 4516 {SCIM_KEYBOARD_German ,"German"}, 4517 {SCIM_KEYBOARD_German_Deadkeys ,"German_Deadkeys"}, 4518 {SCIM_KEYBOARD_German_Swiss ,"German_Swiss"}, 4519 {SCIM_KEYBOARD_Greek ,"Greek"}, 4520 {SCIM_KEYBOARD_Hungarian ,"Hungarian"}, 4521 {SCIM_KEYBOARD_Italian ,"Italian"}, 4522 {SCIM_KEYBOARD_Japanese ,"Japanese"}, 4523 {SCIM_KEYBOARD_Norwegian ,"Norwegian"}, 4524 {SCIM_KEYBOARD_Polish ,"Polish"}, 4525 {SCIM_KEYBOARD_Portuguese ,"Portuguese"}, 4526 {SCIM_KEYBOARD_Portuguese_Brazil ,"Portuguese_Brazil"}, 4527 {SCIM_KEYBOARD_Portuguese_Brazil_US_Accents ,"Portuguese_Brazil_US_Accents"}, 4528 {SCIM_KEYBOARD_Russian ,"Russian"}, 4529 {SCIM_KEYBOARD_Slovak ,"Slovak"}, 4530 {SCIM_KEYBOARD_Slovak_Qwerty ,"Slovak_Qwerty"}, 4531 {SCIM_KEYBOARD_Slovene ,"Slovene"}, 4532 {SCIM_KEYBOARD_Spanish ,"Spanish"}, 4533 {SCIM_KEYBOARD_Spanish_CP850 ,"Spanish_CP850"}, 4534 {SCIM_KEYBOARD_Spanish_Latin_America ,"Spanish_Latin_America"}, 4535 {SCIM_KEYBOARD_Swedish ,"Swedish"}, 4536 {SCIM_KEYBOARD_Turkish ,"Turkish"}, 4537 {SCIM_KEYBOARD_UK ,"UK"}, 4538 {SCIM_KEYBOARD_Icelandic ,"Icelandic"}, 4539 {SCIM_KEYBOARD_Lithuanian ,"Lithuanian"}, 4540 {SCIM_KEYBOARD_Ukrainian ,"Ukrainian"}, 4541 }; 4542 4543 // Keyboard Layout string IDs sorted by name. 4544 static __KeyName __scim_keyboard_layout_ids_by_name [] = 4545 { 4546 {SCIM_KEYBOARD_Unknown ,"Unknown"}, 4547 {SCIM_KEYBOARD_Default ,"US_Default"}, 4548 {SCIM_KEYBOARD_Belgian ,"Belgian"}, 4549 {SCIM_KEYBOARD_Croatian ,"Croatian"}, 4550 {SCIM_KEYBOARD_Czech ,"Czech"}, 4551 {SCIM_KEYBOARD_Czech_Qwerty ,"Czech_Qwerty"}, 4552 {SCIM_KEYBOARD_Danish ,"Danish"}, 4553 {SCIM_KEYBOARD_Dutch ,"Dutch"}, 4554 {SCIM_KEYBOARD_Dvorak ,"Dvorak"}, 4555 {SCIM_KEYBOARD_Estonian ,"Estonian"}, 4556 {SCIM_KEYBOARD_Finnish ,"Finnish"}, 4557 {SCIM_KEYBOARD_French ,"French"}, 4558 {SCIM_KEYBOARD_French_Canadian ,"French_Canadian"}, 4559 {SCIM_KEYBOARD_French_Switzerland ,"French_Switzerland"}, 4560 {SCIM_KEYBOARD_German ,"German"}, 4561 {SCIM_KEYBOARD_German_Deadkeys ,"German_Deadkeys"}, 4562 {SCIM_KEYBOARD_German_Swiss ,"German_Swiss"}, 4563 {SCIM_KEYBOARD_Greek ,"Greek"}, 4564 {SCIM_KEYBOARD_Hungarian ,"Hungarian"}, 4565 {SCIM_KEYBOARD_Icelandic ,"Icelandic"}, 4566 {SCIM_KEYBOARD_Italian ,"Italian"}, 4567 {SCIM_KEYBOARD_Japanese ,"Japanese"}, 4568 {SCIM_KEYBOARD_Lithuanian ,"Lithuanian"}, 4569 {SCIM_KEYBOARD_Norwegian ,"Norwegian"}, 4570 {SCIM_KEYBOARD_Polish ,"Polish"}, 4571 {SCIM_KEYBOARD_Portuguese ,"Portuguese"}, 4572 {SCIM_KEYBOARD_Portuguese_Brazil ,"Portuguese_Brazil"}, 4573 {SCIM_KEYBOARD_Portuguese_Brazil_US_Accents ,"Portuguese_Brazil_US_Accents"}, 4574 {SCIM_KEYBOARD_Russian ,"Russian"}, 4575 {SCIM_KEYBOARD_Slovak ,"Slovak"}, 4576 {SCIM_KEYBOARD_Slovak_Qwerty ,"Slovak_Qwerty"}, 4577 {SCIM_KEYBOARD_Slovene ,"Slovene"}, 4578 {SCIM_KEYBOARD_Spanish ,"Spanish"}, 4579 {SCIM_KEYBOARD_Spanish_CP850 ,"Spanish_CP850"}, 4580 {SCIM_KEYBOARD_Spanish_Latin_America ,"Spanish_Latin_America"}, 4581 {SCIM_KEYBOARD_Swedish ,"Swedish"}, 4582 {SCIM_KEYBOARD_Turkish ,"Turkish"}, 4583 {SCIM_KEYBOARD_UK ,"UK"}, 4584 {SCIM_KEYBOARD_Ukrainian ,"Ukrainian"}, 4585 }; 4586 4587 4588 // Keyboard Layout display names. 4589 static const char *__scim_keyboard_layout_names [] = 4590 { 4591 N_("Unknown"), 4592 N_("English (US)"), 4593 N_("Belgian"), 4594 N_("Croatian"), 4595 N_("Czech"), 4596 N_("Czech (qwerty)"), 4597 N_("Danish"), 4598 N_("Dutch"), 4599 N_("Dvorak"), 4600 N_("Estonian"), 4601 N_("Finnish"), 4602 N_("French"), 4603 N_("French (Canadian)"), 4604 N_("French (Switzerland)"), 4605 N_("German"), 4606 N_("German (with deadkeys)"), 4607 N_("German (Swiss)"), 4608 N_("Greek"), 4609 N_("Hungarian"), 4610 N_("Italian"), 4611 N_("Japanese"), 4612 N_("Norwegian"), 4613 N_("Polish"), 4614 N_("Portuguese"), 4615 N_("Portuguese (Brazil)"), 4616 N_("Portuguese (Brazil US accents)"), 4617 N_("Russian"), 4618 N_("Slovak"), 4619 N_("Slovak (qwerty)"), 4620 N_("Slovenian"), 4621 N_("Spanish"), 4622 N_("Spanish (CP 850)"), 4623 N_("Spanish (Latin America)"), 4624 N_("Swedish"), 4625 N_("Turkish"), 4626 N_("English (UK)"), 4627 N_("Icelandic"), 4628 N_("Lithuanian"), 4629 N_("Ukrainian"), 4630 }; 4631 4632 /* 4633 vi:ts=4:nowrap:ai:expandtab 4634 */ 4635 4636