1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164
|
/*
* (c) Copyright 1990, Kim Fabricius Storm. All rights reserved.
* Copyright (c) 1996-2003 Michael T Pins. All rights reserved.
*
* Keyboard (re)mapping
*/
#ifndef _NN_KEYMAP_H
#define _NN_KEYMAP_H 1
#define K_INVALID 0x0000 /* unknown command (for lookup) */
#define K_UNBOUND 0x0001 /* unbound command key */
#define K_REDRAW 0x0002 /* redraw */
#define K_CONTINUE 0x0003 /* continue with next ... */
#define K_LAST_MESSAGE 0x0004 /* repeat last message */
#define K_HELP 0x0005 /* online help */
#define K_SHELL 0x0006 /* shell escape */
#define K_VERSION 0x0007 /* print version */
#define K_EXTENDED_CMD 0x0008 /* extended commands */
#define K_QUIT 0x0009 /* quit */
#define K_BUG_REPORT 0x000a /* send bug report */
#define K_SAVE_HEADER_ONLY 0x0010 /* save header only */
#define K_SAVE_NO_HEADER 0x0011 /* save articles without header */
#define K_SAVE_SHORT_HEADER 0x0012 /* save article with short header */
#define K_SAVE_FULL_HEADER 0x0013 /* save articles with full header */
#define K_PRINT 0x0014 /* print ariticle */
#define K_UNSHAR 0x0015 /* unshar article */
#define K_REPLY 0x0016 /* reply to article */
#define K_FOLLOW_UP 0x0017 /* follow up to article */
#define K_POST 0x0018 /* post an article */
#define K_MAIL_OR_FORWARD 0x0019 /* mail (forward article) */
#define K_CANCEL 0x001a /* cancel article */
#define K_UNSUBSCRIBE 0x001b /* (un)subscribe to group */
#define K_GROUP_OVERVIEW 0x001c /* group overview */
#define K_PATCH 0x001d /* pipe article to patch */
#define K_UUDECODE 0x001e /* uudecode articles */
#define K_GOTO_GROUP 0x001f /* goto named group/folder */
#define K_KILL_HANDLING 0x0020 /* enter kill menu */
/* scrolling/menu movement */
#define K_CONTINUE_NO_MARK 0x0021 /* as continue but don't mark seen */
#define K_JUNK_ARTICLES 0x0022 /* convert given attr to read */
#define K_SKIP_LINES 0x0023 /* skip lines of same type */
#define K_NEXT_PAGE 0x0024 /* next page */
#define K_NEXT_HALF_PAGE 0x0025 /* next half page */
#define K_NEXT_LINE 0x0026 /* next line */
#define K_PREV_PAGE 0x0027 /* previous page */
#define K_PREV_HALF_PAGE 0x0028 /* previous half page */
#define K_PREV_LINE 0x0029 /* previous line */
#define K_HEADER_PAGE 0x002a /* first page incl. header */
#define K_FIRST_PAGE 0x002b /* first page */
#define K_LAST_PAGE 0x002c /* last page */
#define K_GOTO_LINE 0x002d /* goto specific line */
#define K_GOTO_PAGE 0x002e /* goto specific page */
#define K_GOTO_MATCH 0x002f /* goto line matching regexp */
#define K_NEXT_MATCH 0x0030 /* find next match */
#define K_PREVIOUS 0x0031 /* goto prev group or article */
/* (no update is performed) */
/* more() SPECIFIC COMMANDS */
#define K_LEAVE_ARTICLE 0x0032 /* goto next article, mark current */
#define K_LEAVE_NEXT 0x0033 /* mark current for next time */
#define K_NEXT_ARTICLE 0x0034 /* goto next article */
#define K_NEXT_SUBJECT 0x0035 /* goto next subject */
#define K_FULL_DIGEST 0x0036 /* show full digest */
#define K_ROT13 0x0037 /* do rot13 */
#define K_COMPRESS 0x0038 /* compress spaces */
#define K_BACK_TO_MENU 0x0039 /* return to menu */
#define K_BACK_ARTICLE 0x003a /* back one article */
#define K_FORW_ARTICLE 0x003b /* forward one article */
/* menu() SPECIFIC COMMANDS */
#define K_SELECT 0x0041 /* select current, move down */
#define K_SELECT_INVERT 0x0042 /* invert all selections */
#define K_SELECT_SUBJECT 0x0043 /* select all with same subject */
#define K_SELECT_RANGE 0x0044 /* select range */
#define K_AUTO_SELECT 0x0045 /* auto select from kill file */
#define K_UNSELECT_ALL 0x0046 /* undo all selections */
#define K_LAYOUT 0x0049 /* change menu layout */
#define K_NEXT_GROUP_NO_UPDATE 0x004a /* goto next group, no update */
#define K_READ_GROUP_UPDATE 0x004b /* read selected, then next group */
#define K_READ_GROUP_THEN_SAME 0x004c /* read selected, then same group */
#define K_ADVANCE_GROUP 0x004d /* advance one group in sequence */
#define K_BACK_GROUP 0x004e /* back-up one group in sequence */
#define K_PREVIEW 0x004f /* preview article */
#define K_OPEN_SUBJECT 0x0050 /* open subject on menu */
#define K_CLOSE_SUBJECT 0x0051 /* close subject on menu */
#define K_M_TOGGLE 0x0060 /* page with mouse */
#define K_M_CONTINUE 0x0061 /* page with mouse */
#define K_M_SELECT 0x0062 /* select with mouse */
#define K_M_SELECT_SUBJECT 0x0063 /* select subject */
#define K_M_SELECT_RANGE 0x0064 /* used for draging a range */
#define K_M_PREVIEW 0x0065 /* preview articles */
#define K_EQUAL_KEY 0x0070 /* map command special symbol */
#define K_MACRO 0x0100 /* call macro */
#define K_ARTICLE_ID 0x0200 /* article id in lower part */
#define K_PREFIX_KEY 0x0400 /* key map number in lower part */
/* keymap definitions from keymap.c */
#define MULTI_KEYS 21
/* restrictions */
#define K_ONLY_MENU 0x0001
#define K_ONLY_MORE 0x0002
#define K_BOTH_MAPS 0x0004 /* map flag: for "both" */
#define K_BIND_ORIG 0x0008 /* map flag: must maintain orig_menu_map */
#define K_GLOBAL_KEY_MAP 0x0010 /* "key" */
#define K_MULTI_KEY_MAP 0x0020 /* "#..." */
typedef unsigned char key_type;
extern int menu_key_map[];
extern int more_key_map[];
extern int orig_menu_map[];
extern key_type global_key_map[];
struct key_map_def {
char *km_name; /* key map name */
int *km_map; /* key map table */
int km_flag; /* flags */
};
extern struct key_map_def keymaps[];
void init_key_map(void);
int lookup_command(char *, int);
int cmd_completion(char *, int);
char *command_name(int);
key_type parse_key(char *);
char *key_name(key_type);
void dump_global_map(void);
int dump_key_map(char *);
int lookup_keymap(char *);
int make_keymap(char *);
int keymap_completion(char *, int);
#endif /* _NN_KEYMAP_H */
|