Mercurial > hg > xemacs-beta
comparison src/redisplay-tty.c @ 440:8de8e3f6228a r21-2-28
Import from CVS: tag r21-2-28
author | cvs |
---|---|
date | Mon, 13 Aug 2007 11:33:38 +0200 |
parents | 3ecd8885ac67 |
children | abe6d1db359e |
comparison
equal
deleted
inserted
replaced
439:357dd071b03c | 440:8de8e3f6228a |
---|---|
1436 for (i = 0; i < countof (keys); i++) | 1436 for (i = 0; i < countof (keys); i++) |
1437 { | 1437 { |
1438 char *sequence = tgetstr (keys[i].cap, address); | 1438 char *sequence = tgetstr (keys[i].cap, address); |
1439 if (sequence) | 1439 if (sequence) |
1440 Fdefine_key (function_key_map, | 1440 Fdefine_key (function_key_map, |
1441 build_ext_string (sequence, FORMAT_BINARY), | 1441 build_ext_string (sequence, Qbinary), |
1442 vector1 (intern (keys[i].name))); | 1442 vector1 (intern (keys[i].name))); |
1443 } | 1443 } |
1444 | 1444 |
1445 /* The uses of the "k0" capability are inconsistent; sometimes it | 1445 /* The uses of the "k0" capability are inconsistent; sometimes it |
1446 describes F10, whereas othertimes it describes F0 and "k;" describes F10. | 1446 describes F10, whereas othertimes it describes F0 and "k;" describes F10. |
1450 { | 1450 { |
1451 CONST char *k_semi = tgetstr ("k;", address); | 1451 CONST char *k_semi = tgetstr ("k;", address); |
1452 CONST char *k0 = tgetstr ("k0", address); | 1452 CONST char *k0 = tgetstr ("k0", address); |
1453 | 1453 |
1454 if (k_semi) | 1454 if (k_semi) |
1455 Fdefine_key (function_key_map, build_ext_string (k_semi, FORMAT_BINARY), | 1455 Fdefine_key (function_key_map, build_ext_string (k_semi, Qbinary), |
1456 vector1 (intern ("f10"))); | 1456 vector1 (intern ("f10"))); |
1457 | 1457 |
1458 if (k0) | 1458 if (k0) |
1459 Fdefine_key (function_key_map, build_ext_string (k0, FORMAT_BINARY), | 1459 Fdefine_key (function_key_map, build_ext_string (k0, Qbinary), |
1460 vector1 (intern (k_semi ? "f0" : "f10"))); | 1460 vector1 (intern (k_semi ? "f0" : "f10"))); |
1461 } | 1461 } |
1462 | 1462 |
1463 /* Set up cookies for numbered function keys above f10. */ | 1463 /* Set up cookies for numbered function keys above f10. */ |
1464 { | 1464 { |
1478 char *sequence = tgetstr (fcap, address); | 1478 char *sequence = tgetstr (fcap, address); |
1479 if (sequence) | 1479 if (sequence) |
1480 { | 1480 { |
1481 sprintf (fkey, "f%d", i); | 1481 sprintf (fkey, "f%d", i); |
1482 Fdefine_key (function_key_map, | 1482 Fdefine_key (function_key_map, |
1483 build_ext_string (sequence, FORMAT_BINARY), | 1483 build_ext_string (sequence, Qbinary), |
1484 vector1 (intern (fkey))); | 1484 vector1 (intern (fkey))); |
1485 } | 1485 } |
1486 } | 1486 } |
1487 } | 1487 } |
1488 } | 1488 } |
1489 | 1489 |
1490 /* | 1490 /* |
1491 * Various mappings to try and get a better fit. | 1491 * Various mappings to try and get a better fit. |
1492 */ | 1492 */ |
1493 #define CONDITIONAL_REASSIGN(cap1, cap2, keyname) \ | 1493 #define CONDITIONAL_REASSIGN(cap1, cap2, keyname) do { \ |
1494 if (!tgetstr (cap1, address)) \ | 1494 if (!tgetstr (cap1, address)) \ |
1495 { \ | 1495 { \ |
1496 char *sequence = tgetstr (cap2, address); \ | 1496 char *sequence = tgetstr (cap2, address); \ |
1497 if (sequence) \ | 1497 if (sequence) \ |
1498 Fdefine_key (function_key_map, \ | 1498 Fdefine_key (function_key_map, \ |
1499 build_ext_string (sequence, FORMAT_BINARY), \ | 1499 build_ext_string (sequence, Qbinary), \ |
1500 vector1 (intern (keyname))); \ | 1500 vector1 (intern (keyname))); \ |
1501 } | 1501 } \ |
1502 } while (0) | |
1502 | 1503 |
1503 /* if there's no key_next keycap, map key_npage to `next' keysym */ | 1504 /* if there's no key_next keycap, map key_npage to `next' keysym */ |
1504 CONDITIONAL_REASSIGN ("%5", "kN", "next"); | 1505 CONDITIONAL_REASSIGN ("%5", "kN", "next"); |
1505 /* if there's no key_prev keycap, map key_ppage to `previous' keysym */ | 1506 /* if there's no key_prev keycap, map key_ppage to `previous' keysym */ |
1506 CONDITIONAL_REASSIGN ("%8", "kP", "prior"); | 1507 CONDITIONAL_REASSIGN ("%8", "kP", "prior"); |