comparison src/event-xlike-inc.c @ 3640:24b58b2d56ab

[xemacs-hg @ 2006-10-28 16:02:43 by aidan] Support Ghe with upturn, other non-ISO-8859-5 Cyrillic keysyms in X11.
author aidan
date Sat, 28 Oct 2006 16:02:45 +0000
parents 6139607b3fbf
children 63c25d1cbecf
comparison
equal deleted inserted replaced
3639:a8a83fd6ea29 3640:24b58b2d56ab
457 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* 0x0BB0--0x0BBB */ 457 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* 0x0BB0--0x0BBB */
458 0x0, 0x0, 0x0, 0x0, 458 0x0, 0x0, 0x0, 0x0,
459 0x22A3, /* #x0BFC RIGHT TACK APL */ 459 0x22A3, /* #x0BFC RIGHT TACK APL */
460 }; 460 };
461 461
462 static UINT_16_BIT const CYRILLIC[] =
463 {
464 0x0452, /* #x06A1 CYRILLIC SMALL LETTER DJE */
465 #define FIRST_KNOWN_CYRILLIC 0x6A1
466 0x0453, /* #x06A2 CYRILLIC SMALL LETTER GJE */
467 0x0451, /* #x06A3 CYRILLIC SMALL LETTER IO */
468 0x0454, /* #x06A4 CYRILLIC SMALL LETTER UKRAINIAN IE */
469 0x0455, /* #x06A5 CYRILLIC SMALL LETTER DZE */
470 0x0456, /* #x06A6 CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I */
471 0x0457, /* #x06A7 CYRILLIC SMALL LETTER YI */
472 0x0458, /* #x06A8 CYRILLIC SMALL LETTER JE */
473 0x0459, /* #x06A9 CYRILLIC SMALL LETTER LJE */
474 0x045A, /* #x06AA CYRILLIC SMALL LETTER NJE */
475 0x045B, /* #x06AB CYRILLIC SMALL LETTER TSHE */
476 0x045C, /* #x06AC CYRILLIC SMALL LETTER KJE */
477 0x0491, /* #x06AD CYRILLIC SMALL LETTER GHE WITH UPTURN */
478 0x045E, /* #x06AE CYRILLIC SMALL LETTER SHORT U */
479 0x045F, /* #x06AF CYRILLIC SMALL LETTER DZHE */
480 0x2116, /* #x06B0 NUMERO SIGN */
481 0x0402, /* #x06B1 CYRILLIC CAPITAL LETTER DJE */
482 0x0403, /* #x06B2 CYRILLIC CAPITAL LETTER GJE */
483 0x0401, /* #x06B3 CYRILLIC CAPITAL LETTER IO */
484 0x0404, /* #x06B4 CYRILLIC CAPITAL LETTER UKRAINIAN IE */
485 0x0405, /* #x06B5 CYRILLIC CAPITAL LETTER DZE */
486 0x0406, /* #x06B6 CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I */
487 0x0407, /* #x06B7 CYRILLIC CAPITAL LETTER YI */
488 0x0408, /* #x06B8 CYRILLIC CAPITAL LETTER JE */
489 0x0409, /* #x06B9 CYRILLIC CAPITAL LETTER LJE */
490 0x040A, /* #x06BA CYRILLIC CAPITAL LETTER NJE */
491 0x040B, /* #x06BB CYRILLIC CAPITAL LETTER TSHE */
492 0x040C, /* #x06BC CYRILLIC CAPITAL LETTER KJE */
493 0x0490, /* #x06BD CYRILLIC CAPITAL LETTER GHE WITH UPTURN */
494 0x040E, /* #x06BE CYRILLIC CAPITAL LETTER SHORT U */
495 0x040F, /* #x06BF CYRILLIC CAPITAL LETTER DZHE */
496 0x044E, /* #x06C0 CYRILLIC SMALL LETTER YU */
497 0x0430, /* #x06C1 CYRILLIC SMALL LETTER A */
498 0x0431, /* #x06C2 CYRILLIC SMALL LETTER BE */
499 0x0446, /* #x06C3 CYRILLIC SMALL LETTER TSE */
500 0x0434, /* #x06C4 CYRILLIC SMALL LETTER DE */
501 0x0435, /* #x06C5 CYRILLIC SMALL LETTER IE */
502 0x0444, /* #x06C6 CYRILLIC SMALL LETTER EF */
503 0x0433, /* #x06C7 CYRILLIC SMALL LETTER GHE */
504 0x0445, /* #x06C8 CYRILLIC SMALL LETTER HA */
505 0x0438, /* #x06C9 CYRILLIC SMALL LETTER I */
506 0x0439, /* #x06CA CYRILLIC SMALL LETTER SHORT I */
507 0x043A, /* #x06CB CYRILLIC SMALL LETTER KA */
508 0x043B, /* #x06CC CYRILLIC SMALL LETTER EL */
509 0x043C, /* #x06CD CYRILLIC SMALL LETTER EM */
510 0x043D, /* #x06CE CYRILLIC SMALL LETTER EN */
511 0x043E, /* #x06CF CYRILLIC SMALL LETTER O */
512 0x043F, /* #x06D0 CYRILLIC SMALL LETTER PE */
513 0x044F, /* #x06D1 CYRILLIC SMALL LETTER YA */
514 0x0440, /* #x06D2 CYRILLIC SMALL LETTER ER */
515 0x0441, /* #x06D3 CYRILLIC SMALL LETTER ES */
516 0x0442, /* #x06D4 CYRILLIC SMALL LETTER TE */
517 0x0443, /* #x06D5 CYRILLIC SMALL LETTER U */
518 0x0436, /* #x06D6 CYRILLIC SMALL LETTER ZHE */
519 0x0432, /* #x06D7 CYRILLIC SMALL LETTER VE */
520 0x044C, /* #x06D8 CYRILLIC SMALL LETTER SOFT SIGN */
521 0x044B, /* #x06D9 CYRILLIC SMALL LETTER YERU */
522 0x0437, /* #x06DA CYRILLIC SMALL LETTER ZE */
523 0x0448, /* #x06DB CYRILLIC SMALL LETTER SHA */
524 0x044D, /* #x06DC CYRILLIC SMALL LETTER E */
525 0x0449, /* #x06DD CYRILLIC SMALL LETTER SHCHA */
526 0x0447, /* #x06DE CYRILLIC SMALL LETTER CHE */
527 0x044A, /* #x06DF CYRILLIC SMALL LETTER HARD SIGN */
528 0x042E, /* #x06E0 CYRILLIC CAPITAL LETTER YU */
529 0x0410, /* #x06E1 CYRILLIC CAPITAL LETTER A */
530 0x0411, /* #x06E2 CYRILLIC CAPITAL LETTER BE */
531 0x0426, /* #x06E3 CYRILLIC CAPITAL LETTER TSE */
532 0x0414, /* #x06E4 CYRILLIC CAPITAL LETTER DE */
533 0x0415, /* #x06E5 CYRILLIC CAPITAL LETTER IE */
534 0x0424, /* #x06E6 CYRILLIC CAPITAL LETTER EF */
535 0x0413, /* #x06E7 CYRILLIC CAPITAL LETTER GHE */
536 0x0425, /* #x06E8 CYRILLIC CAPITAL LETTER HA */
537 0x0418, /* #x06E9 CYRILLIC CAPITAL LETTER I */
538 0x0419, /* #x06EA CYRILLIC CAPITAL LETTER SHORT I */
539 0x041A, /* #x06EB CYRILLIC CAPITAL LETTER KA */
540 0x041B, /* #x06EC CYRILLIC CAPITAL LETTER EL */
541 0x041C, /* #x06ED CYRILLIC CAPITAL LETTER EM */
542 0x041D, /* #x06EE CYRILLIC CAPITAL LETTER EN */
543 0x041E, /* #x06EF CYRILLIC CAPITAL LETTER O */
544 0x041F, /* #x06F0 CYRILLIC CAPITAL LETTER PE */
545 0x042F, /* #x06F1 CYRILLIC CAPITAL LETTER YA */
546 0x0420, /* #x06F2 CYRILLIC CAPITAL LETTER ER */
547 0x0421, /* #x06F3 CYRILLIC CAPITAL LETTER ES */
548 0x0422, /* #x06F4 CYRILLIC CAPITAL LETTER TE */
549 0x0423, /* #x06F5 CYRILLIC CAPITAL LETTER U */
550 0x0416, /* #x06F6 CYRILLIC CAPITAL LETTER ZHE */
551 0x0412, /* #x06F7 CYRILLIC CAPITAL LETTER VE */
552 0x042C, /* #x06F8 CYRILLIC CAPITAL LETTER SOFT SIGN */
553 0x042B, /* #x06F9 CYRILLIC CAPITAL LETTER YERU */
554 0x0417, /* #x06FA CYRILLIC CAPITAL LETTER ZE */
555 0x0428, /* #x06FB CYRILLIC CAPITAL LETTER SHA */
556 0x042D, /* #x06FC CYRILLIC CAPITAL LETTER E */
557 0x0429, /* #x06FD CYRILLIC CAPITAL LETTER SHCHA */
558 0x0427, /* #x06FE CYRILLIC CAPITAL LETTER CHE */
559 0x042A, /* #x06FF CYRILLIC CAPITAL LETTER HARD SIGN */
560 };
561
462 /* For every key on the keyboard that has a known character correspondence, 562 /* For every key on the keyboard that has a known character correspondence,
463 we define the character-of-keysym property of its XEmacs keysym, and make 563 we define the character-of-keysym property of its XEmacs keysym, and make
464 the default binding for the key be self-insert-command. 564 the default binding for the key be self-insert-command.
465 565
466 The following magic is based on intimate knowledge of some of 566 The following magic is based on intimate knowledge of some of
540 USE_CHARSET (charset, ARABIC_ISO8859_6); 640 USE_CHARSET (charset, ARABIC_ISO8859_6);
541 code = keysym & 0x7f; 641 code = keysym & 0x7f;
542 break; 642 break;
543 case 6: /* Cyrillic */ 643 case 6: /* Cyrillic */
544 { 644 {
545 static UExtbyte const cyrillic[] = /* 0x20 - 0x7f */ 645 USE_UNICODE_MAP(keysym, CYRILLIC);
546 {0x00, 0x72, 0x73, 0x71, 0x74, 0x75, 0x76, 0x77,
547 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x00, 0x7e, 0x7f,
548 0x70, 0x22, 0x23, 0x21, 0x24, 0x25, 0x26, 0x27,
549 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x00, 0x2e, 0x2f,
550 0x6e, 0x50, 0x51, 0x66, 0x54, 0x55, 0x64, 0x53,
551 0x65, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e,
552 0x5f, 0x6f, 0x60, 0x61, 0x62, 0x63, 0x56, 0x52,
553 0x6c, 0x6b, 0x57, 0x68, 0x6d, 0x69, 0x67, 0x6a,
554 0x4e, 0x30, 0x31, 0x46, 0x34, 0x35, 0x44, 0x33,
555 0x45, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e,
556 0x3f, 0x4f, 0x40, 0x41, 0x42, 0x43, 0x36, 0x32,
557 0x4c, 0x4b, 0x37, 0x48, 0x4d, 0x49, 0x47, 0x4a};
558 USE_CHARSET (charset, CYRILLIC_ISO8859_5);
559 code = cyrillic[(keysym & 0x7f) - 0x20];
560 break; 646 break;
561 } 647 }
562 case 7: /* Greek */ 648 case 7: /* Greek */
563 { 649 {
564 static UExtbyte const greek[] = /* 0x20 - 0x7f */ 650 static UExtbyte const greek[] = /* 0x20 - 0x7f */