1 2{$IFDEF OGC_INTERFACE} 3VAR 4 KS_BackSpace: byte = $08; 5 KS_Tab: byte = $09; 6 KS_Linefeed: byte = $0a; 7 KS_Clear: byte = $0b; 8 KS_Return: byte = $0d; 9 KS_Escape: byte = $1b; 10 KS_space: byte = $20; 11 KS_exclam: byte = $21; 12 KS_quotedbl: byte = $22; 13 KS_numbersign: byte = $23; 14 KS_dollar: byte = $24; 15 KS_percent: byte = $25; 16 KS_ampersand: byte = $26; 17 KS_apostrophe: byte = $27; 18 KS_parenleft: byte = $28; 19 KS_parenright: byte = $29; 20 KS_asterisk: byte = $2a; 21 KS_plus: byte = $2b; 22 KS_comma: byte = $2c; 23 KS_minus: byte = $2d; 24 KS_period: byte = $2e; 25 KS_slash: byte = $2f; 26 KS_0: byte = $30; 27 KS_1: byte = $31; 28 KS_2: byte = $32; 29 KS_3: byte = $33; 30 KS_4: byte = $34; 31 KS_5: byte = $35; 32 KS_6: byte = $36; 33 KS_7: byte = $37; 34 KS_8: byte = $38; 35 KS_9: byte = $39; 36 KS_colon: byte = $3a; 37 KS_semicolon: byte = $3b; 38 KS_less: byte = $3c; 39 KS_equal: byte = $3d; 40 KS_greater: byte = $3e; 41 KS_question: byte = $3f; 42 KS_at: byte = $40; 43 44 KS_A: byte = $41; public name 'KS_A'; 45 KS_B: byte = $42; public name 'KS_B'; 46 KS_C: byte = $43; public name 'KS_C'; 47 KS_D: byte = $44; public name 'KS_D'; 48 KS_E: byte = $45; public name 'KS_E'; 49 KS_F: byte = $46; public name 'KS_F'; 50 KS_G: byte = $47; public name 'KS_G'; 51 KS_H: byte = $48; public name 'KS_H'; 52 KS_I: byte = $49; public name 'KS_I'; 53 KS_J: byte = $4a; public name 'KS_J'; 54 KS_K: byte = $4b; public name 'KS_K'; 55 KS_L: byte = $4c; public name 'KS_L'; 56 KS_M: byte = $4d; public name 'KS_M'; 57 KS_N: byte = $4e; public name 'KS_N'; 58 KS_O: byte = $4f; public name 'KS_O'; 59 KS_P: byte = $50; public name 'KS_P'; 60 KS_Q: byte = $51; public name 'KS_Q'; 61 KS_R: byte = $52; public name 'KS_R'; 62 KS_S: byte = $53; public name 'KS_S'; 63 KS_T: byte = $54; public name 'KS_T'; 64 KS_U: byte = $55; public name 'KS_U'; 65 KS_V: byte = $56; public name 'KS_V'; 66 KS_W: byte = $57; public name 'KS_W'; 67 KS_X: byte = $58; public name 'KS_X'; 68 KS_Y: byte = $59; public name 'KS_Y'; 69 KS_Z: byte = $5a; public name 'KS_Z'; 70 71 KS_bracketleft: byte = $5b; 72 KS_backslash: byte = $5c; 73 KS_bracketright: byte = $5d; 74 KS_asciicircum: byte = $5e; 75 KS_underscore: byte = $5f; 76 KS_grave: byte = $60; 77 78 KS_a_: byte = $61; public name 'KS_a'; 79 KS_b_: byte = $62; public name 'KS_b'; 80 KS_c_: byte = $63; public name 'KS_c'; 81 KS_d_: byte = $64; public name 'KS_d'; 82 KS_e_: byte = $65; public name 'KS_e'; 83 KS_f_: byte = $66; public name 'KS_f'; 84 KS_g_: byte = $67; public name 'KS_g'; 85 KS_h_: byte = $68; public name 'KS_h'; 86 KS_i_: byte = $69; public name 'KS_i'; 87 KS_j_: byte = $6a; public name 'KS_j'; 88 KS_k_: byte = $6b; public name 'KS_k'; 89 KS_l_: byte = $6c; public name 'KS_l'; 90 KS_m_: byte = $6d; public name 'KS_m'; 91 KS_n_: byte = $6e; public name 'KS_n'; 92 KS_o_: byte = $6f; public name 'KS_o'; 93 KS_p_: byte = $70; public name 'KS_p'; 94 KS_q_: byte = $71; public name 'KS_q'; 95 KS_r_: byte = $72; public name 'KS_r'; 96 KS_s_: byte = $73; public name 'KS_s'; 97 KS_t_: byte = $74; public name 'KS_t'; 98 KS_u_: byte = $75; public name 'KS_u'; 99 KS_v_: byte = $76; public name 'KS_v'; 100 KS_w_: byte = $77; public name 'KS_w'; 101 KS_x_: byte = $78; public name 'KS_x'; 102 KS_y_: byte = $79; public name 'KS_y'; 103 KS_z_: byte = $7a; public name 'KS_z'; 104 105 KS_braceleft: byte = $7b; 106 KS_bar: byte = $7c; 107 KS_braceright: byte = $7d; 108 KS_asciitilde: byte = $7e; 109 KS_Delete: byte = $7f; 110 KS_nobreakspace: byte = $a0; 111 KS_exclamdown: byte = $a1; 112 KS_cent: byte = $a2; 113 KS_sterling: byte = $a3; 114 KS_currency: byte = $a4; 115 KS_yen: byte = $a5; 116 KS_brokenbar: byte = $a6; 117 KS_section: byte = $a7; 118 KS_diaeresis: byte = $a8; 119 KS_copyright: byte = $a9; 120 KS_ordfeminine: byte = $aa; 121 KS_guillemotleft: byte = $ab; 122 KS_notsign: byte = $ac; 123 KS_hyphen: byte = $ad; 124 KS_registered: byte = $ae; 125 KS_macron: byte = $af; 126 KS_degree: byte = $b0; 127 KS_plusminus: byte = $b1; 128 KS_twosuperior: byte = $b2; 129 KS_threesuperior: byte = $b3; 130 KS_acute: byte = $b4; 131 KS_mu: byte = $b5; 132 KS_paragraph: byte = $b6; 133 KS_periodcentered: byte = $b7; 134 KS_cedilla: byte = $b8; 135 KS_onesuperior: byte = $b9; 136 KS_masculine: byte = $ba; 137 KS_guillemotright: byte = $bb; 138 KS_onequarter: byte = $bc; 139 KS_onehalf: byte = $bd; 140 KS_threequarters: byte = $be; 141 KS_questiondown: byte = $bf; 142 KS_Agrave: byte = $c0; public name 'KS_Agrave'; 143 KS_Aacute: byte = $c1; public name 'KS_Aacute'; 144 KS_Acircumflex: byte = $c2; public name 'KS_Acircumflex'; 145 KS_Atilde: byte = $c3; public name 'KS_Atilde'; 146 KS_Adiaeresis: byte = $c4; public name 'KS_Adiaeresis'; 147 KS_Aring: byte = $c5; public name 'KS_Aring'; 148 KS_AE: byte = $c6; public name 'KS_AE'; 149 KS_Ccedilla: byte = $c7; public name 'KS_Ccedilla'; 150 KS_Egrave: byte = $c8; public name 'KS_Egrave'; 151 KS_Eacute: byte = $c9; public name 'KS_Eacute'; 152 KS_Ecircumflex: byte = $ca; public name 'KS_Ecircumflex'; 153 KS_Ediaeresis: byte = $cb; public name 'KS_Ediaeresis'; 154 KS_Igrave: byte = $cc; public name 'KS_Igrave'; 155 KS_Iacute: byte = $cd; public name 'KS_Iacute'; 156 KS_Icircumflex: byte = $ce; public name 'KS_Icircumflex'; 157 KS_Idiaeresis: byte = $cf; public name 'KS_Idiaeresis'; 158 KS_ETH: byte = $d0; public name 'KS_ETH'; 159 KS_Ntilde: byte = $d1; public name 'KS_Ntilde'; 160 KS_Ograve: byte = $d2; public name 'KS_Ograve'; 161 KS_Oacute: byte = $d3; public name 'KS_Oacute'; 162 KS_Ocircumflex: byte = $d4; public name 'KS_Ocircumflex'; 163 KS_Otilde: byte = $d5; public name 'KS_Otilde'; 164 KS_Odiaeresis: byte = $d6; public name 'KS_Odiaeresis'; 165 KS_multiply: byte = $d7; 166 KS_Ooblique: byte = $d8; public name 'KS_Ooblique'; 167 KS_Ugrave: byte = $d9; public name 'KS_Ugrave'; 168 KS_Uacute: byte = $da; public name 'KS_Uacute'; 169 KS_Ucircumflex: byte = $db; public name 'KS_Ucircumflex'; 170 KS_Udiaeresis: byte = $dc; public name 'KS_Udiaeresis'; 171 KS_Yacute: byte = $dd; public name 'KS_Yacute'; 172 KS_THORN: byte = $de; public name 'KS_THORN'; 173 KS_ssharp: byte = $df; 174 KS_agrave_: byte = $e0; public name 'KS_agrave'; 175 KS_aacute_: byte = $e1; public name 'KS_aacute'; 176 KS_acircumflex_: byte = $e2; public name 'KS_acircumflex'; 177 KS_atilde_: byte = $e3; public name 'KS_atilde'; 178 KS_adiaeresis_: byte = $e4; public name 'KS_adiaeresis'; 179 KS_aring_: byte = $e5; public name 'KS_aring'; 180 KS_ae_: byte = $e6; public name 'KS_ae'; 181 KS_ccedilla_: byte = $e7; public name 'KS_ccedilla'; 182 KS_egrave_: byte = $e8; public name 'KS_egrave'; 183 KS_eacute_: byte = $e9; public name 'KS_eacute'; 184 KS_ecircumflex_: byte = $ea; public name 'KS_ecircumflex'; 185 KS_ediaeresis_: byte = $eb; public name 'KS_ediaeresis'; 186 KS_igrave_: byte = $ec; public name 'KS_igrave'; 187 KS_iacute_: byte = $ed; public name 'KS_iacute'; 188 KS_icircumflex_: byte = $ee; public name 'KS_icircumflex'; 189 KS_idiaeresis_: byte = $ef; public name 'KS_idiaeresis'; 190 KS_eth_: byte = $f0; public name 'KS_eth'; 191 KS_ntilde_: byte = $f1; public name 'KS_ntilde'; 192 KS_ograve_: byte = $f2; public name 'KS_ograve'; 193 KS_oacute_: byte = $f3; public name 'KS_oacute'; 194 KS_ocircumflex_: byte = $f4; public name 'KS_ocircumflex'; 195 KS_otilde_: byte = $f5; public name 'KS_otilde'; 196 KS_odiaeresis_: byte = $f6; public name 'KS_odiaeresis'; 197 KS_division: byte = $f7; 198 KS_oslash: byte = $f8; 199 KS_ugrave_: byte = $f9; public name 'KS_ugrave'; 200 KS_uacute_: byte = $fa; public name 'KS_uacute'; 201 KS_ucircumflex_: byte = $fb; public name 'KS_ucircumflex'; 202 KS_udiaeresis_: byte = $fc; public name 'KS_udiaeresis'; 203 KS_yacute_: byte = $fd; public name 'KS_yacute'; 204 KS_thorn_: byte = $fe; public name 'KS_thorn'; 205 KS_ydiaeresis_: byte = $ff; public name 'KS_ydiaeresis'; 206 KS_Odoubleacute: word = $150; public name 'KS_Odoubleacute'; 207 KS_odoubleacute_: word = $151; public name 'KS_odoubleacute'; 208 KS_Udoubleacute: word = $170; public name 'KS_Udoubleacute'; 209 KS_udoubleacute_: word = $171; public name 'KS_udoubleacute'; 210 (* 211 * Group Dead (dead accents) 212 *) 213 214 215 KS_dead_grave: word = $0300; 216 KS_dead_acute: word = $0301; 217 KS_dead_circumflex: word = $0302; 218 KS_dead_tilde: word = $0303; 219 KS_dead_diaeresis: word = $0308; 220 KS_dead_abovering: word = $030a; 221 KS_dead_cedilla: word = $0327; 222 (* 223 * Group Cyrillic (koi8-r) 224 *) 225 226 227 KS_Cyrillic_A: byte = $e1; public name 'KS_Cyrillic_A'; 228 KS_Cyrillic_BE: byte = $e2; public name 'KS_Cyrillic_BE'; 229 KS_Cyrillic_VE: byte = $f7; public name 'KS_Cyrillic_VE'; 230 KS_Cyrillic_GE: byte = $e7; public name 'KS_Cyrillic_GE'; 231 KS_Cyrillic_DE: byte = $e4; public name 'KS_Cyrillic_DE'; 232 KS_Cyrillic_IE: byte = $e5; public name 'KS_Cyrillic_IE'; 233 KS_Cyrillic_YO: byte = $b3; public name 'KS_Cyrillic_YO'; 234 KS_Cyrillic_ZHE: byte = $f6; public name 'KS_Cyrillic_ZHE'; 235 KS_Cyrillic_ZE: byte = $fa; public name 'KS_Cyrillic_ZE'; 236 KS_Cyrillic_I: byte = $e9; public name 'KS_Cyrillic_I'; 237 KS_Cyrillic_ISHORT: byte = $ea; public name 'KS_Cyrillic_ISHORT'; 238 KS_Cyrillic_IUKR: byte = $b6; public name 'KS_Cyrillic_IUKR'; 239 KS_Cyrillic_YI: byte = $b7; public name 'KS_Cyrillic_YI'; 240 KS_Cyrillic_KA: byte = $eb; public name 'KS_Cyrillic_KA'; 241 KS_Cyrillic_EL: byte = $ec; public name 'KS_Cyrillic_EL'; 242 KS_Cyrillic_EM: byte = $ed; public name 'KS_Cyrillic_EM'; 243 KS_Cyrillic_EN: byte = $ee; public name 'KS_Cyrillic_EN'; 244 KS_Cyrillic_O: byte = $ef; public name 'KS_Cyrillic_O'; 245 KS_Cyrillic_PE: byte = $f0; public name 'KS_Cyrillic_PE'; 246 KS_Cyrillic_ER: byte = $f2; public name 'KS_Cyrillic_ER'; 247 KS_Cyrillic_ES: byte = $f3; public name 'KS_Cyrillic_ES'; 248 KS_Cyrillic_TE: byte = $f4; public name 'KS_Cyrillic_TE'; 249 KS_Cyrillic_U: byte = $f5; public name 'KS_Cyrillic_U'; 250 KS_Cyrillic_EF: byte = $e6; public name 'KS_Cyrillic_EF'; 251 KS_Cyrillic_HA: byte = $e8; public name 'KS_Cyrillic_HA'; 252 KS_Cyrillic_TSE: byte = $e3; public name 'KS_Cyrillic_TSE'; 253 KS_Cyrillic_CHE: byte = $fe; public name 'KS_Cyrillic_CHE'; 254 KS_Cyrillic_SHA: byte = $fb; public name 'KS_Cyrillic_SHA'; 255 KS_Cyrillic_SCHA: byte = $fd; public name 'KS_Cyrillic_SCHA'; 256 KS_Cyrillic_HSIGHN: byte = $ff; public name 'KS_Cyrillic_HSIGHN'; 257 KS_Cyrillic_YERU: byte = $f9; public name 'KS_Cyrillic_YERU'; 258 KS_Cyrillic_SSIGHN: byte = $f8; public name 'KS_Cyrillic_SSIGHN'; 259 KS_Cyrillic_E: byte = $fc; public name 'KS_Cyrillic_E'; 260 KS_Cyrillic_YU: byte = $e0; public name 'KS_Cyrillic_YU'; 261 KS_Cyrillic_YA: byte = $f1; public name 'KS_Cyrillic_YA'; 262 KS_Cyrillic_a_: byte = $c1; public name 'KS_Cyrillic_a'; 263 KS_Cyrillic_be_: byte = $c2; public name 'KS_Cyrillic_be'; 264 KS_Cyrillic_ve_: byte = $d7; public name 'KS_Cyrillic_ve'; 265 KS_Cyrillic_ge_: byte = $c7; public name 'KS_Cyrillic_ge'; 266 KS_Cyrillic_de_: byte = $c4; public name 'KS_Cyrillic_de'; 267 KS_Cyrillic_ie_: byte = $c5; public name 'KS_Cyrillic_ie'; 268 KS_Cyrillic_yo_: byte = $a3; public name 'KS_Cyrillic_yo'; 269 KS_Cyrillic_zhe_: byte = $d6; public name 'KS_Cyrillic_zhe'; 270 KS_Cyrillic_ze_: byte = $da; public name 'KS_Cyrillic_ze'; 271 KS_Cyrillic_i_: byte = $c9; public name 'KS_Cyrillic_i'; 272 KS_Cyrillic_ishort_: byte = $ca; public name 'KS_Cyrillic_ishort'; 273 KS_Cyrillic_iukr_: byte = $a6; public name 'KS_Cyrillic_iukr'; 274 KS_Cyrillic_yi_: byte = $a7; public name 'KS_Cyrillic_yi'; 275 KS_Cyrillic_ka_: byte = $cb; public name 'KS_Cyrillic_ka'; 276 KS_Cyrillic_el_: byte = $cc; public name 'KS_Cyrillic_el'; 277 KS_Cyrillic_em_: byte = $cd; public name 'KS_Cyrillic_em'; 278 KS_Cyrillic_en_: byte = $ce; public name 'KS_Cyrillic_en'; 279 KS_Cyrillic_o_: byte = $cf; public name 'KS_Cyrillic_o'; 280 KS_Cyrillic_pe_: byte = $d0; public name 'KS_Cyrillic_pe'; 281 KS_Cyrillic_er_: byte = $d2; public name 'KS_Cyrillic_er'; 282 KS_Cyrillic_es_: byte = $d3; public name 'KS_Cyrillic_es'; 283 KS_Cyrillic_te_: byte = $d4; public name 'KS_Cyrillic_te'; 284 KS_Cyrillic_u_: byte = $d5; public name 'KS_Cyrillic_u'; 285 KS_Cyrillic_ef_: byte = $c6; public name 'KS_Cyrillic_ef'; 286 KS_Cyrillic_ha_: byte = $c8; public name 'KS_Cyrillic_ha'; 287 KS_Cyrillic_tse_: byte = $c3; public name 'KS_Cyrillic_tse'; 288 KS_Cyrillic_che_: byte = $de; public name 'KS_Cyrillic_che'; 289 KS_Cyrillic_sha_: byte = $db; public name 'KS_Cyrillic_sha'; 290 KS_Cyrillic_scha_: byte = $dd; public name 'KS_Cyrillic_scha'; 291 KS_Cyrillic_hsighn_: byte = $df; public name 'KS_Cyrillic_hsighn'; 292 KS_Cyrillic_yeru_: byte = $d9; public name 'KS_Cyrillic_yeru'; 293 KS_Cyrillic_ssighn_: byte = $d8; public name 'KS_Cyrillic_ssighn'; 294 KS_Cyrillic_e_: byte = $dc; public name 'KS_Cyrillic_e'; 295 KS_Cyrillic_yu_: byte = $c0; public name 'KS_Cyrillic_yu'; 296 KS_Cyrillic_ya_: byte = $d1; public name 'KS_Cyrillic_ya'; 297 KS_Cyrillic_gheukr_: byte = $ad; public name 'KS_Cyrillic_gheukr'; 298 KS_Cyrillic_GHEUKR: byte = $bd; public name 'KS_Cyrillic_GHEUKR'; 299 KS_Cyrillic_yeukr_: byte = $a4; public name 'KS_Cyrillic_yeukr'; 300 KS_Cyrillic_YEUKR: byte = $b4; public name 'KS_Cyrillic_YEUKR'; 301 (* 302 * Group Latin-2 (iso8859-2) 303 *) 304 305 306 KS_L2_Aogonek: byte = $a1; public name 'KS_L2_Aogonek'; 307 KS_L2_breve: byte = $a2; 308 KS_L2_Lstroke: byte = $a3; 309 KS_L2_Lcaron: byte = $a5; 310 KS_L2_Sacute: byte = $a6; 311 KS_L2_Scaron: byte = $a9; 312 KS_L2_Scedilla: byte = $aa; 313 KS_L2_Tcaron: byte = $ab; 314 KS_L2_Zacute: byte = $ac; 315 KS_L2_Zcaron: byte = $ae; 316 KS_L2_Zdotabove: byte = $af; 317 KS_L2_aogonek_: byte = $b1; public name 'KS_L2_aogonek'; 318 KS_L2_ogonek: byte = $b2; 319 KS_L2_lstroke_: byte = $b3; public name 'KS_L2_lstroke'; 320 KS_L2_lcaron_: byte = $b5; public name 'KS_L2_lcaron'; 321 KS_L2_sacute_: byte = $b6; public name 'KS_L2_sacute'; 322 KS_L2_caron: byte = $b7; 323 KS_L2_scaron_: byte = $b9; public name 'KS_L2_scaron'; 324 KS_L2_scedilla_: byte = $ba; public name 'KS_L2_scedilla'; 325 KS_L2_tcaron_: byte = $bb; public name 'KS_L2_tcaron'; 326 KS_L2_zacute_: byte = $bc; public name 'KS_L2_zacute'; 327 KS_L2_dblacute: byte = $bd; 328 KS_L2_zcaron_: byte = $be; public name 'KS_L2_zcaron'; 329 KS_L2_zdotabove_: byte = $bf; public name 'KS_L2_zdotabove'; 330 KS_L2_Racute: byte = $c0; 331 KS_L2_Abreve: byte = $c3; 332 KS_L2_Lacute: byte = $c5; 333 KS_L2_Cacute: byte = $c6; 334 KS_L2_Ccaron: byte = $c8; 335 KS_L2_Eogonek: byte = $ca; 336 KS_L2_Ecaron: byte = $cc; 337 KS_L2_Dcaron: byte = $cf; 338 KS_L2_Dstroke: byte = $d0; 339 KS_L2_Nacute: byte = $d1; 340 KS_L2_Ncaron: byte = $d2; 341 KS_L2_Odoubleacute: byte = $d5; 342 KS_L2_Rcaron: byte = $d8; 343 KS_L2_Uring: byte = $d9; 344 KS_L2_Udoubleacute: byte = $db; 345 KS_L2_Tcedilla: byte = $de; 346 KS_L2_racute_: byte = $e0; public name 'KS_L2_racute'; 347 KS_L2_abreve_: byte = $e3; public name 'KS_L2_abreve'; 348 KS_L2_lacute_: byte = $e5; public name 'KS_L2_lacute'; 349 KS_L2_cacute_: byte = $e6; public name 'KS_L2_cacute'; 350 KS_L2_ccaron_: byte = $e8; public name 'KS_L2_ccaron'; 351 KS_L2_eogonek_: byte = $ea; public name 'KS_L2_eogonek'; 352 KS_L2_ecaron_: byte = $ec; public name 'KS_L2_ecaron'; 353 KS_L2_dcaron_: byte = $ef; public name 'KS_L2_dcaron'; 354 KS_L2_dstroke_: byte = $f0; public name 'KS_L2_dstroke'; 355 KS_L2_nacute_: byte = $f1; public name 'KS_L2_nacute'; 356 KS_L2_odoubleacute_: byte = $f5; public name 'KS_L2_odoubleacute'; 357 KS_L2_rcaron_: byte = $f8; public name 'KS_L2_rcaron'; 358 KS_L2_uring_: byte = $f9; public name 'KS_L2_uring'; 359 KS_L2_udoubleacute_: byte = $fb; public name 'KS_L2_udoubleacute'; 360 KS_L2_tcedilla_: byte = $fe; public name 'KS_L2_tcedilla'; 361 KS_L2_dotabove: byte = $ff; 362 (* 363 * Group Latin-5 (iso8859-9) 364 *) 365 366var 367 KS_L5_Gbreve: byte = $d0; public name 'KS_L5_Gbreve'; 368 KS_L5_Idotabove: byte = $dd; 369 KS_L5_Scedilla: byte = $de; public name 'KS_L5_Scedilla'; 370 KS_L5_gbreve_: byte = $f0; public name 'KS_L5_gbreve'; 371 KS_L5_idotless: byte = $fd; 372 KS_L5_scedilla_: byte = $fe; public name 'KS_L5_scedilla'; 373 (* 374 * Group Latin-7 (iso8859-13) 375 *) 376 377var 378 KS_L7_rightdblquot: byte = $a1; 379 KS_L7_dbllow9quot: byte = $a5; 380 KS_L7_Ostroke: byte = $a8; 381 KS_L7_Rcedilla: byte = $aa; 382 KS_L7_AE: byte = $af; 383 KS_L7_leftdblquot: byte = $b4; 384 KS_L7_ostroke_: byte = $b8; public name 'KS_L7_ostroke'; 385 KS_L7_rcedilla_: byte = $ba; public name 'KS_L7_rcedilla'; 386 KS_L7_ae_: byte = $bf; public name 'KS_L7_ae'; 387 KS_L7_Aogonek: byte = $c0; 388 KS_L7_Iogonek: byte = $c1; 389 KS_L7_Amacron: byte = $c2; 390 KS_L7_Cacute: byte = $c3; 391 KS_L7_Eogonek: byte = $c6; 392 KS_L7_Emacron: byte = $c7; 393 KS_L7_Ccaron: byte = $c8; 394 KS_L7_Zacute: byte = $ca; 395 KS_L7_Edot: byte = $cb; 396 KS_L7_Gcedilla: byte = $cc; 397 KS_L7_Kcedilla: byte = $cd; 398 KS_L7_Imacron: byte = $ce; 399 KS_L7_Lcedilla: byte = $cf; 400 KS_L7_Scaron: byte = $d0; 401 KS_L7_Nacute: byte = $d1; 402 KS_L7_Ncedilla: byte = $d2; 403 KS_L7_Omacron: byte = $d4; 404 KS_L7_Uogonek: byte = $d8; 405 KS_L7_Lstroke: byte = $d9; 406 KS_L7_Sacute: byte = $da; 407 KS_L7_Umacron: byte = $db; 408 KS_L7_Zdot: byte = $dd; 409 KS_L7_Zcaron: byte = $de; 410 KS_L7_aogonek_: byte = $e0; public name 'KS_L7_aogonek'; 411 KS_L7_iogonek_: byte = $e1; public name 'KS_L7_iogonek'; 412 KS_L7_amacron_: byte = $e2; public name 'KS_L7_amacron'; 413 KS_L7_cacute_: byte = $e3; public name 'KS_L7_cacute'; 414 KS_L7_eogonek_: byte = $e6; public name 'KS_L7_eogonek'; 415 KS_L7_emacron_: byte = $e7; public name 'KS_L7_emacron'; 416 KS_L7_ccaron_: byte = $e8; public name 'KS_L7_ccaron'; 417 KS_L7_zacute_: byte = $ea; public name 'KS_L7_zacute'; 418 KS_L7_edot_: byte = $eb; public name 'KS_L7_edot'; 419 KS_L7_gcedilla_: byte = $ec; public name 'KS_L7_gcedilla'; 420 KS_L7_kcedilla_: byte = $ed; public name 'KS_L7_kcedilla'; 421 KS_L7_imacron_: byte = $ee; public name 'KS_L7_imacron'; 422 KS_L7_lcedilla_: byte = $ef; public name 'KS_L7_lcedilla'; 423 KS_L7_scaron_: byte = $f0; public name 'KS_L7_scaron'; 424 KS_L7_nacute_: byte = $f1; public name 'KS_L7_nacute'; 425 KS_L7_ncedilla_: byte = $f2; public name 'KS_L7_ncedilla'; 426 KS_L7_omacron_: byte = $f4; public name 'KS_L7_omacron'; 427 KS_L7_uogonek_: byte = $f8; public name 'KS_L7_uogonek'; 428 KS_L7_lstroke_: byte = $f9; public name 'KS_L7_lstroke'; 429 KS_L7_sacute_: byte = $fa; public name 'KS_L7_sacute'; 430 KS_L7_umacron_: byte = $fb; public name 'KS_L7_umacron'; 431 KS_L7_zdot_: byte = $fd; public name 'KS_L7_zdot'; 432 KS_L7_zcaron_: byte = $fe; public name 'KS_L7_zcaron'; 433 KS_L7_rightsnglquot: byte = $ff; 434 (* 435 * Group 1 (modifiers) 436 *) 437 438const 439 KS_Shift_L = $f101; 440 KS_Shift_R = $f102; 441 KS_Control_L = $f103; 442 KS_Control_R = $f104; 443 KS_Caps_Lock = $f105; 444 KS_Shift_Lock = $f106; 445 KS_Alt_L = $f107; 446 KS_Alt_R = $f108; 447 KS_Multi_key = $f109; 448 KS_Mode_switch = $f10a; 449 KS_Num_Lock = $f10b; 450 KS_Hold_Screen = $f10c; 451 KS_Cmd = $f10d; 452 KS_Cmd1 = $f10e; 453 KS_Cmd2 = $f10f; 454 KS_Meta_L = $f110; 455 KS_Meta_R = $f111; 456 KS_Zenkaku_Hankaku = $f112; (* Zenkaku/Hankaku toggle *) 457 KS_Hiragana_Katakana = $f113; (* Hiragana/Katakana toggle *) 458 KS_Henkan_Mode = $f114; (* Start/Stop Conversion *) 459 KS_Henkan = $f115; (* Alias for Henkan_Mode *) 460 KS_Muhenkan = $f116; (* Cancel Conversion *) 461 KS_Mode_Lock = $f117; 462 (* 463 * Group 2 (keypad) character in low byte 464 *) 465 466 467 KS_KP_F1 = $f291; 468 KS_KP_F2 = $f292; 469 KS_KP_F3 = $f293; 470 KS_KP_F4 = $f294; 471 KS_KP_Home = $f295; 472 KS_KP_Left = $f296; 473 KS_KP_Up = $f297; 474 KS_KP_Right = $f298; 475 KS_KP_Down = $f299; 476 KS_KP_Prior = $f29a; 477 KS_KP_Next = $f29b; 478 KS_KP_End = $f29c; 479 KS_KP_Begin = $f29d; 480 KS_KP_Insert = $f29e; 481 KS_KP_Delete = $f29f; 482 KS_KP_Space = $f220; 483 KS_KP_Tab = $f209; 484 KS_KP_Enter = $f20d; 485 KS_KP_Equal = $f23d; 486 KS_KP_Numbersign = $f223; 487 KS_KP_Multiply = $f22a; 488 KS_KP_Add = $f22b; 489 KS_KP_Separator = $f22c; 490 KS_KP_Subtract = $f22d; 491 KS_KP_Decimal = $f22e; 492 KS_KP_Divide = $f22f; 493 KS_KP_0 = $f230; 494 KS_KP_1 = $f231; 495 KS_KP_2 = $f232; 496 KS_KP_3 = $f233; 497 KS_KP_4 = $f234; 498 KS_KP_5 = $f235; 499 KS_KP_6 = $f236; 500 KS_KP_7 = $f237; 501 KS_KP_8 = $f238; 502 KS_KP_9 = $f239; 503 (* 504 * Group 3 (function) 505 *) 506 507var 508 KS_f1_: word = $f300; public name 'KS_f1'; 509 KS_f2_: word = $f301; public name 'KS_f2'; 510 KS_f3_: word = $f302; public name 'KS_f3'; 511 KS_f4_: word = $f303; public name 'KS_f4'; 512 KS_f5_: word = $f304; public name 'KS_f5'; 513 KS_f6_: word = $f305; public name 'KS_f6'; 514 KS_f7_: word = $f306; public name 'KS_f7'; 515 KS_f8_: word = $f307; public name 'KS_f8'; 516 KS_f9_: word = $f308; public name 'KS_f9'; 517 KS_f10_: word = $f309; public name 'KS_f10'; 518 KS_f11_: word = $f30a; public name 'KS_f11'; 519 KS_f12_: word = $f30b; public name 'KS_f12'; 520 KS_f13_: word = $f30c; public name 'KS_f13'; 521 KS_f14_: word = $f30d; public name 'KS_f14'; 522 KS_f15_: word = $f30e; public name 'KS_f15'; 523 KS_f16_: word = $f30f; public name 'KS_f16'; 524 KS_f17_: word = $f310; public name 'KS_f17'; 525 KS_f18_: word = $f311; public name 'KS_f18'; 526 KS_f19_: word = $f312; public name 'KS_f19'; 527 KS_f20_: word = $f313; public name 'KS_f20'; 528 KS_F1: word = $f340; public name 'KS_F1'; 529 KS_F2: word = $f341; public name 'KS_F2'; 530 KS_F3: word = $f342; public name 'KS_F3'; 531 KS_F4: word = $f343; public name 'KS_F4'; 532 KS_F5: word = $f344; public name 'KS_F5'; 533 KS_F6: word = $f345; public name 'KS_F6'; 534 KS_F7: word = $f346; public name 'KS_F7'; 535 KS_F8: word = $f347; public name 'KS_F8'; 536 KS_F9: word = $f348; public name 'KS_F9'; 537 KS_F10: word = $f349; public name 'KS_F10'; 538 KS_F11: word = $f34a; public name 'KS_F11'; 539 KS_F12: word = $f34b; public name 'KS_F12'; 540 KS_F13: word = $f34c; public name 'KS_F13'; 541 KS_F14: word = $f34d; public name 'KS_F14'; 542 KS_F15: word = $f34e; public name 'KS_F15'; 543 KS_F16: word = $f34f; public name 'KS_F16'; 544 KS_F17: word = $f350; public name 'KS_F17'; 545 KS_F18: word = $f351; public name 'KS_F18'; 546 KS_F19: word = $f352; public name 'KS_F19'; 547 KS_F20: word = $f353; public name 'KS_F20'; 548const 549 KS_Home = $f381; 550 KS_Prior = $f382; 551 KS_Next = $f383; 552 KS_Up = $f384; 553 KS_Down = $f385; 554 KS_Left = $f386; 555 KS_Right = $f387; 556 KS_End = $f388; 557 KS_Insert = $f389; 558 KS_Help = $f38a; 559 KS_Execute = $f38b; 560 KS_Find = $f38c; 561 KS_Select = $f38d; 562 KS_Again = $f38e; 563 KS_Props = $f38f; 564 KS_Undo = $f390; 565 KS_Front = $f391; 566 KS_Copy = $f392; 567 KS_Open = $f393; 568 KS_Paste = $f394; 569 KS_Cut = $f395; 570 KS_Menu = $f3c0; 571 KS_Pause = $f3c1; 572 KS_Print_Screen = $f3c2; 573 KS_AudioMute = $f3d1; 574 KS_AudioLower = $f3d2; 575 KS_AudioRaise = $f3d3; 576 (* 577 * Group 4 (command) 578 *) 579 580 581 KS_Cmd_Screen0 = $f400; 582 KS_Cmd_Screen1 = $f401; 583 KS_Cmd_Screen2 = $f402; 584 KS_Cmd_Screen3 = $f403; 585 KS_Cmd_Screen4 = $f404; 586 KS_Cmd_Screen5 = $f405; 587 KS_Cmd_Screen6 = $f406; 588 KS_Cmd_Screen7 = $f407; 589 KS_Cmd_Screen8 = $f408; 590 KS_Cmd_Screen9 = $f409; 591 KS_Cmd_Screen10 = $f40a; 592 KS_Cmd_Screen11 = $f40b; 593 KS_Cmd_Debugger = $f420; 594 KS_Cmd_ResetEmul = $f421; 595 KS_Cmd_ResetClose = $f422; 596 KS_Cmd_BacklightOn = $f423; 597 KS_Cmd_BacklightOff = $f424; 598 KS_Cmd_BacklightToggle = $f425; 599 KS_Cmd_BrightnessUp = $f426; 600 KS_Cmd_BrightnessDown = $f427; 601 KS_Cmd_BrightnessRotate = $f428; 602 KS_Cmd_ContrastUp = $f429; 603 KS_Cmd_ContrastDown = $f42a; 604 KS_Cmd_ContrastRotate = $f42b; 605 KS_Cmd_ScrollBack = $f42c; 606 KS_Cmd_ScrollFwd = $f42d; 607 KS_Cmd_KbdReset = $f42e; 608 (* 609 * Group 5 (internal) 610 *) 611 612 613 KS_voidSymbol = $f500; 614 (*ENDKEYSYMDECL *) 615 616 617 (* 618 * keysym groups 619 *) 620 621 622 KS_GROUP_Mod = $f100; 623 KS_GROUP_Keypad = $f200; 624 KS_GROUP_Function = $f300; 625 KS_GROUP_Command = $f400; 626 KS_GROUP_Internal = $f500; 627 KS_GROUP_Dead = $f801; (* not encoded in keysym *) 628 KS_GROUP_Ascii = $f802; (* not encoded in keysym *) 629 KS_GROUP_Keycode = $f803; (* not encoded in keysym *) 630 KS_NUMKEYCODES = $1000; 631 632function KS_KEYCODE(v: cint): cint; inline; 633function KS_GROUP(k: cint): cint; inline; 634function KS_VALUE(k: cint): cint; inline; 635function KB_ENCODING(e: cint): cint; inline; 636function KB_VARIANT(e: cint): cint; inline; 637 638const 639 KB_NONE = $0000; 640 KB_USER = $0100; 641 KB_US = $0200; 642 KB_DE = $0300; 643 KB_DK = $0400; 644 KB_IT = $0500; 645 KB_FR = $0600; 646 KB_UK = $0700; 647 KB_JP = $0800; 648 KB_SV = $0900; 649 KB_NO = $0a00; 650 KB_ES = $0b00; 651 KB_HU = $0c00; 652 KB_BE = $0d00; 653 KB_RU = $0e00; 654 KB_SG = $0f00; 655 KB_SF = $1000; 656 KB_PT = $1100; 657 KB_UA = $1200; 658 KB_LT = $1300; 659 KB_LA = $1400; 660 KB_BR = $1500; 661 KB_NL = $1600; 662 KB_TR = $1700; 663 KB_PL = $1800; 664 KB_SI = $1900; 665 KB_CF = $1a00; 666 KB_LV = $1b00; 667 KB_NODEAD = $000001; (* disable dead accents *) 668 KB_DECLK = $000002; (* DEC LKnnn layout *) 669 KB_LK401 = $000004; (* DEC LK401 instead LK201 *) 670 KB_SWAPCTRLCAPS = $000008; (* swap Left-Control and Caps-Lock *) 671 KB_DVORAK = $000010; (* Dvorak layout *) 672 KB_METAESC = $000020; (* generate ESC prefix on ALT-key *) 673 KB_IOPENER = $000040; (* f1-f12 -> ESC,f1-f11 *) 674 KB_MACHDEP = $000080; (* machine dependent *) 675 KB_APPLE = $010000; (* Apple specific layout *) 676(* 677 KB_ENCTAB = (( KB_USER, 'user' ), 678 ( KB_US, 'us' ), 679 ( KB_DE, 'de' ), 680 ( KB_DK, 'dk' ), 681 ( KB_IT, 'it' ), 682 ( KB_FR, 'fr' ), 683 ( KB_UK, 'uk' ), 684 ( KB_JP, 'jp' ), 685 ( KB_SV, 'sv' ), 686 ( KB_NO, 'no' ), 687 ( KB_ES, 'es' ), 688 ( KB_HU, 'hu' ), 689 ( KB_BE, 'be' ), 690 ( KB_RU, 'ru' ), 691 ( KB_UA, 'ua' ), 692 ( KB_SG, 'sg' ), 693 ( KB_SF, 'sf' ), 694 ( KB_PT, 'pt' ), 695 ( KB_LT, 'lt' ), 696 ( KB_LA, 'la' ), 697 ( KB_BR, 'br' ), 698 ( KB_NL, 'nl' ), 699 ( KB_TR, 'tr' ), 700 ( KB_PL, 'pl' ), 701 ( KB_SI, 'si' ), 702 ( KB_CF, 'cf' ), 703 ( KB_LV, 'lv' )); 704 705 KB_VARTAB = (( KB_NODEAD, 'nodead' ), 706 ( KB_DECLK, 'declk' ), 707 ( KB_LK401, 'lk401' ), 708 ( KB_SWAPCTRLCAPS, 'swapctrlcaps' ), 709 ( KB_DVORAK, 'dvorak' ), 710 ( KB_METAESC, 'metaesc' ), 711 ( KB_IOPENER, 'iopener' ), 712 ( KB_MACHDEP, 'machdep' ), 713 ( KB_APPLE, 'apple' )); *) 714{$ENDIF} 715 716 717 718{$IFDEF OGC_IMPLEMENTATION} 719function KS_KEYCODE(v: cint): cint; inline; 720begin 721 KS_KEYCODE := v or $e000; 722end; 723 724function KS_GROUP(k: cint): cint; inline; 725begin 726 if (k >= $0300) and (k < $0370) then 727 KS_GROUP := KS_GROUP_Dead 728 else 729 if (k and $f000) = $e000 then 730 KS_GROUP := KS_GROUP_Keycode 731 else 732 if (k and $f800) = $f000 then 733 KS_GROUP := (k and $ff00) 734 else 735 KS_GROUP := KS_GROUP_Ascii; 736end; 737 738function KS_VALUE(k: cint): cint; inline; 739begin 740 if (k and $f000) = $e000 then 741 KS_VALUE := (k and $0fff) 742 else 743 if (k and $f800) = $f000 then 744 KS_VALUE := (k and $00ff) 745 else 746 KS_VALUE := k; 747end; 748 749function KB_ENCODING(e: cint): cint; inline; 750begin 751 KB_ENCODING := (e and $0000ff00); 752end; 753 754function KB_VARIANT(e: cint): cint; inline; 755begin 756 KB_VARIANT := (e and $ffff00ff); 757end; 758{$ENDIF} 759 760