xunikey.inc 9.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216
  1. Function X11ConvertKeySymToUnicode(sym : TKeySym) : Integer;
  2. Begin
  3. If (sym >= $20) And (sym <= $7E) Then
  4. Exit(sym);
  5. { Case sym Of
  6. XK_BackSpace : Exit(8);
  7. XK_Tab : Exit(9);
  8. XK_Return : Exit(13);
  9. XK_Escape : Exit(27);
  10. End;}
  11. Case sym Of
  12. XKc_Cyrillic_GHE_bar : Exit($492);
  13. XK_Cyrillic_ghe_bar : Exit($493);
  14. XKc_Cyrillic_ZHE_descender : Exit($496);
  15. XK_Cyrillic_zhe_descender : Exit($497);
  16. XKc_Cyrillic_KA_descender : Exit($49A);
  17. XK_Cyrillic_ka_descender : Exit($49B);
  18. XKc_Cyrillic_KA_vertstroke : Exit($49C);
  19. XK_Cyrillic_ka_vertstroke : Exit($49D);
  20. XKc_Cyrillic_EN_descender : Exit($4A2);
  21. XK_Cyrillic_en_descender : Exit($4A3);
  22. XKc_Cyrillic_U_straight : Exit($4AE);
  23. XK_Cyrillic_u_straight : Exit($4AF);
  24. XKc_Cyrillic_U_straight_bar : Exit($4B0);
  25. XK_Cyrillic_u_straight_bar : Exit($4B1);
  26. XKc_Cyrillic_HA_descender : Exit($4B2);
  27. XK_Cyrillic_ha_descender : Exit($4B3);
  28. XKc_Cyrillic_CHE_descender : Exit($4B6);
  29. XK_Cyrillic_che_descender : Exit($4B7);
  30. XKc_Cyrillic_CHE_vertstroke : Exit($4B8);
  31. XK_Cyrillic_che_vertstroke : Exit($4B9);
  32. XKc_Cyrillic_SHHA : Exit($4BA);
  33. XK_Cyrillic_shha : Exit($4BB);
  34. XKc_Cyrillic_SCHWA : Exit($4D8);
  35. XK_Cyrillic_schwa : Exit($4D9);
  36. XKc_Cyrillic_I_macron : Exit($4E2);
  37. XK_Cyrillic_i_macron : Exit($4E3);
  38. XKc_Cyrillic_O_bar : Exit($4E8);
  39. XK_Cyrillic_o_bar : Exit($4E9);
  40. XKc_Cyrillic_U_macron : Exit($4EE);
  41. XK_Cyrillic_u_macron : Exit($4EF);
  42. XK_Serbian_dje : Exit($452);
  43. XK_Macedonia_gje : Exit($453);
  44. XK_Cyrillic_io : Exit($451);
  45. XK_Ukrainian_ie : Exit($454);
  46. XK_Macedonia_dse : Exit($455);
  47. XK_Ukrainian_i : Exit($456);
  48. XK_Ukrainian_yi : Exit($457);
  49. XK_Cyrillic_je : Exit($458);
  50. XK_Cyrillic_lje : Exit($459);
  51. XK_Cyrillic_nje : Exit($45A);
  52. XK_Serbian_tshe : Exit($45B);
  53. XK_Macedonia_kje : Exit($45C);
  54. XK_Ukrainian_ghe_with_upturn : Exit($491);
  55. XK_Byelorussian_shortu : Exit($45E);
  56. XK_Cyrillic_dzhe : Exit($45F);
  57. XK_numerosign : Exit($2116);
  58. XKc_Serbian_DJE : Exit($402);
  59. XKc_Macedonia_GJE : Exit($403);
  60. XKc_Cyrillic_IO : Exit($401);
  61. XKc_Ukrainian_IE : Exit($404);
  62. XKc_Macedonia_DSE : Exit($405);
  63. XKc_Ukrainian_I : Exit($406);
  64. XKc_Ukrainian_YI : Exit($407);
  65. XKc_Cyrillic_JE : Exit($408);
  66. XKc_Cyrillic_LJE : Exit($409);
  67. XKc_Cyrillic_NJE : Exit($40A);
  68. XKc_Serbian_TSHE : Exit($40B);
  69. XKc_Macedonia_KJE : Exit($40C);
  70. XKc_Ukrainian_GHE_WITH_UPTURN : Exit($490);
  71. XKc_Byelorussian_SHORTU : Exit($40E);
  72. XKc_Cyrillic_DZHE : Exit($40F);
  73. XK_Cyrillic_yu : Exit($44E);
  74. XK_Cyrillic_a : Exit($430);
  75. XK_Cyrillic_be : Exit($431);
  76. XK_Cyrillic_tse : Exit($446);
  77. XK_Cyrillic_de : Exit($434);
  78. XK_Cyrillic_ie : Exit($435);
  79. XK_Cyrillic_ef : Exit($444);
  80. XK_Cyrillic_ghe : Exit($433);
  81. XK_Cyrillic_ha : Exit($445);
  82. XK_Cyrillic_i : Exit($438);
  83. XK_Cyrillic_shorti : Exit($439);
  84. XK_Cyrillic_ka : Exit($43A);
  85. XK_Cyrillic_el : Exit($43B);
  86. XK_Cyrillic_em : Exit($43C);
  87. XK_Cyrillic_en : Exit($43D);
  88. XK_Cyrillic_o : Exit($43E);
  89. XK_Cyrillic_pe : Exit($43F);
  90. XK_Cyrillic_ya : Exit($44F);
  91. XK_Cyrillic_er : Exit($440);
  92. XK_Cyrillic_es : Exit($441);
  93. XK_Cyrillic_te : Exit($442);
  94. XK_Cyrillic_u : Exit($443);
  95. XK_Cyrillic_zhe : Exit($436);
  96. XK_Cyrillic_ve : Exit($432);
  97. XK_Cyrillic_softsign : Exit($44C);
  98. XK_Cyrillic_yeru : Exit($44B);
  99. XK_Cyrillic_ze : Exit($437);
  100. XK_Cyrillic_sha : Exit($448);
  101. XK_Cyrillic_e : Exit($44D);
  102. XK_Cyrillic_shcha : Exit($449);
  103. XK_Cyrillic_che : Exit($447);
  104. XK_Cyrillic_hardsign : Exit($44A);
  105. XKc_Cyrillic_YU : Exit($42E);
  106. XKc_Cyrillic_A : Exit($410);
  107. XKc_Cyrillic_BE : Exit($411);
  108. XKc_Cyrillic_TSE : Exit($426);
  109. XKc_Cyrillic_DE : Exit($414);
  110. XKc_Cyrillic_IE : Exit($415);
  111. XKc_Cyrillic_EF : Exit($424);
  112. XKc_Cyrillic_GHE : Exit($413);
  113. XKc_Cyrillic_HA : Exit($425);
  114. XKc_Cyrillic_I : Exit($418);
  115. XKc_Cyrillic_SHORTI : Exit($419);
  116. XKc_Cyrillic_KA : Exit($41A);
  117. XKc_Cyrillic_EL : Exit($41B);
  118. XKc_Cyrillic_EM : Exit($41C);
  119. XKc_Cyrillic_EN : Exit($41D);
  120. XKc_Cyrillic_O : Exit($41E);
  121. XKc_Cyrillic_PE : Exit($41F);
  122. XKc_Cyrillic_YA : Exit($42F);
  123. XKc_Cyrillic_ER : Exit($420);
  124. XKc_Cyrillic_ES : Exit($421);
  125. XKc_Cyrillic_TE : Exit($422);
  126. XKc_Cyrillic_U : Exit($423);
  127. XKc_Cyrillic_ZHE : Exit($416);
  128. XKc_Cyrillic_VE : Exit($412);
  129. XKc_Cyrillic_SOFTSIGN : Exit($42C);
  130. XKc_Cyrillic_YERU : Exit($42B);
  131. XKc_Cyrillic_ZE : Exit($417);
  132. XKc_Cyrillic_SHA : Exit($428);
  133. XKc_Cyrillic_E : Exit($42D);
  134. XKc_Cyrillic_SHCHA : Exit($429);
  135. XKc_Cyrillic_CHE : Exit($427);
  136. XKc_Cyrillic_HARDSIGN : Exit($42A);
  137. { XKc_Greek_ALPHAaccent : Exit($);
  138. XKc_Greek_EPSILONaccent : Exit($);
  139. XKc_Greek_ETAaccent : Exit($);
  140. XKc_Greek_IOTAaccent : Exit($);
  141. XKc_Greek_IOTAdieresis : Exit($);
  142. XKc_Greek_OMICRONaccent : Exit($);
  143. XKc_Greek_UPSILONaccent : Exit($);
  144. XKc_Greek_UPSILONdieresis : Exit($);
  145. XKc_Greek_OMEGAaccent : Exit($);
  146. XK_Greek_accentdieresis : Exit($);
  147. XK_Greek_horizbar : Exit($);
  148. XK_Greek_alphaaccent : Exit($);
  149. XK_Greek_epsilonaccent : Exit($);
  150. XK_Greek_etaaccent : Exit($);
  151. XK_Greek_iotaaccent : Exit($);
  152. XK_Greek_iotadieresis : Exit($);
  153. XK_Greek_iotaaccentdieresis : Exit($);
  154. XK_Greek_omicronaccent : Exit($);
  155. XK_Greek_upsilonaccent : Exit($);
  156. XK_Greek_upsilondieresis : Exit($);
  157. XK_Greek_upsilonaccentdieresis : Exit($);
  158. XK_Greek_omegaaccent : Exit($);}
  159. XKc_Greek_ALPHA : Exit($391);
  160. XKc_Greek_BETA : Exit($392);
  161. XKc_Greek_GAMMA : Exit($393);
  162. XKc_Greek_DELTA : Exit($394);
  163. XKc_Greek_EPSILON : Exit($395);
  164. XKc_Greek_ZETA : Exit($396);
  165. XKc_Greek_ETA : Exit($397);
  166. XKc_Greek_THETA : Exit($398);
  167. XKc_Greek_IOTA : Exit($399);
  168. XKc_Greek_KAPPA : Exit($39A);
  169. XKc_Greek_LAMDA : Exit($39B);
  170. XKc_Greek_MU : Exit($39C);
  171. XKc_Greek_NU : Exit($39D);
  172. XKc_Greek_XI : Exit($39E);
  173. XKc_Greek_OMICRON : Exit($39F);
  174. XKc_Greek_PI : Exit($3A0);
  175. XKc_Greek_RHO : Exit($3A1);
  176. XKc_Greek_SIGMA : Exit($3A3);
  177. XKc_Greek_TAU : Exit($3A4);
  178. XKc_Greek_UPSILON : Exit($3A5);
  179. XKc_Greek_PHI : Exit($3A6);
  180. XKc_Greek_CHI : Exit($3A7);
  181. XKc_Greek_PSI : Exit($3A8);
  182. XKc_Greek_OMEGA : Exit($3A9);
  183. XK_Greek_alpha : Exit($3B1);
  184. XK_Greek_beta : Exit($3B2);
  185. XK_Greek_gamma : Exit($3B3);
  186. XK_Greek_delta : Exit($3B4);
  187. XK_Greek_epsilon : Exit($3B5);
  188. XK_Greek_zeta : Exit($3B6);
  189. XK_Greek_eta : Exit($3B7);
  190. XK_Greek_theta : Exit($3B8);
  191. XK_Greek_iota : Exit($3B9);
  192. XK_Greek_kappa : Exit($3BA);
  193. XK_Greek_lamda : Exit($3BB);
  194. XK_Greek_mu : Exit($3BC);
  195. XK_Greek_nu : Exit($3BD);
  196. XK_Greek_xi : Exit($3BE);
  197. XK_Greek_omicron : Exit($3BF);
  198. XK_Greek_pi : Exit($3C0);
  199. XK_Greek_rho : Exit($3C1);
  200. XK_Greek_sigma : Exit($3C2);
  201. XK_Greek_finalsmallsigma : Exit($3C3);
  202. XK_Greek_tau : Exit($3C4);
  203. XK_Greek_upsilon : Exit($3C5);
  204. XK_Greek_phi : Exit($3C6);
  205. XK_Greek_chi : Exit($3C7);
  206. XK_Greek_psi : Exit($3C8);
  207. XK_Greek_omega : Exit($3C9);
  208. End;
  209. X11ConvertKeySymToUnicode := -1;
  210. End;