home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / unix / volume22 / nn6.4 / part19 / keymap.h < prev    next >
Encoding:
C/C++ Source or Header  |  1990-06-07  |  4.5 KB  |  131 lines

  1. /*
  2.  *    (c) Copyright 1990, Kim Fabricius Storm.  All rights reserved.
  3.  *
  4.  *    Keyboard (re)mapping
  5.  */
  6.  
  7. #define K_INVALID        0x0000 /* unknown command (for lookup) */
  8.  
  9. #define K_UNBOUND        0x0001 /* unbound command key         */
  10.  
  11. #define K_REDRAW        0x0002 /* redraw             */
  12. #define K_CONTINUE        0x0003 /* continue with next ...     */
  13. #define K_LAST_MESSAGE        0x0004 /* repeat last message         */
  14. #define K_HELP            0x0005 /* online help             */
  15. #define K_SHELL            0x0006 /* shell escape         */
  16. #define K_VERSION        0x0007 /* print version         */
  17. #define K_EXTENDED_CMD        0x0008 /* extended commands        */
  18.  
  19. #define K_QUIT            0x0009 /* quit             */
  20.  
  21. #define    K_BUG_REPORT        0x000a /* send bug report */
  22.  
  23. #define K_SAVE_NO_HEADER     0x0011 /* save articles without header */
  24. #define K_SAVE_SHORT_HEADER     0x0012 /* save article with short header */
  25. #define K_SAVE_FULL_HEADER     0x0013 /* save articles with full header */
  26.  
  27. #define K_PRINT            0x0014 /* print ariticle         */
  28.  
  29. #define K_UNSHAR        0x0015 /* unshar article        */
  30.  
  31. #define K_REPLY            0x0016 /* reply to article         */
  32. #define K_FOLLOW_UP        0x0017 /* follow up to article     */
  33. #define K_POST            0x0018 /* post an article        */
  34. #define K_MAIL_OR_FORWARD     0x0019 /* mail (forward article)     */
  35. #define K_CANCEL        0x001a /* cancel article         */
  36. #define K_UNSUBSCRIBE        0x001b /* (un)subscribe to group     */
  37. #define K_GROUP_OVERVIEW     0x001c /* group overview         */
  38. #define K_PATCH            0x001d /* pipe article to patch         */
  39. #define    K_UUDECODE        0x001e /* uudecode articles        */
  40.  
  41. #define K_GOTO_GROUP        0x001f /* goto named group/folder    */
  42.  
  43. #define K_KILL_HANDLING        0x0020 /* enter kill menu        */
  44.  
  45.     /* scrolling/menu movement */
  46.  
  47. #define K_CONTINUE_NO_MARK    0x0021 /* as continue but don't mark seen */
  48. #define K_JUNK_ARTICLES        0x0022 /* convert given attr to read    */
  49. #define K_SKIP_LINES        0x0023 /* skip lines of same type    */
  50. #define K_NEXT_PAGE        0x0024 /* next page             */
  51. #define K_NEXT_HALF_PAGE     0x0025 /* next half page        */
  52. #define K_NEXT_LINE        0x0026 /* next line            */
  53. #define K_PREV_PAGE        0x0027 /* previous page         */
  54. #define K_PREV_HALF_PAGE     0x0028 /* previous half page        */
  55. #define K_PREV_LINE        0x0029 /* previous line        */
  56.  
  57. #define K_HEADER_PAGE        0x002a /* first page incl. header    */
  58. #define K_FIRST_PAGE        0x002b /* first page             */
  59. #define K_LAST_PAGE        0x002c /* last page             */
  60.  
  61. #define K_GOTO_LINE        0x002d /* goto specific line        */
  62. #define K_GOTO_PAGE        0x002e /* goto specific page        */
  63. #define K_GOTO_MATCH        0x002f /* goto line matching regexp    */
  64. #define K_NEXT_MATCH        0x0030 /* find next match        */
  65.  
  66. #define K_PREVIOUS        0x0031 /* goto prev group or article    */
  67.                 /* (no update is performed)    */
  68.  
  69.     /* more() SPECIFIC COMMANDS */
  70.  
  71. #define K_LEAVE_ARTICLE        0x0032 /* goto next article, mark current */
  72. #define K_LEAVE_NEXT        0x0033 /* mark current for next time    */
  73. #define K_NEXT_ARTICLE        0x0034 /* goto next article         */
  74. #define K_NEXT_SUBJECT        0x0035 /* goto next subject        */
  75. #define K_FULL_DIGEST        0x0036 /* show full digest        */
  76. #define K_ROT13            0x0037 /* do rot13             */
  77. #define K_COMPRESS        0x0038 /* compress spaces        */
  78. #define K_BACK_TO_MENU        0x0039 /* return to menu */
  79. #define    K_BACK_ARTICLE        0x003a /* back one article        */
  80. #define    K_FORW_ARTICLE        0x003b /* forward one article        */
  81.  
  82.     /* menu() SPECIFIC COMMANDS     */
  83.  
  84. #define K_SELECT        0x0041 /* select current, move down     */
  85. #define K_SELECT_INVERT        0x0042 /* invert all selections     */
  86. #define K_SELECT_SUBJECT     0x0043 /* select all with same subject */
  87. #define K_SELECT_RANGE        0x0044 /* select range         */
  88. #define K_AUTO_SELECT        0x0045 /* auto select from kill file    */
  89. #define K_UNSELECT_ALL        0x0046 /* undo all selections        */
  90.  
  91. #define K_LAYOUT        0x0049 /* change menu layout         */
  92.  
  93. #define K_NEXT_GROUP_NO_UPDATE     0x004a /* goto next group, no update     */
  94. #define K_READ_GROUP_UPDATE     0x004b /* read selected, then next group */
  95. #define K_READ_GROUP_THEN_SAME    0x004c /* read selected, then same group */
  96.  
  97. #define K_ADVANCE_GROUP        0x004d /* advance one group in sequence */
  98. #define K_BACK_GROUP        0x004e /* back-up one group in sequence */
  99.  
  100. #define K_PREVIEW        0x004f /* preview article         */
  101.  
  102. #define    K_EQUAL_KEY        0x0070 /* map command special symbol    */
  103.  
  104. #define    K_MACRO            0x0100 /* call macro            */
  105. #define    K_ARTICLE_ID        0x0200 /* article id in lower part    */
  106.  
  107.  
  108. /*
  109.  * KEY MAP SIZE is:
  110.  *   (128 normal chars) + (0200) + (4 arrow keys) + (10 function keys)
  111.  */
  112.  
  113. #define MULTI_KEYS    (1 + 4 + 10)
  114. #define KEY_MAP_SIZE    (128 + MULTI_KEYS)
  115.  
  116.  
  117. /* restrictions */
  118.  
  119. #define K_ONLY_MENU    0x0001
  120. #define K_ONLY_MORE    0x0002
  121.  
  122. typedef unsigned char key_type;
  123.  
  124. extern int menu_key_map[];
  125. extern int more_key_map[];
  126.  
  127. extern key_type global_key_map[];
  128.  
  129. extern char *key_name();
  130. extern key_type parse_key();
  131.