1 /*
2 * keys.c: Does command line parsing, etc
3 *
4 * Written By Michael Sandrof
5 *
6 * Copyright (c) 1990 Michael Sandrof.
7 * Copyright (c) 1991, 1992 Troy Rollo.
8 * Copyright (c) 1992-2000 Matthew R. Green.
9 * All rights reserved.
10 *
11 * Redistribution and use in source and binary forms, with or without
12 * modification, are permitted provided that the following conditions
13 * are met:
14 * 1. Redistributions of source code must retain the above copyright
15 * notice, this list of conditions and the following disclaimer.
16 * 2. Redistributions in binary form must reproduce the above copyright
17 * notice, this list of conditions and the following disclaimer in the
18 * documentation and/or other materials provided with the distribution.
19 * 3. The name of the author may not be used to endorse or promote products
20 * derived from this software without specific prior written permission.
21 *
22 * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR
23 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
24 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
25 * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT,
26 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
27 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
28 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
29 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
30 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
31 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
32 * SUCH DAMAGE.
33 */
34
35 #include "irc.h"
36 IRCII_RCSID("@(#)$Id: keys.c,v 1.41 2000/04/04 10:39:43 mrg Exp $");
37
38 #include "output.h"
39 #include "keys.h"
40 #include "channels.h"
41 #include "ircaux.h"
42 #include "window.h"
43 #include "edit.h"
44 #include "vars.h"
45 #include "translat.h"
46 #include "ircterm.h"
47 #include "input.h"
48 #include "screen.h"
49 #include "menu.h"
50 #include "ircterm.h"
51
52 /* ninja stuff */
53 #include "operview.h"
54 #include "tabkey.h"
55 #include "ckey.h"
56 #include "dma.h"
57
58 static int lookup_function _((u_char *, int *));
59 static u_char * display_key _((u_int));
60 static void show_binding _((u_int, int));
61 static int parse_key _((u_char *));
62 static void write_binding _((u_int, u_int, FILE *, int));
63 static void bind_it _((u_char *, u_char *, u_int, int));
64
65 /*
66 * lookup_function: looks up an irc function by name, and returns the
67 * number of functions that match the name, and sets where index points
68 * to to be the index of the (first) function found.
69 */
70 static int
lookup_function(name,func_index)71 lookup_function(name, func_index)
72 u_char *name;
73 int *func_index;
74 {
75 size_t len;
76 int cnt,
77 i;
78
79 if (name)
80 {
81 upper(name);
82 len = my_strlen(name);
83 cnt = 0;
84 *func_index = -1;
85 for (i = 0; i < NUMBER_OF_FUNCTIONS; i++)
86 {
87 if (my_strncmp(name, key_names[i].name, len) == 0)
88 {
89 cnt++;
90 if (*func_index == -1)
91 *func_index = i;
92 }
93 }
94 if (*func_index == -1)
95 return (0);
96 if (my_strcmp(name, key_names[*func_index].name) == 0)
97 return (1);
98 else
99 return (cnt);
100 }
101 return (0);
102 }
103
104 /*
105 * display_key: converts the character c to a displayable form and returns
106 * it. Very simple indeed
107 */
108 static u_char *
display_key(c)109 display_key(c)
110 u_int c;
111 {
112 static u_char key[3];
113
114 key[2] = (u_char) 0;
115 if (c < 32)
116 {
117 key[0] = '^';
118 key[1] = c + 64;
119 }
120 else if (c == '\177')
121 {
122 key[0] = '^';
123 key[1] = '?';
124 }
125 else
126 {
127 key[0] = c;
128 key[1] = (u_char) 0;
129 }
130 return (key);
131 }
132
133 /*
134 * show_binding: given the ascii value of a key and a meta key status (1 for
135 * meta1 keys, 2 for meta2 keys, anything else for normal keys), this will
136 * display the key binding for the key in a nice way
137 */
138 static void
show_binding(c,meta)139 show_binding(c, meta)
140 u_int c;
141 int meta;
142 {
143 KeyMap *map;
144 char *meta_str;
145
146 switch (meta)
147 {
148 case 1:
149 map = meta1_keys;
150 meta_str = "META1-";
151 break;
152 case 2:
153 map = meta2_keys;
154 meta_str = "META2-";
155 break;
156 case 3:
157 map = meta3_keys;
158 meta_str = "META3-";
159 break;
160 case 4:
161 map = meta4_keys;
162 meta_str = "META4-";
163 break;
164 case 5:
165 map = meta5_keys;
166 meta_str = "META5-";
167 break;
168 case 6:
169 map = meta6_keys;
170 meta_str = "META6-";
171 break;
172 case 7:
173 map = meta7_keys;
174 meta_str = "META7-";
175 break;
176 case 8:
177 map = meta8_keys;
178 meta_str = "META8-";
179 break;
180 default:
181 map = keys;
182 meta_str = CP(empty_string);
183 break;
184 }
185 say("%s%s is bound to %s %s", meta_str, display_key(c),
186 key_names[map[c].index].name, (map[c].stuff &&
187 (*(map[c].stuff))) ? map[c].stuff : empty_string);
188 }
189
190 /*
191 * parse_key: converts a key string. Accepts any key, or ^c where c is any
192 * key (representing control characters), or META1- or META2- for meta1 or
193 * meta2 keys respectively. The string itself is converted to true ascii
194 * value, thus "^A" is converted to 1, etc. Meta key info is removed and
195 * returned as the function value, 0 for no meta key, 1 for meta1, and 2 for
196 * meta2. Thus, "META1-a" is converted to "a" and a 1 is returned.
197 * Furthermore, if ^X is bound to META2_CHARACTER, and "^Xa" is passed to
198 * parse_key(), it is converted to "a" and 2 is returned. Do ya understand
199 * this?
200 */
201 static int
parse_key(key_str)202 parse_key(key_str)
203 u_char *key_str;
204 {
205 u_char *ptr1, *ptr2;
206 u_char c;
207 int meta = 0;
208
209 ptr2 = ptr1 = key_str;
210 while (*ptr1)
211 {
212 if (*ptr1 == '^')
213 {
214 ptr1++;
215 switch (*ptr1)
216 {
217 case 0:
218 *(ptr2++) = '^';
219 break;
220 case '?':
221 *(ptr2++) = '\177';
222 ptr1++;
223 break;
224 default:
225 c = *(ptr1++);
226 if (islower(c))
227 c = toupper(c);
228 if (c < 64)
229 {
230 say("Illegal key sequence: ^%c", c);
231 return (-1);
232 }
233 *(ptr2++) = c - 64;
234 }
235 }
236 else
237 *(ptr2++) = *(ptr1++);
238 }
239 *ptr2 = (u_char) 0;
240 if ((int) my_strlen(key_str) > 1)
241 {
242 u_char *cmd = NULL;
243
244 malloc_strcpy(&cmd, key_str);
245 upper(cmd);
246 if (my_strncmp(cmd, "META1-", 6) == 0)
247 {
248 my_strcpy(key_str, key_str + 6);
249 meta = 1;
250 }
251 else if (my_strncmp(cmd, "META2-", 6) == 0)
252 {
253 my_strcpy(key_str, key_str + 6);
254 meta = 2;
255 }
256 else if (my_strncmp(cmd, "META3-", 6) == 0)
257 {
258 my_strcpy(key_str, key_str + 6);
259 meta = 3;
260 }
261 else if (my_strncmp(cmd, "META4-", 6) == 0)
262 {
263 my_strcpy(key_str, key_str + 6);
264 meta = 4;
265 }
266 else if (my_strncmp(cmd, "META5-", 6) == 0)
267 {
268 my_strcpy(key_str, key_str + 6);
269 meta = 5;
270 }
271 else if (my_strncmp(cmd, "META6-", 6) == 0)
272 {
273 my_strcpy(key_str, key_str + 6);
274 meta = 6;
275 }
276 else if (my_strncmp(cmd, "META7-", 6) == 0)
277 {
278 my_strcpy(key_str, key_str + 6);
279 meta = 7;
280 }
281 else if (my_strncmp(cmd, "META8-", 6) == 0)
282 {
283 my_strcpy(key_str, key_str + 6);
284 meta = 8;
285 }
286 else if (keys[(u_char) *key_str].index == META1_CHARACTER)
287 {
288 meta = 1;
289 my_strcpy(key_str, key_str + 1);
290 }
291 else if (keys[(u_char) *key_str].index == META2_CHARACTER)
292 {
293 meta = 2;
294 my_strcpy(key_str, key_str + 1);
295 }
296 else if (keys[(u_char) *key_str].index == META3_CHARACTER)
297 {
298 meta = 3;
299 my_strcpy(key_str, key_str + 1);
300 }
301 else if (keys[(u_char) *key_str].index == META4_CHARACTER)
302 {
303 meta = 4;
304 my_strcpy(key_str, key_str + 1);
305 }
306 else if (keys[(u_char) *key_str].index == META5_CHARACTER)
307 {
308 meta = 5;
309 my_strcpy(key_str, key_str + 1);
310 }
311 else if (keys[(u_char) *key_str].index == META6_CHARACTER)
312 {
313 meta = 6;
314 my_strcpy(key_str, key_str + 1);
315 }
316 else if (keys[(u_char) *key_str].index == META7_CHARACTER)
317 {
318 meta = 7;
319 my_strcpy(key_str, key_str + 1);
320 }
321 else if (keys[(u_char) *key_str].index == META8_CHARACTER)
322 {
323 meta = 8;
324 my_strcpy(key_str, key_str + 1);
325 }
326 else
327 {
328 say("Illegal key sequence: %s is not a meta-key", display_key(*key_str));
329 return (-1);
330 }
331 new_free(&cmd);
332 }
333 return (meta);
334 }
335
336 /*
337 * bind_it: does the actually binding of the function to the key with the
338 * given meta modifier
339 */
340 static void
bind_it(function,string,key,meta)341 bind_it(function, string, key, meta)
342 u_char *function,
343 *string;
344 u_int key;
345 int meta;
346 {
347 KeyMap *km;
348 int cnt,
349 func_index,
350 i;
351
352 switch (meta)
353 {
354 case 0:
355 km = keys;
356 break;
357 case 1:
358 km = meta1_keys;
359 break;
360 case 2:
361 km = meta2_keys;
362 break;
363 case 3:
364 km = meta3_keys;
365 break;
366 case 4:
367 km = meta4_keys;
368 break;
369 case 5:
370 km = meta5_keys;
371 break;
372 case 6:
373 km = meta6_keys;
374 break;
375 case 7:
376 km = meta7_keys;
377 break;
378 case 8:
379 km = meta8_keys;
380 break;
381 default:
382 km = keys;
383 }
384 if (*string == (u_char) 0)
385 string = (u_char *) 0;
386 switch (cnt = lookup_function(function, &func_index))
387 {
388 case 0:
389 say("No such function: %s", function);
390 break;
391 case 1:
392 if (! km[key].changed)
393 {
394 if ((km[key].index != func_index) ||
395 ((string == (u_char *) 0) &&
396 km[key].stuff) ||
397 ((km[key].stuff == (u_char *) 0) &&
398 string) || (string && km[key].stuff &&
399 my_strcmp(km[key].stuff,string)))
400 km[key].changed = 1;
401 km[key].stuff = NULL;
402 }
403 km[key].index = func_index;
404 km[key].global = loading_global;
405 malloc_strcpy(&(km[key].stuff), string);
406 show_binding(key, meta);
407 break;
408 default:
409 say("Ambiguous function name: %s", function);
410 for (i = 0; i < cnt; i++, func_index++)
411 put_it("%s", key_names[func_index].name);
412 break;
413 }
414 }
415
416 /* parsekeycmd: does the PARSEKEY command. */
417 void
parsekeycmd(command,args,subargs)418 parsekeycmd(command, args, subargs)
419 u_char *command,
420 *args,
421 *subargs;
422 {
423 int i;
424 u_char *arg;
425
426 if ((arg = next_arg(args, &args)) != NULL)
427 {
428 switch (lookup_function(arg, &i))
429 {
430 case 0:
431 say("No such function %s", arg);
432 return;
433 case 1:
434 key_names[i].func(0, args);
435 break;
436 default:
437 say("Ambigious function %s", arg);
438 break;
439 }
440 }
441 }
442
443 /*
444 * bindcmd: the bind command, takes a key sequence followed by a function
445 * name followed by option arguments (used depending on the function) and
446 * binds a key. If no function is specified, the current binding for that
447 * key is shown
448 */
449 /*ARGSUSED*/
450 void
bindcmd(command,args,subargs)451 bindcmd(command, args, subargs)
452 u_char *command,
453 *args,
454 *subargs;
455 {
456 u_char *key;
457 u_char *function;
458 int meta;
459
460 if ((key = (u_char *) next_arg(args, &args)) != NULL)
461 {
462 if ((meta = parse_key(key)) == -1)
463 return;
464 if (my_strlen(key) > 1)
465 {
466 say("Key sequences may not contain more than two keys");
467 return;
468 }
469 if ((function = next_arg(args, &args)) != NULL)
470 bind_it(function, args, *key, meta);
471 else
472 show_binding(*key, meta);
473 }
474 else
475 {
476 u_int i;
477 int charsize = charset_size();
478
479 for (i = 0; i < charsize; i++)
480 {
481 if ((keys[i].index != NOTHING) && (keys[i].index !=
482 SELF_INSERT))
483 show_binding(i, 0);
484 }
485 for (i = 0; i < charsize; i++)
486 {
487 if ((meta1_keys[i].index != NOTHING) &&
488 (meta1_keys[i].index != SELF_INSERT))
489 show_binding(i, 1);
490 }
491 for (i = 0; i < charsize; i++)
492 {
493 if ((meta2_keys[i].index != NOTHING) &&
494 (meta2_keys[i].index != SELF_INSERT))
495 show_binding(i, 2);
496 }
497 for (i = 0; i < charsize; i++)
498 {
499 if ((meta3_keys[i].index != NOTHING) &&
500 (meta3_keys[i].index != SELF_INSERT))
501 show_binding(i, 3);
502 }
503 for (i = 0; i < charsize; i++)
504 {
505 if ((meta4_keys[i].index != NOTHING) &&
506 (meta4_keys[i].index != SELF_INSERT))
507 show_binding(i, 4);
508 }
509 for (i = 0; i < charsize; i++)
510 {
511 if ((meta5_keys[i].index != NOTHING) &&
512 (meta5_keys[i].index != SELF_INSERT))
513 show_binding(i, 5);
514 }
515 for (i = 0; i < charsize; i++)
516 {
517 if ((meta6_keys[i].index != NOTHING) &&
518 (meta6_keys[i].index != SELF_INSERT))
519 show_binding(i, 6);
520 }
521 for (i = 0; i < charsize; i++)
522 {
523 if ((meta7_keys[i].index != NOTHING) &&
524 (meta7_keys[i].index != SELF_INSERT))
525 show_binding(i, 7);
526 }
527 for (i = 0; i < charsize; i++)
528 {
529 if ((meta8_keys[i].index != NOTHING) &&
530 (meta8_keys[i].index != SELF_INSERT))
531 show_binding(i, 8);
532 }
533 }
534 }
535
536 /*
537 * rbindcmd: does the rbind command. you give it a string that something
538 * is bound to and it tells you all the things that are bound to that
539 * functions
540 */
541 void
rbindcmd(command,args,subargs)542 rbindcmd(command, args, subargs)
543 u_char *command,
544 *args,
545 *subargs;
546 {
547 int f;
548 u_char *arg;
549
550 if ((arg = next_arg(args, &args)) != NULL)
551 {
552 u_int i;
553 int charsize = charset_size();
554
555 switch (lookup_function(arg, &f))
556 {
557 case 0:
558 say("No such function %s", arg);
559 return;
560
561 case 1:
562 break;
563
564 default:
565 say("Ambigious function %s", arg);
566 return;
567 }
568
569 for (i = 0; i < charsize; i++)
570 if (f == keys[i].index)
571 show_binding(i, 0);
572 for (i = 0; i < charsize; i++)
573 if (f == meta1_keys[i].index)
574 show_binding(i, 1);
575 for (i = 0; i < charsize; i++)
576 if (f == meta2_keys[i].index)
577 show_binding(i, 2);
578 for (i = 0; i < charsize; i++)
579 if (f == meta3_keys[i].index)
580 show_binding(i, 3);
581 for (i = 0; i < charsize; i++)
582 if (f == meta4_keys[i].index)
583 show_binding(i, 4);
584 for (i = 0; i < charsize; i++)
585 if (f == meta5_keys[i].index)
586 show_binding(i, 5);
587 for (i = 0; i < charsize; i++)
588 if (f == meta6_keys[i].index)
589 show_binding(i, 6);
590 for (i = 0; i < charsize; i++)
591 if (f == meta7_keys[i].index)
592 show_binding(i, 7);
593 for (i = 0; i < charsize; i++)
594 if (f == meta8_keys[i].index)
595 show_binding(i, 8);
596 }
597 }
598
599 void (*
600 get_send_line _((void))) _((u_int, u_char *))
601 {
602 return (void (*) _((u_int, u_char *))) key_names[SEND_LINE].func;
603 }
604
605 /*
606 * change_send_line: Allows you to change the everything bound to SENDLINE in
607 * one fell swoop. Used by the various functions that gather input using the
608 * normal irc interface but dont wish to parse it and send it to the server.
609 * Sending NULL resets it to send_line()
610 */
611 void
612 change_send_line(func)
613 void (*func) _((u_int, u_char *));
614 {
615 if (func)
616 key_names[SEND_LINE].func = func;
617 else
618 key_names[SEND_LINE].func = send_line;
619 }
620
621 /*
622 * type: The TYPE command. This parses the given string and treats each
623 * character as tho it were typed in by the user. Thus key bindings are used
624 * for each character parsed. Special case characters are control character
625 * sequences, specified by a ^ follow by a legal control key. Thus doing
626 * "/TYPE ^B" will be as tho ^B were hit at the keyboard, probably moving the
627 * cursor backward one character.
628 */
629 /*ARGSUSED*/
630 void
type(command,args,subargs)631 type(command, args, subargs)
632 u_char *command,
633 *args,
634 *subargs;
635 {
636 int c;
637 u_char key;
638
639 while (*args)
640 {
641 if (*args == '^')
642 {
643 switch (*(++args))
644 {
645 case '?':
646 key = '\177';
647 args++;
648 break;
649 default:
650 c = *(args++);
651 if (islower(c))
652 c = toupper(c);
653 if (c < 64)
654 {
655 say("Illegal key sequence: ^%c", c);
656 return;
657 }
658 key = c - 64;
659 break;
660 }
661 }
662 else if (*args == '\\')
663 {
664 key = *++args;
665 args++;
666 }
667 else
668 key = *(args++);
669 edit_char((u_int)key);
670 }
671 }
672
673 /* The string values for these *MUST* be in ALL CAPITALS */
674 KeyMapNames FAR key_names[] =
675 {
676 { "BACKSPACE", input_backspace },
677 { "BACKWARD_CHARACTER", backward_character },
678 { "BACKWARD_HISTORY", backward_history },
679 { "BACKWARD_WORD", input_backward_word },
680 { "BEGINNING_OF_LINE", input_beginning_of_line },
681 { "CLEAR_SCREEN", irc_clear_screen },
682 { "COMMAND_COMPLETION", command_completion },
683 { "DELETE_CHARACTER", input_delete_character },
684 { "DELETE_NEXT_WORD", input_delete_next_word },
685 { "DELETE_PREVIOUS_WORD", input_delete_previous_word },
686 { "END_OF_LINE", input_end_of_line },
687 { "ENTER_DIGRAPH", enter_digraph },
688 { "ENTER_MENU", enter_menu },
689 { "ERASE_LINE", input_clear_line },
690 { "ERASE_TO_BEG_OF_LINE", input_clear_to_bol },
691 { "ERASE_TO_END_OF_LINE", input_clear_to_eol },
692 { "FORWARD_CHARACTER", forward_character },
693 { "FORWARD_HISTORY", forward_history },
694 { "FORWARD_WORD", input_forward_word },
695 { "JOIN_INVITE", join_invite },
696 { "META1_CHARACTER", meta1_char },
697 { "META2_CHARACTER", meta2_char },
698 { "META3_CHARACTER", meta3_char },
699 { "META4_CHARACTER", meta4_char },
700 { "META5_CHARACTER", meta5_char },
701 { "META6_CHARACTER", meta6_char },
702 { "META7_CHARACTER", meta7_char },
703 { "META8_CHARACTER", meta8_char },
704 { "NEXT_WINDOW", next_window },
705 { "NOTHING", NULL },
706 { "OPER_VIEW", toggle_operview },
707 { "PARSE_COMMAND", parse_text },
708 { "PREVIOUS_WINDOW", previous_window },
709 { "QUIT_IRC", irc_quit },
710 { "QUOTE_CHARACTER", quote_char },
711 { "REFRESH_INPUTLINE", refresh_inputline },
712 { "REFRESH_SCREEN", refresh_screen },
713 { "REPLY_TO", tab_reply },
714 { "SCROLL_BACKWARD", scrollback_backwards },
715 { "SCROLL_END", scrollback_end },
716 { "SCROLL_FORWARD", scrollback_forwards },
717 { "SCROLL_START", scrollback_start },
718 { "SELF_INSERT", input_add_character },
719 { "SEND_LINE", send_line },
720 { "STOP_IRC", term_pause },
721 { "SWAP_LAST_WINDOW", swap_last_window },
722 { "SWAP_NEXT_WINDOW", swap_next_window },
723 { "SWAP_PREVIOUS_WINDOW", swap_previous_window },
724 { "SWITCH_CHANNELS", switch_channels },
725 { "TOGGLE_INSERT_MODE", toggle_insert_mode },
726 { "TOGGLE_STOP_SCREEN", toggle_stop_screen },
727 { "TRANSPOSE_CHARACTERS", input_transpose_characters },
728 { "TYPE_TEXT", type_text },
729 { "UNSTOP_ALL_WINDOWS", unstop_all_windows },
730 { "YANK_FROM_CUTBUFFER", input_yank_cut_buffer }
731 };
732
733 KeyMap FAR keys[] =
734 {
735 { SELF_INSERT, 0, 0, (u_char *) 0 }, /* 0 */
736 { BEGINNING_OF_LINE, 0, 0, (u_char *) 0 },
737 { SELF_INSERT, 0, 0, (u_char *) 0 },
738 { SELF_INSERT, 0, 0, (u_char *) 0 },
739 { DELETE_CHARACTER, 0, 0, (u_char *) 0 },
740 { END_OF_LINE, 0, 0, (u_char *) 0 },
741 { FORWARD_CHARACTER, 0, 0, (u_char *) 0 },
742 { SELF_INSERT, 0, 0, (u_char *) 0 },
743
744 { BACKSPACE, 0, 0, (u_char *) 0 }, /* 8 */
745 { REPLY_TO, 0, 0, (u_char *) 0 },
746 { SEND_LINE, 0, 0, (u_char *) 0 },
747 { ERASE_TO_END_OF_LINE, 0, 0, (u_char *) 0 },
748 { REFRESH_SCREEN, 0, 0, (u_char *) 0 },
749 { SEND_LINE, 0, 0, (u_char *) 0 },
750 { FORWARD_HISTORY, 0, 0, (u_char *) 0 },
751 { SELF_INSERT, 0, 0, (u_char *) 0 },
752
753 { BACKWARD_HISTORY, 0, 0, (u_char *) 0 }, /* 16 */
754 { QUOTE_CHARACTER, 0, 0, (u_char *) 0 },
755 { ENTER_MENU, 0, 0, (u_char *) 0 },
756 { TOGGLE_STOP_SCREEN, 0, 0, (u_char *) 0 },
757 { TRANSPOSE_CHARACTERS, 0, 0, (u_char *) 0 },
758 { ERASE_LINE, 0, 0, (u_char *) 0 },
759 { SELF_INSERT, 0, 0, (u_char *) 0 },
760 { ERASE_TO_BEG_OF_LINE, 0, 0, (u_char *) 0 },
761
762 { META2_CHARACTER, 0, 0, (u_char *) 0 }, /* 24 */
763 { YANK_FROM_CUTBUFFER, 0, 0, (u_char *) 0 },
764 /* And I moved STOP_IRC to META1 26 */
765 /* and jjd switched them */
766 #ifdef ALLOW_STOP_IRC
767 { STOP_IRC, 0, 0, (u_char *) 0 },
768 #else
769 { SELF_INSERT, 0, 0, (u_char *) 0 },
770 #endif /* ALLOW_STOP_IRC */
771 { META1_CHARACTER, 0, 0, (u_char *) 0 },
772 { SELF_INSERT, 0, 0, (u_char *) 0 },
773 { SELF_INSERT, 0, 0, (u_char *) 0 },
774 { SELF_INSERT, 0, 0, (u_char *) 0 },
775 { SELF_INSERT, 0, 0, (u_char *) 0 },
776
777 { SELF_INSERT, 0, 0, (u_char *) 0 }, /* 32 */
778 { SELF_INSERT, 0, 0, (u_char *) 0 },
779 { SELF_INSERT, 0, 0, (u_char *) 0 },
780 { SELF_INSERT, 0, 0, (u_char *) 0 },
781 { SELF_INSERT, 0, 0, (u_char *) 0 },
782 { SELF_INSERT, 0, 0, (u_char *) 0 },
783 { SELF_INSERT, 0, 0, (u_char *) 0 },
784 { SELF_INSERT, 0, 0, (u_char *) 0 },
785
786 { SELF_INSERT, 0, 0, (u_char *) 0 }, /* 40 */
787 { SELF_INSERT, 0, 0, (u_char *) 0 },
788 { SELF_INSERT, 0, 0, (u_char *) 0 },
789 { SELF_INSERT, 0, 0, (u_char *) 0 },
790 { SELF_INSERT, 0, 0, (u_char *) 0 },
791 { SELF_INSERT, 0, 0, (u_char *) 0 },
792 { SELF_INSERT, 0, 0, (u_char *) 0 },
793 { SELF_INSERT, 0, 0, (u_char *) 0 },
794
795 { SELF_INSERT, 0, 0, (u_char *) 0 }, /* 48 */
796 { SELF_INSERT, 0, 0, (u_char *) 0 },
797 { SELF_INSERT, 0, 0, (u_char *) 0 },
798 { SELF_INSERT, 0, 0, (u_char *) 0 },
799 { SELF_INSERT, 0, 0, (u_char *) 0 },
800 { SELF_INSERT, 0, 0, (u_char *) 0 },
801 { SELF_INSERT, 0, 0, (u_char *) 0 },
802 { SELF_INSERT, 0, 0, (u_char *) 0 },
803
804 { SELF_INSERT, 0, 0, (u_char *) 0 }, /* 56 */
805 { SELF_INSERT, 0, 0, (u_char *) 0 },
806 { SELF_INSERT, 0, 0, (u_char *) 0 },
807 { SELF_INSERT, 0, 0, (u_char *) 0 },
808 { SELF_INSERT, 0, 0, (u_char *) 0 },
809 { SELF_INSERT, 0, 0, (u_char *) 0 },
810 { SELF_INSERT, 0, 0, (u_char *) 0 },
811 { SELF_INSERT, 0, 0, (u_char *) 0 },
812
813 { SELF_INSERT, 0, 0, (u_char *) 0 }, /* 64 */
814 { SELF_INSERT, 0, 0, (u_char *) 0 },
815 { SELF_INSERT, 0, 0, (u_char *) 0 },
816 { SELF_INSERT, 0, 0, (u_char *) 0 },
817 { SELF_INSERT, 0, 0, (u_char *) 0 },
818 { SELF_INSERT, 0, 0, (u_char *) 0 },
819 { SELF_INSERT, 0, 0, (u_char *) 0 },
820 { SELF_INSERT, 0, 0, (u_char *) 0 },
821
822 { SELF_INSERT, 0, 0, (u_char *) 0 }, /* 72 */
823 { SELF_INSERT, 0, 0, (u_char *) 0 },
824 { SELF_INSERT, 0, 0, (u_char *) 0 },
825 { SELF_INSERT, 0, 0, (u_char *) 0 },
826 { SELF_INSERT, 0, 0, (u_char *) 0 },
827 { SELF_INSERT, 0, 0, (u_char *) 0 },
828 { SELF_INSERT, 0, 0, (u_char *) 0 },
829 { SELF_INSERT, 0, 0, (u_char *) 0 },
830
831 { SELF_INSERT, 0, 0, (u_char *) 0 }, /* 80 */
832 { SELF_INSERT, 0, 0, (u_char *) 0 },
833 { SELF_INSERT, 0, 0, (u_char *) 0 },
834 { SELF_INSERT, 0, 0, (u_char *) 0 },
835 { SELF_INSERT, 0, 0, (u_char *) 0 },
836 { SELF_INSERT, 0, 0, (u_char *) 0 },
837 { SELF_INSERT, 0, 0, (u_char *) 0 },
838 { SELF_INSERT, 0, 0, (u_char *) 0 },
839
840 { SELF_INSERT, 0, 0, (u_char *) 0 }, /* 88 */
841 { SELF_INSERT, 0, 0, (u_char *) 0 },
842 { SELF_INSERT, 0, 0, (u_char *) 0 },
843 { SELF_INSERT, 0, 0, (u_char *) 0 },
844 { SELF_INSERT, 0, 0, (u_char *) 0 },
845 { SELF_INSERT, 0, 0, (u_char *) 0 },
846 { SELF_INSERT, 0, 0, (u_char *) 0 },
847 { SELF_INSERT, 0, 0, (u_char *) 0 },
848
849 { SELF_INSERT, 0, 0, (u_char *) 0 }, /* 96 */
850 { SELF_INSERT, 0, 0, (u_char *) 0 },
851 { SELF_INSERT, 0, 0, (u_char *) 0 },
852 { SELF_INSERT, 0, 0, (u_char *) 0 },
853 { SELF_INSERT, 0, 0, (u_char *) 0 },
854 { SELF_INSERT, 0, 0, (u_char *) 0 },
855 { SELF_INSERT, 0, 0, (u_char *) 0 },
856 { SELF_INSERT, 0, 0, (u_char *) 0 },
857
858 { SELF_INSERT, 0, 0, (u_char *) 0 }, /* 104 */
859 { SELF_INSERT, 0, 0, (u_char *) 0 },
860 { SELF_INSERT, 0, 0, (u_char *) 0 },
861 { SELF_INSERT, 0, 0, (u_char *) 0 },
862 { SELF_INSERT, 0, 0, (u_char *) 0 },
863 { SELF_INSERT, 0, 0, (u_char *) 0 },
864 { SELF_INSERT, 0, 0, (u_char *) 0 },
865 { SELF_INSERT, 0, 0, (u_char *) 0 },
866
867 { SELF_INSERT, 0, 0, (u_char *) 0 }, /* 112 */
868 { SELF_INSERT, 0, 0, (u_char *) 0 },
869 { SELF_INSERT, 0, 0, (u_char *) 0 },
870 { SELF_INSERT, 0, 0, (u_char *) 0 },
871 { SELF_INSERT, 0, 0, (u_char *) 0 },
872 { SELF_INSERT, 0, 0, (u_char *) 0 },
873 { SELF_INSERT, 0, 0, (u_char *) 0 },
874 { SELF_INSERT, 0, 0, (u_char *) 0 },
875
876 { SELF_INSERT, 0, 0, (u_char *) 0 }, /* 120 */
877 { SELF_INSERT, 0, 0, (u_char *) 0 },
878 { SELF_INSERT, 0, 0, (u_char *) 0 },
879 { SELF_INSERT, 0, 0, (u_char *) 0 },
880 { SELF_INSERT, 0, 0, (u_char *) 0 },
881 { SELF_INSERT, 0, 0, (u_char *) 0 },
882 { SELF_INSERT, 0, 0, (u_char *) 0 },
883 { BACKSPACE, 0, 0, (u_char *) 0 },
884
885 { SELF_INSERT, 0, 0, (u_char *) 0 }, /* 128 */
886 { SELF_INSERT, 0, 0, (u_char *) 0 },
887 { SELF_INSERT, 0, 0, (u_char *) 0 },
888 { SELF_INSERT, 0, 0, (u_char *) 0 },
889 { SELF_INSERT, 0, 0, (u_char *) 0 },
890 { SELF_INSERT, 0, 0, (u_char *) 0 },
891 { SELF_INSERT, 0, 0, (u_char *) 0 },
892 { SELF_INSERT, 0, 0, (u_char *) 0 },
893
894 { SELF_INSERT, 0, 0, (u_char *) 0 }, /* 136 */
895 { SELF_INSERT, 0, 0, (u_char *) 0 },
896 { SELF_INSERT, 0, 0, (u_char *) 0 },
897 { SELF_INSERT, 0, 0, (u_char *) 0 },
898 { SELF_INSERT, 0, 0, (u_char *) 0 },
899 { SELF_INSERT, 0, 0, (u_char *) 0 },
900 { SELF_INSERT, 0, 0, (u_char *) 0 },
901 { SELF_INSERT, 0, 0, (u_char *) 0 },
902
903 { SELF_INSERT, 0, 0, (u_char *) 0 }, /* 144 */
904 { SELF_INSERT, 0, 0, (u_char *) 0 },
905 { SELF_INSERT, 0, 0, (u_char *) 0 },
906 { SELF_INSERT, 0, 0, (u_char *) 0 },
907 { SELF_INSERT, 0, 0, (u_char *) 0 },
908 { SELF_INSERT, 0, 0, (u_char *) 0 },
909 { SELF_INSERT, 0, 0, (u_char *) 0 },
910 { SELF_INSERT, 0, 0, (u_char *) 0 },
911
912 { SELF_INSERT, 0, 0, (u_char *) 0 }, /* 152 */
913 { SELF_INSERT, 0, 0, (u_char *) 0 },
914 { SELF_INSERT, 0, 0, (u_char *) 0 },
915 { SELF_INSERT, 0, 0, (u_char *) 0 },
916 { SELF_INSERT, 0, 0, (u_char *) 0 },
917 { SELF_INSERT, 0, 0, (u_char *) 0 },
918 { SELF_INSERT, 0, 0, (u_char *) 0 },
919 { SELF_INSERT, 0, 0, (u_char *) 0 },
920
921 { SELF_INSERT, 0, 0, (u_char *) 0 }, /* 160 */
922 { SELF_INSERT, 0, 0, (u_char *) 0 },
923 { SELF_INSERT, 0, 0, (u_char *) 0 },
924 { SELF_INSERT, 0, 0, (u_char *) 0 },
925 { SELF_INSERT, 0, 0, (u_char *) 0 },
926 { SELF_INSERT, 0, 0, (u_char *) 0 },
927 { SELF_INSERT, 0, 0, (u_char *) 0 },
928 { SELF_INSERT, 0, 0, (u_char *) 0 },
929
930 { SELF_INSERT, 0, 0, (u_char *) 0 }, /* 168 */
931 { SELF_INSERT, 0, 0, (u_char *) 0 },
932 { SELF_INSERT, 0, 0, (u_char *) 0 },
933 { SELF_INSERT, 0, 0, (u_char *) 0 },
934 { SELF_INSERT, 0, 0, (u_char *) 0 },
935 { SELF_INSERT, 0, 0, (u_char *) 0 },
936 { SELF_INSERT, 0, 0, (u_char *) 0 },
937 { SELF_INSERT, 0, 0, (u_char *) 0 },
938
939 { SELF_INSERT, 0, 0, (u_char *) 0 }, /* 176 */
940 { SELF_INSERT, 0, 0, (u_char *) 0 },
941 { SELF_INSERT, 0, 0, (u_char *) 0 },
942 { SELF_INSERT, 0, 0, (u_char *) 0 },
943 { SELF_INSERT, 0, 0, (u_char *) 0 },
944 { SELF_INSERT, 0, 0, (u_char *) 0 },
945 { SELF_INSERT, 0, 0, (u_char *) 0 },
946 { SELF_INSERT, 0, 0, (u_char *) 0 },
947
948 { SELF_INSERT, 0, 0, (u_char *) 0 }, /* 184 */
949 { SELF_INSERT, 0, 0, (u_char *) 0 },
950 { SELF_INSERT, 0, 0, (u_char *) 0 },
951 { SELF_INSERT, 0, 0, (u_char *) 0 },
952 { SELF_INSERT, 0, 0, (u_char *) 0 },
953 /* { SCROLL_START, 0, 0, (u_char *) 0 }, */
954 { SELF_INSERT, 0, 0, (u_char *) 0 },
955 { SELF_INSERT, 0, 0, (u_char *) 0 },
956 /* { SCROLL_END, 0, 0, (u_char *) 0 }, */
957 { SELF_INSERT, 0, 0, (u_char *) 0 },
958
959 { SELF_INSERT, 0, 0, (u_char *) 0 }, /* 192 */
960 { SELF_INSERT, 0, 0, (u_char *) 0 },
961 { SELF_INSERT, 0, 0, (u_char *) 0 },
962 { SELF_INSERT, 0, 0, (u_char *) 0 },
963 { SELF_INSERT, 0, 0, (u_char *) 0 },
964 { SELF_INSERT, 0, 0, (u_char *) 0 },
965 { SELF_INSERT, 0, 0, (u_char *) 0 },
966 { SELF_INSERT, 0, 0, (u_char *) 0 },
967
968 { SELF_INSERT, 0, 0, (u_char *) 0 }, /* 200 */
969 { SELF_INSERT, 0, 0, (u_char *) 0 },
970 { SELF_INSERT, 0, 0, (u_char *) 0 },
971 { SELF_INSERT, 0, 0, (u_char *) 0 },
972 { SELF_INSERT, 0, 0, (u_char *) 0 },
973 { SELF_INSERT, 0, 0, (u_char *) 0 },
974 { SELF_INSERT, 0, 0, (u_char *) 0 },
975 { SELF_INSERT, 0, 0, (u_char *) 0 },
976
977 { SELF_INSERT, 0, 0, (u_char *) 0 }, /* 208 */
978 { SELF_INSERT, 0, 0, (u_char *) 0 },
979 { SELF_INSERT, 0, 0, (u_char *) 0 },
980 { SELF_INSERT, 0, 0, (u_char *) 0 },
981 { SELF_INSERT, 0, 0, (u_char *) 0 },
982 { SELF_INSERT, 0, 0, (u_char *) 0 },
983 { SELF_INSERT, 0, 0, (u_char *) 0 },
984 { SELF_INSERT, 0, 0, (u_char *) 0 },
985
986 { SELF_INSERT, 0, 0, (u_char *) 0 }, /* 216 */
987 { SELF_INSERT, 0, 0, (u_char *) 0 },
988 { SELF_INSERT, 0, 0, (u_char *) 0 },
989 { SELF_INSERT, 0, 0, (u_char *) 0 },
990 { SELF_INSERT, 0, 0, (u_char *) 0 },
991 { SELF_INSERT, 0, 0, (u_char *) 0 },
992 { SELF_INSERT, 0, 0, (u_char *) 0 },
993 { SELF_INSERT, 0, 0, (u_char *) 0 },
994
995 { SELF_INSERT, 0, 0, (u_char *) 0 }, /* 224 */
996 { SELF_INSERT, 0, 0, (u_char *) 0 },
997 { SELF_INSERT, 0, 0, (u_char *) 0 },
998 /* { BACKWARD_WORD, 0, 0, (u_char *) 0 }, */
999 { SELF_INSERT, 0, 0, (u_char *) 0 },
1000 { SELF_INSERT, 0, 0, (u_char *) 0 },
1001 /* { DELETE_NEXT_WORD, 0, 0, (u_char *) 0 }, */
1002 { SELF_INSERT, 0, 0, (u_char *) 0 },
1003 /* { SCROLL_END, 0, 0, (u_char *) 0 }, */
1004 { SELF_INSERT, 0, 0, (u_char *) 0 },
1005 /* { FORWARD_WORD, 0, 0, (u_char *) 0 }, */
1006 { SELF_INSERT, 0, 0, (u_char *) 0 },
1007
1008 /* { DELETE_PREVIOUS_WORD, 0, 0, (u_char *) 0 }, */
1009 { SELF_INSERT, 0, 0, (u_char *) 0 }, /* 232 */
1010 { SELF_INSERT, 0, 0, (u_char *) 0 },
1011 { SELF_INSERT, 0, 0, (u_char *) 0 },
1012 { SELF_INSERT, 0, 0, (u_char *) 0 },
1013 { SELF_INSERT, 0, 0, (u_char *) 0 },
1014 { SELF_INSERT, 0, 0, (u_char *) 0 },
1015 { SELF_INSERT, 0, 0, (u_char *) 0 },
1016 { SELF_INSERT, 0, 0, (u_char *) 0 },
1017
1018 { SELF_INSERT, 0, 0, (u_char *) 0 }, /* 240 */
1019 { SELF_INSERT, 0, 0, (u_char *) 0 },
1020 { SELF_INSERT, 0, 0, (u_char *) 0 },
1021 { SELF_INSERT, 0, 0, (u_char *) 0 },
1022 { SELF_INSERT, 0, 0, (u_char *) 0 },
1023 { SELF_INSERT, 0, 0, (u_char *) 0 },
1024 { SELF_INSERT, 0, 0, (u_char *) 0 },
1025 { SELF_INSERT, 0, 0, (u_char *) 0 },
1026
1027 { SELF_INSERT, 0, 0, (u_char *) 0 }, /* 248 */
1028 { SELF_INSERT, 0, 0, (u_char *) 0 },
1029 { SELF_INSERT, 0, 0, (u_char *) 0 },
1030 { SELF_INSERT, 0, 0, (u_char *) 0 },
1031 { SELF_INSERT, 0, 0, (u_char *) 0 },
1032 { SELF_INSERT, 0, 0, (u_char *) 0 },
1033 { SELF_INSERT, 0, 0, (u_char *) 0 },
1034 { SELF_INSERT, 0, 0, (u_char *) 0 }
1035 /* { DELETE_PREVIOUS_WORD, 0, 0, (u_char *) 0 } */
1036 };
1037
1038 KeyMap FAR meta1_keys[] =
1039 {
1040 { NOTHING, 0, 0, (u_char *) 0 }, /* 0 */
1041 { NOTHING, 0, 0, (u_char *) 0 },
1042 { NOTHING, 0, 0, (u_char *) 0 },
1043 { NOTHING, 0, 0, (u_char *) 0 },
1044 { NOTHING, 0, 0, (u_char *) 0 },
1045 { NOTHING, 0, 0, (u_char *) 0 },
1046 { NOTHING, 0, 0, (u_char *) 0 },
1047 { NOTHING, 0, 0, (u_char *) 0 },
1048
1049 { NOTHING, 0, 0, (u_char *) 0 }, /* 8 */
1050 { NOTHING, 0, 0, (u_char *) 0 },
1051 { NOTHING, 0, 0, (u_char *) 0 },
1052 { NOTHING, 0, 0, (u_char *) 0 },
1053 { NOTHING, 0, 0, (u_char *) 0 },
1054 { NOTHING, 0, 0, (u_char *) 0 },
1055 { NOTHING, 0, 0, (u_char *) 0 },
1056 { NOTHING, 0, 0, (u_char *) 0 },
1057
1058 { NOTHING, 0, 0, (u_char *) 0 }, /* 16 */
1059 { NOTHING, 0, 0, (u_char *) 0 },
1060 { NOTHING, 0, 0, (u_char *) 0 },
1061 { NOTHING, 0, 0, (u_char *) 0 },
1062 { NOTHING, 0, 0, (u_char *) 0 },
1063 { NOTHING, 0, 0, (u_char *) 0 },
1064 { NOTHING, 0, 0, (u_char *) 0 },
1065 { NOTHING, 0, 0, (u_char *) 0 },
1066
1067 { NOTHING, 0, 0, (u_char *) 0 }, /* 24 */
1068 { NOTHING, 0, 0, (u_char *) 0 },
1069 { NOTHING, 0, 0, (u_char *) 0 },
1070 { COMMAND_COMPLETION, 0, 0, (u_char *) 0 },
1071 { NOTHING, 0, 0, (u_char *) 0 },
1072 { NOTHING, 0, 0, (u_char *) 0 },
1073 { NOTHING, 0, 0, (u_char *) 0 },
1074 { NOTHING, 0, 0, (u_char *) 0 },
1075
1076 { NOTHING, 0, 0, (u_char *) 0 }, /* 32 */
1077 { NOTHING, 0, 0, (u_char *) 0 },
1078 { NOTHING, 0, 0, (u_char *) 0 },
1079 { NOTHING, 0, 0, (u_char *) 0 },
1080 { NOTHING, 0, 0, (u_char *) 0 },
1081 { NOTHING, 0, 0, (u_char *) 0 },
1082 { NOTHING, 0, 0, (u_char *) 0 },
1083 { NOTHING, 0, 0, (u_char *) 0 },
1084
1085 { NOTHING, 0, 0, (u_char *) 0 }, /* 40 */
1086 { NOTHING, 0, 0, (u_char *) 0 },
1087 { NOTHING, 0, 0, (u_char *) 0 },
1088 { NOTHING, 0, 0, (u_char *) 0 },
1089 { NOTHING, 0, 0, (u_char *) 0 },
1090 { PARSE_COMMAND, 0, 0, (u_char *)"window shrink 1" },
1091 { CLEAR_SCREEN, 0, 0, (u_char *) 0 },
1092 { NOTHING, 0, 0, (u_char *) 0 },
1093
1094 { NOTHING, 0, 0, (u_char *) 0 }, /* 48 */
1095 { PARSE_COMMAND, 0, 0, (u_char *)"window goto 1" },
1096 { PARSE_COMMAND, 0, 0, (u_char *)"window goto 2" },
1097 { PARSE_COMMAND, 0, 0, (u_char *)"window goto 3" },
1098 { PARSE_COMMAND, 0, 0, (u_char *)"window goto 4" },
1099 { PARSE_COMMAND, 0, 0, (u_char *)"window goto 5" },
1100 { PARSE_COMMAND, 0, 0, (u_char *)"window goto 6" },
1101 { PARSE_COMMAND, 0, 0, (u_char *)"window goto 7" },
1102
1103 { PARSE_COMMAND, 0, 0, (u_char *)"window goto 8" }, /* 56 */
1104 { PARSE_COMMAND, 0, 0, (u_char *)"window goto 9" },
1105 { NOTHING, 0, 0, (u_char *) 0 },
1106 { NOTHING, 0, 0, (u_char *) 0 },
1107 { SCROLL_START, 0, 0, (u_char *) 0 },
1108 { PARSE_COMMAND, 0, 0, (u_char *)"window grow 1" },
1109 { SCROLL_END, 0, 0, (u_char *) 0 },
1110 { NOTHING, 0, 0, (u_char *) 0 },
1111
1112 { NOTHING, 0, 0, (u_char *) 0 }, /* 64 */
1113 { NOTHING, 0, 0, (u_char *) 0 },
1114 { NOTHING, 0, 0, (u_char *) 0 },
1115 { NOTHING, 0, 0, (u_char *) 0 },
1116 { NOTHING, 0, 0, (u_char *) 0 },
1117 { NOTHING, 0, 0, (u_char *) 0 },
1118 { NOTHING, 0, 0, (u_char *) 0 },
1119 { NOTHING, 0, 0, (u_char *) 0 },
1120
1121 { NOTHING, 0, 0, (u_char *) 0 }, /* 72 */
1122 { NOTHING, 0, 0, (u_char *) 0 },
1123 { NOTHING, 0, 0, (u_char *) 0 },
1124 { NOTHING, 0, 0, (u_char *) 0 },
1125 { NOTHING, 0, 0, (u_char *) 0 },
1126 { NOTHING, 0, 0, (u_char *) 0 },
1127 { NOTHING, 0, 0, (u_char *) 0 },
1128 { META5_CHARACTER, 0, 0, (u_char *) 0 },
1129
1130 { NOTHING, 0, 0, (u_char *) 0 }, /* 80 */
1131 { NOTHING, 0, 0, (u_char *) 0 },
1132 { NOTHING, 0, 0, (u_char *) 0 },
1133 { NOTHING, 0, 0, (u_char *) 0 },
1134 { NOTHING, 0, 0, (u_char *) 0 },
1135 { NOTHING, 0, 0, (u_char *) 0 },
1136 { NOTHING, 0, 0, (u_char *) 0 },
1137 { PREVIOUS_WINDOW, 0, 0, (u_char *) 0 },
1138
1139 { NOTHING, 0, 0, (u_char *) 0 }, /* 88 */
1140 { NOTHING, 0, 0, (u_char *) 0 },
1141 { NOTHING, 0, 0, (u_char *) 0 },
1142 { META3_CHARACTER, 0, 0, (u_char *) 0 },
1143 { NOTHING, 0, 0, (u_char *) 0 },
1144 { NOTHING, 0, 0, (u_char *) 0 },
1145 { NOTHING, 0, 0, (u_char *) 0 },
1146 { NOTHING, 0, 0, (u_char *) 0 },
1147
1148 { NOTHING, 0, 0, (u_char *) 0 }, /* 96 */
1149 { NOTHING, 0, 0, (u_char *) 0 },
1150 { BACKWARD_WORD, 0, 0, (u_char *) 0 },
1151 { NOTHING, 0, 0, (u_char *) 0 },
1152 { DELETE_NEXT_WORD, 0, 0, (u_char *) 0 },
1153 { SCROLL_END, 0, 0, (u_char *) 0 },
1154 { FORWARD_WORD, 0, 0, (u_char *) 0 },
1155 { NOTHING, 0, 0, (u_char *) 0 },
1156
1157 { DELETE_PREVIOUS_WORD, 0, 0, (u_char *) 0 }, /* 104 */
1158 { NOTHING, 0, 0, (u_char *) 0 },
1159 { NOTHING, 0, 0, (u_char *) 0 },
1160 { NOTHING, 0, 0, (u_char *) 0 },
1161 { NOTHING, 0, 0, (u_char *) 0 },
1162 { NOTHING, 0, 0, (u_char *) 0 },
1163 { SCROLL_FORWARD, 0, 0, (u_char *) 0 },
1164 { NOTHING, 0, 0, (u_char *) 0 },
1165
1166 { SCROLL_BACKWARD, 0, 0, (u_char *) 0 }, /* 112 */
1167 { NOTHING, 0, 0, (u_char *) 0 },
1168 { NOTHING, 0, 0, (u_char *) 0 },
1169 { NOTHING, 0, 0, (u_char *) 0 },
1170 { NOTHING, 0, 0, (u_char *) 0 },
1171 { NOTHING, 0, 0, (u_char *) 0 },
1172 { NOTHING, 0, 0, (u_char *) 0 },
1173 { PREVIOUS_WINDOW, 0, 0, (u_char *) 0 },
1174
1175 { NOTHING, 0, 0, (u_char *) 0 }, /* 120 */
1176 { NOTHING, 0, 0, (u_char *) 0 },
1177 { NOTHING, 0, 0, (u_char *) 0 },
1178 { NOTHING, 0, 0, (u_char *) 0 },
1179 { NOTHING, 0, 0, (u_char *) 0 },
1180 { NOTHING, 0, 0, (u_char *) 0 },
1181 { NOTHING, 0, 0, (u_char *) 0 },
1182 { DELETE_PREVIOUS_WORD, 0, 0, (u_char *) 0 },
1183
1184 { NOTHING, 0, 0, (u_char *) 0 }, /* 128 */
1185 { NOTHING, 0, 0, (u_char *) 0 },
1186 { NOTHING, 0, 0, (u_char *) 0 },
1187 { NOTHING, 0, 0, (u_char *) 0 },
1188 { NOTHING, 0, 0, (u_char *) 0 },
1189 { NOTHING, 0, 0, (u_char *) 0 },
1190 { NOTHING, 0, 0, (u_char *) 0 },
1191 { NOTHING, 0, 0, (u_char *) 0 },
1192
1193 { NOTHING, 0, 0, (u_char *) 0 }, /* 136 */
1194 { NOTHING, 0, 0, (u_char *) 0 },
1195 { NOTHING, 0, 0, (u_char *) 0 },
1196 { NOTHING, 0, 0, (u_char *) 0 },
1197 { NOTHING, 0, 0, (u_char *) 0 },
1198 { NOTHING, 0, 0, (u_char *) 0 },
1199 { NOTHING, 0, 0, (u_char *) 0 },
1200 { NOTHING, 0, 0, (u_char *) 0 },
1201
1202 { NOTHING, 0, 0, (u_char *) 0 }, /* 144 */
1203 { NOTHING, 0, 0, (u_char *) 0 },
1204 { NOTHING, 0, 0, (u_char *) 0 },
1205 { NOTHING, 0, 0, (u_char *) 0 },
1206 { NOTHING, 0, 0, (u_char *) 0 },
1207 { NOTHING, 0, 0, (u_char *) 0 },
1208 { NOTHING, 0, 0, (u_char *) 0 },
1209 { NOTHING, 0, 0, (u_char *) 0 },
1210
1211 { NOTHING, 0, 0, (u_char *) 0 }, /* 152 */
1212 { NOTHING, 0, 0, (u_char *) 0 },
1213 { NOTHING, 0, 0, (u_char *) 0 },
1214 { NOTHING, 0, 0, (u_char *) 0 },
1215 { NOTHING, 0, 0, (u_char *) 0 },
1216 { NOTHING, 0, 0, (u_char *) 0 },
1217 { NOTHING, 0, 0, (u_char *) 0 },
1218 { NOTHING, 0, 0, (u_char *) 0 },
1219
1220 { NOTHING, 0, 0, (u_char *) 0 }, /* 160 */
1221 { NOTHING, 0, 0, (u_char *) 0 },
1222 { NOTHING, 0, 0, (u_char *) 0 },
1223 { NOTHING, 0, 0, (u_char *) 0 },
1224 { NOTHING, 0, 0, (u_char *) 0 },
1225 { NOTHING, 0, 0, (u_char *) 0 },
1226 { NOTHING, 0, 0, (u_char *) 0 },
1227 { NOTHING, 0, 0, (u_char *) 0 },
1228
1229 { NOTHING, 0, 0, (u_char *) 0 }, /* 168 */
1230 { NOTHING, 0, 0, (u_char *) 0 },
1231 { NOTHING, 0, 0, (u_char *) 0 },
1232 { NOTHING, 0, 0, (u_char *) 0 },
1233 { NOTHING, 0, 0, (u_char *) 0 },
1234 { NOTHING, 0, 0, (u_char *) 0 },
1235 { NOTHING, 0, 0, (u_char *) 0 },
1236 { NOTHING, 0, 0, (u_char *) 0 },
1237
1238 { NOTHING, 0, 0, (u_char *) 0 }, /* 176 */
1239 { NOTHING, 0, 0, (u_char *) 0 },
1240 { NOTHING, 0, 0, (u_char *) 0 },
1241 { NOTHING, 0, 0, (u_char *) 0 },
1242 { NOTHING, 0, 0, (u_char *) 0 },
1243 { NOTHING, 0, 0, (u_char *) 0 },
1244 { NOTHING, 0, 0, (u_char *) 0 },
1245 { NOTHING, 0, 0, (u_char *) 0 },
1246
1247 { NOTHING, 0, 0, (u_char *) 0 }, /* 184 */
1248 { NOTHING, 0, 0, (u_char *) 0 },
1249 { NOTHING, 0, 0, (u_char *) 0 },
1250 { NOTHING, 0, 0, (u_char *) 0 },
1251 { NOTHING, 0, 0, (u_char *) 0 },
1252 { NOTHING, 0, 0, (u_char *) 0 },
1253 { NOTHING, 0, 0, (u_char *) 0 },
1254 { NOTHING, 0, 0, (u_char *) 0 },
1255
1256 { NOTHING, 0, 0, (u_char *) 0 }, /* 192 */
1257 { NOTHING, 0, 0, (u_char *) 0 },
1258 { NOTHING, 0, 0, (u_char *) 0 },
1259 { NOTHING, 0, 0, (u_char *) 0 },
1260 { NOTHING, 0, 0, (u_char *) 0 },
1261 { NOTHING, 0, 0, (u_char *) 0 },
1262 { NOTHING, 0, 0, (u_char *) 0 },
1263 { NOTHING, 0, 0, (u_char *) 0 },
1264
1265 { NOTHING, 0, 0, (u_char *) 0 }, /* 200 */
1266 { NOTHING, 0, 0, (u_char *) 0 },
1267 { NOTHING, 0, 0, (u_char *) 0 },
1268 { NOTHING, 0, 0, (u_char *) 0 },
1269 { NOTHING, 0, 0, (u_char *) 0 },
1270 { NOTHING, 0, 0, (u_char *) 0 },
1271 { NOTHING, 0, 0, (u_char *) 0 },
1272 { NOTHING, 0, 0, (u_char *) 0 },
1273
1274 { NOTHING, 0, 0, (u_char *) 0 }, /* 208 */
1275 { NOTHING, 0, 0, (u_char *) 0 },
1276 { NOTHING, 0, 0, (u_char *) 0 },
1277 { NOTHING, 0, 0, (u_char *) 0 },
1278 { NOTHING, 0, 0, (u_char *) 0 },
1279 { NOTHING, 0, 0, (u_char *) 0 },
1280 { NOTHING, 0, 0, (u_char *) 0 },
1281 { NOTHING, 0, 0, (u_char *) 0 },
1282
1283 { NOTHING, 0, 0, (u_char *) 0 }, /* 216 */
1284 { NOTHING, 0, 0, (u_char *) 0 },
1285 { NOTHING, 0, 0, (u_char *) 0 },
1286 { NOTHING, 0, 0, (u_char *) 0 },
1287 { NOTHING, 0, 0, (u_char *) 0 },
1288 { NOTHING, 0, 0, (u_char *) 0 },
1289 { NOTHING, 0, 0, (u_char *) 0 },
1290 { NOTHING, 0, 0, (u_char *) 0 },
1291
1292 { NOTHING, 0, 0, (u_char *) 0 }, /* 224 */
1293 { NOTHING, 0, 0, (u_char *) 0 },
1294 { NOTHING, 0, 0, (u_char *) 0 },
1295 { NOTHING, 0, 0, (u_char *) 0 },
1296 { NOTHING, 0, 0, (u_char *) 0 },
1297 { NOTHING, 0, 0, (u_char *) 0 },
1298 { NOTHING, 0, 0, (u_char *) 0 },
1299 { NOTHING, 0, 0, (u_char *) 0 },
1300
1301 { NOTHING, 0, 0, (u_char *) 0 }, /* 232 */
1302 { NOTHING, 0, 0, (u_char *) 0 },
1303 { NOTHING, 0, 0, (u_char *) 0 },
1304 { NOTHING, 0, 0, (u_char *) 0 },
1305 { NOTHING, 0, 0, (u_char *) 0 },
1306 { NOTHING, 0, 0, (u_char *) 0 },
1307 { NOTHING, 0, 0, (u_char *) 0 },
1308 { NOTHING, 0, 0, (u_char *) 0 },
1309
1310 { NOTHING, 0, 0, (u_char *) 0 }, /* 240 */
1311 { NOTHING, 0, 0, (u_char *) 0 },
1312 { NOTHING, 0, 0, (u_char *) 0 },
1313 { NOTHING, 0, 0, (u_char *) 0 },
1314 { NOTHING, 0, 0, (u_char *) 0 },
1315 { NOTHING, 0, 0, (u_char *) 0 },
1316 { NOTHING, 0, 0, (u_char *) 0 },
1317 { NOTHING, 0, 0, (u_char *) 0 },
1318
1319 { NOTHING, 0, 0, (u_char *) 0 }, /* 248 */
1320 { NOTHING, 0, 0, (u_char *) 0 },
1321 { NOTHING, 0, 0, (u_char *) 0 },
1322 { NOTHING, 0, 0, (u_char *) 0 },
1323 { NOTHING, 0, 0, (u_char *) 0 },
1324 { NOTHING, 0, 0, (u_char *) 0 },
1325 { NOTHING, 0, 0, (u_char *) 0 },
1326 { NOTHING, 0, 0, (u_char *) 0 }
1327 };
1328
1329 KeyMap FAR meta2_keys[] =
1330 {
1331 { NOTHING, 0, 0, (u_char *) 0 }, /* 0 */
1332 { NOTHING, 0, 0, (u_char *) 0 },
1333 { NOTHING, 0, 0, (u_char *) 0 },
1334 { NOTHING, 0, 0, (u_char *) 0 },
1335 { NOTHING, 0, 0, (u_char *) 0 },
1336 { NOTHING, 0, 0, (u_char *) 0 },
1337 { NOTHING, 0, 0, (u_char *) 0 },
1338 { NOTHING, 0, 0, (u_char *) 0 },
1339
1340 { NOTHING, 0, 0, (u_char *) 0 }, /* 8 */
1341 { NOTHING, 0, 0, (u_char *) 0 },
1342 { NOTHING, 0, 0, (u_char *) 0 },
1343 { NOTHING, 0, 0, (u_char *) 0 },
1344 { NOTHING, 0, 0, (u_char *) 0 },
1345 { NOTHING, 0, 0, (u_char *) 0 },
1346 { NOTHING, 0, 0, (u_char *) 0 },
1347 { NOTHING, 0, 0, (u_char *) 0 },
1348
1349 { NOTHING, 0, 0, (u_char *) 0 }, /* 16 */
1350 { NOTHING, 0, 0, (u_char *) 0 },
1351 { NOTHING, 0, 0, (u_char *) 0 },
1352 { NOTHING, 0, 0, (u_char *) 0 },
1353 { NOTHING, 0, 0, (u_char *) 0 },
1354 { NOTHING, 0, 0, (u_char *) 0 },
1355 { NOTHING, 0, 0, (u_char *) 0 },
1356 { NOTHING, 0, 0, (u_char *) 0 },
1357
1358 { NOTHING, 0, 0, (u_char *) 0 }, /* 24 */
1359 { NOTHING, 0, 0, (u_char *) 0 },
1360 { ENTER_DIGRAPH, 0, 0, (u_char *) 0 },
1361 { SELF_INSERT, 0, 0, (u_char *) 0 },
1362 { NOTHING, 0, 0, (u_char *) 0 },
1363 { NOTHING, 0, 0, (u_char *) 0 },
1364 { NOTHING, 0, 0, (u_char *) 0 },
1365 { NOTHING, 0, 0, (u_char *) 0 },
1366
1367 { NOTHING, 0, 0, (u_char *) 0 }, /* 32 */
1368 { NOTHING, 0, 0, (u_char *) 0 },
1369 { NOTHING, 0, 0, (u_char *) 0 },
1370 { NOTHING, 0, 0, (u_char *) 0 },
1371 { NOTHING, 0, 0, (u_char *) 0 },
1372 { NOTHING, 0, 0, (u_char *) 0 },
1373 { NOTHING, 0, 0, (u_char *) 0 },
1374 { NOTHING, 0, 0, (u_char *) 0 },
1375
1376 { NOTHING, 0, 0, (u_char *) 0 }, /* 40 */
1377 { NOTHING, 0, 0, (u_char *) 0 },
1378 { NOTHING, 0, 0, (u_char *) 0 },
1379 { NOTHING, 0, 0, (u_char *) 0 },
1380 { NOTHING, 0, 0, (u_char *) 0 },
1381 { NOTHING, 0, 0, (u_char *) 0 },
1382 { NOTHING, 0, 0, (u_char *) 0 },
1383 { NOTHING, 0, 0, (u_char *) 0 },
1384
1385 { NOTHING, 0, 0, (u_char *) 0 }, /* 48 */
1386 { NOTHING, 0, 0, (u_char *) 0 },
1387 { NOTHING, 0, 0, (u_char *) 0 },
1388 { NOTHING, 0, 0, (u_char *) 0 },
1389 { NOTHING, 0, 0, (u_char *) 0 },
1390 { NOTHING, 0, 0, (u_char *) 0 },
1391 { NOTHING, 0, 0, (u_char *) 0 },
1392 { NOTHING, 0, 0, (u_char *) 0 },
1393
1394 { NOTHING, 0, 0, (u_char *) 0 }, /* 56 */
1395 { NOTHING, 0, 0, (u_char *) 0 },
1396 { NOTHING, 0, 0, (u_char *) 0 },
1397 { NOTHING, 0, 0, (u_char *) 0 },
1398 { NOTHING, 0, 0, (u_char *) 0 },
1399 { NOTHING, 0, 0, (u_char *) 0 },
1400 { NOTHING, 0, 0, (u_char *) 0 },
1401 { NOTHING, 0, 0, (u_char *) 0 },
1402
1403 { NOTHING, 0, 0, (u_char *) 0 }, /* 64 */
1404 { NOTHING, 0, 0, (u_char *) 0 },
1405 { NOTHING, 0, 0, (u_char *) 0 },
1406 { NOTHING, 0, 0, (u_char *) 0 },
1407 { NOTHING, 0, 0, (u_char *) 0 },
1408 { NOTHING, 0, 0, (u_char *) 0 },
1409 { NOTHING, 0, 0, (u_char *) 0 },
1410 { NOTHING, 0, 0, (u_char *) 0 },
1411
1412 { NOTHING, 0, 0, (u_char *) 0 }, /* 72 */
1413 { NOTHING, 0, 0, (u_char *) 0 },
1414 { NOTHING, 0, 0, (u_char *) 0 },
1415 { NOTHING, 0, 0, (u_char *) 0 },
1416 { NOTHING, 0, 0, (u_char *) 0 },
1417 { NOTHING, 0, 0, (u_char *) 0 },
1418 { NOTHING, 0, 0, (u_char *) 0 },
1419 { NOTHING, 0, 0, (u_char *) 0 },
1420
1421 { NOTHING, 0, 0, (u_char *) 0 }, /* 80 */
1422 { NOTHING, 0, 0, (u_char *) 0 },
1423 { NOTHING, 0, 0, (u_char *) 0 },
1424 { NOTHING, 0, 0, (u_char *) 0 },
1425 { NOTHING, 0, 0, (u_char *) 0 },
1426 { NOTHING, 0, 0, (u_char *) 0 },
1427 { NOTHING, 0, 0, (u_char *) 0 },
1428 { NOTHING, 0, 0, (u_char *) 0 },
1429
1430 { NOTHING, 0, 0, (u_char *) 0 }, /* 88 */
1431 { NOTHING, 0, 0, (u_char *) 0 },
1432 { NOTHING, 0, 0, (u_char *) 0 },
1433 { META4_CHARACTER, 0, 0, (u_char *) 0 },
1434 { NOTHING, 0, 0, (u_char *) 0 },
1435 { NOTHING, 0, 0, (u_char *) 0 },
1436 { NOTHING, 0, 0, (u_char *) 0 },
1437 { NOTHING, 0, 0, (u_char *) 0 },
1438
1439 { NOTHING, 0, 0, (u_char *) 0 }, /* 96 */
1440 { NOTHING, 0, 0, (u_char *) 0 },
1441 { NOTHING, 0, 0, (u_char *) 0 },
1442 { NOTHING, 0, 0, (u_char *) 0 },
1443 { NOTHING, 0, 0, (u_char *) 0 },
1444 { NOTHING, 0, 0, (u_char *) 0 },
1445 { NOTHING, 0, 0, (u_char *) 0 },
1446 { NOTHING, 0, 0, (u_char *) 0 },
1447
1448 { NOTHING, 0, 0, (u_char *) 0 }, /* 104 */
1449 { NOTHING, 0, 0, (u_char *) 0 },
1450 { NOTHING, 0, 0, (u_char *) 0 },
1451 { NOTHING, 0, 0, (u_char *) 0 },
1452 { NOTHING, 0, 0, (u_char *) 0 },
1453 { NOTHING, 0, 0, (u_char *) 0 },
1454 { NEXT_WINDOW, 0, 0, (u_char *) 0 },
1455 { NOTHING, 0, 0, (u_char *) 0 },
1456
1457 { PREVIOUS_WINDOW, 0, 0, (u_char *) 0 }, /* 112 */
1458 { NOTHING, 0, 0, (u_char *) 0 },
1459 { NOTHING, 0, 0, (u_char *) 0 },
1460 { NOTHING, 0, 0, (u_char *) 0 },
1461 { NOTHING, 0, 0, (u_char *) 0 },
1462 { NOTHING, 0, 0, (u_char *) 0 },
1463 { NOTHING, 0, 0, (u_char *) 0 },
1464 { NOTHING, 0, 0, (u_char *) 0 },
1465
1466 { SWITCH_CHANNELS, 0, 0, (u_char *) 0 }, /* 120 */
1467 { NOTHING, 0, 0, (u_char *) 0 },
1468 { NOTHING, 0, 0, (u_char *) 0 },
1469 { NOTHING, 0, 0, (u_char *) 0 },
1470 { NOTHING, 0, 0, (u_char *) 0 },
1471 { NOTHING, 0, 0, (u_char *) 0 },
1472 { NOTHING, 0, 0, (u_char *) 0 },
1473 { NOTHING, 0, 0, (u_char *) 0 },
1474
1475 { NOTHING, 0, 0, (u_char *) 0 }, /* 128 */
1476 { NOTHING, 0, 0, (u_char *) 0 },
1477 { NOTHING, 0, 0, (u_char *) 0 },
1478 { NOTHING, 0, 0, (u_char *) 0 },
1479 { NOTHING, 0, 0, (u_char *) 0 },
1480 { NOTHING, 0, 0, (u_char *) 0 },
1481 { NOTHING, 0, 0, (u_char *) 0 },
1482 { NOTHING, 0, 0, (u_char *) 0 },
1483
1484 { NOTHING, 0, 0, (u_char *) 0 }, /* 136 */
1485 { NOTHING, 0, 0, (u_char *) 0 },
1486 { NOTHING, 0, 0, (u_char *) 0 },
1487 { NOTHING, 0, 0, (u_char *) 0 },
1488 { NOTHING, 0, 0, (u_char *) 0 },
1489 { NOTHING, 0, 0, (u_char *) 0 },
1490 { NOTHING, 0, 0, (u_char *) 0 },
1491 { NOTHING, 0, 0, (u_char *) 0 },
1492
1493 { NOTHING, 0, 0, (u_char *) 0 }, /* 144 */
1494 { NOTHING, 0, 0, (u_char *) 0 },
1495 { NOTHING, 0, 0, (u_char *) 0 },
1496 { NOTHING, 0, 0, (u_char *) 0 },
1497 { NOTHING, 0, 0, (u_char *) 0 },
1498 { NOTHING, 0, 0, (u_char *) 0 },
1499 { NOTHING, 0, 0, (u_char *) 0 },
1500 { NOTHING, 0, 0, (u_char *) 0 },
1501
1502 { NOTHING, 0, 0, (u_char *) 0 }, /* 152 */
1503 { NOTHING, 0, 0, (u_char *) 0 },
1504 { NOTHING, 0, 0, (u_char *) 0 },
1505 { NOTHING, 0, 0, (u_char *) 0 },
1506 { NOTHING, 0, 0, (u_char *) 0 },
1507 { NOTHING, 0, 0, (u_char *) 0 },
1508 { NOTHING, 0, 0, (u_char *) 0 },
1509 { NOTHING, 0, 0, (u_char *) 0 },
1510
1511 { NOTHING, 0, 0, (u_char *) 0 }, /* 160 */
1512 { NOTHING, 0, 0, (u_char *) 0 },
1513 { NOTHING, 0, 0, (u_char *) 0 },
1514 { NOTHING, 0, 0, (u_char *) 0 },
1515 { NOTHING, 0, 0, (u_char *) 0 },
1516 { NOTHING, 0, 0, (u_char *) 0 },
1517 { NOTHING, 0, 0, (u_char *) 0 },
1518 { NOTHING, 0, 0, (u_char *) 0 },
1519
1520 { NOTHING, 0, 0, (u_char *) 0 }, /* 168 */
1521 { NOTHING, 0, 0, (u_char *) 0 },
1522 { NOTHING, 0, 0, (u_char *) 0 },
1523 { NOTHING, 0, 0, (u_char *) 0 },
1524 { NOTHING, 0, 0, (u_char *) 0 },
1525 { NOTHING, 0, 0, (u_char *) 0 },
1526 { NOTHING, 0, 0, (u_char *) 0 },
1527 { NOTHING, 0, 0, (u_char *) 0 },
1528
1529 { NOTHING, 0, 0, (u_char *) 0 }, /* 176 */
1530 { NOTHING, 0, 0, (u_char *) 0 },
1531 { NOTHING, 0, 0, (u_char *) 0 },
1532 { NOTHING, 0, 0, (u_char *) 0 },
1533 { NOTHING, 0, 0, (u_char *) 0 },
1534 { NOTHING, 0, 0, (u_char *) 0 },
1535 { NOTHING, 0, 0, (u_char *) 0 },
1536 { NOTHING, 0, 0, (u_char *) 0 },
1537
1538 { NOTHING, 0, 0, (u_char *) 0 }, /* 184 */
1539 { NOTHING, 0, 0, (u_char *) 0 },
1540 { NOTHING, 0, 0, (u_char *) 0 },
1541 { NOTHING, 0, 0, (u_char *) 0 },
1542 { NOTHING, 0, 0, (u_char *) 0 },
1543 { NOTHING, 0, 0, (u_char *) 0 },
1544 { NOTHING, 0, 0, (u_char *) 0 },
1545 { NOTHING, 0, 0, (u_char *) 0 },
1546
1547 { NOTHING, 0, 0, (u_char *) 0 }, /* 192 */
1548 { NOTHING, 0, 0, (u_char *) 0 },
1549 { NOTHING, 0, 0, (u_char *) 0 },
1550 { NOTHING, 0, 0, (u_char *) 0 },
1551 { NOTHING, 0, 0, (u_char *) 0 },
1552 { NOTHING, 0, 0, (u_char *) 0 },
1553 { NOTHING, 0, 0, (u_char *) 0 },
1554 { NOTHING, 0, 0, (u_char *) 0 },
1555
1556 { NOTHING, 0, 0, (u_char *) 0 }, /* 200 */
1557 { NOTHING, 0, 0, (u_char *) 0 },
1558 { NOTHING, 0, 0, (u_char *) 0 },
1559 { NOTHING, 0, 0, (u_char *) 0 },
1560 { NOTHING, 0, 0, (u_char *) 0 },
1561 { NOTHING, 0, 0, (u_char *) 0 },
1562 { NOTHING, 0, 0, (u_char *) 0 },
1563 { NOTHING, 0, 0, (u_char *) 0 },
1564
1565 { NOTHING, 0, 0, (u_char *) 0 }, /* 208 */
1566 { NOTHING, 0, 0, (u_char *) 0 },
1567 { NOTHING, 0, 0, (u_char *) 0 },
1568 { NOTHING, 0, 0, (u_char *) 0 },
1569 { NOTHING, 0, 0, (u_char *) 0 },
1570 { NOTHING, 0, 0, (u_char *) 0 },
1571 { NOTHING, 0, 0, (u_char *) 0 },
1572 { NOTHING, 0, 0, (u_char *) 0 },
1573
1574 { NOTHING, 0, 0, (u_char *) 0 }, /* 216 */
1575 { NOTHING, 0, 0, (u_char *) 0 },
1576 { NOTHING, 0, 0, (u_char *) 0 },
1577 { NOTHING, 0, 0, (u_char *) 0 },
1578 { NOTHING, 0, 0, (u_char *) 0 },
1579 { NOTHING, 0, 0, (u_char *) 0 },
1580 { NOTHING, 0, 0, (u_char *) 0 },
1581 { NOTHING, 0, 0, (u_char *) 0 },
1582
1583 { NOTHING, 0, 0, (u_char *) 0 }, /* 224 */
1584 { NOTHING, 0, 0, (u_char *) 0 },
1585 { NOTHING, 0, 0, (u_char *) 0 },
1586 { NOTHING, 0, 0, (u_char *) 0 },
1587 { NOTHING, 0, 0, (u_char *) 0 },
1588 { NOTHING, 0, 0, (u_char *) 0 },
1589 { NOTHING, 0, 0, (u_char *) 0 },
1590 { NOTHING, 0, 0, (u_char *) 0 },
1591
1592 { NOTHING, 0, 0, (u_char *) 0 }, /* 232 */
1593 { NOTHING, 0, 0, (u_char *) 0 },
1594 { NOTHING, 0, 0, (u_char *) 0 },
1595 { NOTHING, 0, 0, (u_char *) 0 },
1596 { NOTHING, 0, 0, (u_char *) 0 },
1597 { NOTHING, 0, 0, (u_char *) 0 },
1598 { NOTHING, 0, 0, (u_char *) 0 },
1599 { NOTHING, 0, 0, (u_char *) 0 },
1600
1601 { NOTHING, 0, 0, (u_char *) 0 }, /* 240 */
1602 { NOTHING, 0, 0, (u_char *) 0 },
1603 { NOTHING, 0, 0, (u_char *) 0 },
1604 { NOTHING, 0, 0, (u_char *) 0 },
1605 { NOTHING, 0, 0, (u_char *) 0 },
1606 { NOTHING, 0, 0, (u_char *) 0 },
1607 { NOTHING, 0, 0, (u_char *) 0 },
1608 { NOTHING, 0, 0, (u_char *) 0 },
1609
1610 { NOTHING, 0, 0, (u_char *) 0 }, /* 248 */
1611 { NOTHING, 0, 0, (u_char *) 0 },
1612 { NOTHING, 0, 0, (u_char *) 0 },
1613 { NOTHING, 0, 0, (u_char *) 0 },
1614 { NOTHING, 0, 0, (u_char *) 0 },
1615 { NOTHING, 0, 0, (u_char *) 0 },
1616 { NOTHING, 0, 0, (u_char *) 0 },
1617 { NOTHING, 0, 0, (u_char *) 0 }
1618 };
1619
1620 /* these are the ^[[* keys as far as ninja is concerned..
1621 */
1622 KeyMap FAR meta3_keys[] =
1623 {
1624 { NOTHING, 0, 0, (u_char *) 0 }, /* 0 */
1625 { NOTHING, 0, 0, (u_char *) 0 },
1626 { NOTHING, 0, 0, (u_char *) 0 },
1627 { NOTHING, 0, 0, (u_char *) 0 },
1628 { NOTHING, 0, 0, (u_char *) 0 },
1629 { NOTHING, 0, 0, (u_char *) 0 },
1630 { NOTHING, 0, 0, (u_char *) 0 },
1631 { NOTHING, 0, 0, (u_char *) 0 },
1632
1633 { NOTHING, 0, 0, (u_char *) 0 }, /* 8 */
1634 { NOTHING, 0, 0, (u_char *) 0 },
1635 { NOTHING, 0, 0, (u_char *) 0 },
1636 { NOTHING, 0, 0, (u_char *) 0 },
1637 { NOTHING, 0, 0, (u_char *) 0 },
1638 { NOTHING, 0, 0, (u_char *) 0 },
1639 { NOTHING, 0, 0, (u_char *) 0 },
1640 { NEXT_WINDOW, 0, 0, (u_char *) 0 },
1641
1642 { NOTHING, 0, 0, (u_char *) 0 }, /* 16 */
1643 { NOTHING, 0, 0, (u_char *) 0 },
1644 { NOTHING, 0, 0, (u_char *) 0 },
1645 { NOTHING, 0, 0, (u_char *) 0 },
1646 { NOTHING, 0, 0, (u_char *) 0 },
1647 { NOTHING, 0, 0, (u_char *) 0 },
1648 { NOTHING, 0, 0, (u_char *) 0 },
1649 { NOTHING, 0, 0, (u_char *) 0 },
1650
1651 { NOTHING, 0, 0, (u_char *) 0 }, /* 24 */
1652 { NOTHING, 0, 0, (u_char *) 0 },
1653 { NOTHING, 0, 0, (u_char *) 0 },
1654 { NOTHING, 0, 0, (u_char *) 0 },
1655 { NOTHING, 0, 0, (u_char *) 0 },
1656 { NOTHING, 0, 0, (u_char *) 0 },
1657 { NOTHING, 0, 0, (u_char *) 0 },
1658 { NOTHING, 0, 0, (u_char *) 0 },
1659
1660 { NOTHING, 0, 0, (u_char *) 0 }, /* 32 */
1661 { NOTHING, 0, 0, (u_char *) 0 },
1662 { NOTHING, 0, 0, (u_char *) 0 },
1663 { NOTHING, 0, 0, (u_char *) 0 },
1664 { NOTHING, 0, 0, (u_char *) 0 },
1665 { NOTHING, 0, 0, (u_char *) 0 },
1666 { NOTHING, 0, 0, (u_char *) 0 },
1667 { NOTHING, 0, 0, (u_char *) 0 },
1668
1669 { NOTHING, 0, 0, (u_char *) 0 }, /* 40 */
1670 { NOTHING, 0, 0, (u_char *) 0 },
1671 { NOTHING, 0, 0, (u_char *) 0 },
1672 { NOTHING, 0, 0, (u_char *) 0 },
1673 { NOTHING, 0, 0, (u_char *) 0 },
1674 { NOTHING, 0, 0, (u_char *) 0 },
1675 { NOTHING, 0, 0, (u_char *) 0 },
1676 { NOTHING, 0, 0, (u_char *) 0 },
1677
1678 { NOTHING, 0, 0, (u_char *) 0 }, /* 48 */
1679 { NOTHING, 0, 0, (u_char *) 0 },
1680 { NOTHING, 0, 0, (u_char *) 0 },
1681 { NOTHING, 0, 0, (u_char *) 0 },
1682 { NOTHING, 0, 0, (u_char *) 0 },
1683 { SCROLL_BACKWARD, 0, 0, (u_char *) 0 },
1684 { SCROLL_FORWARD, 0, 0, (u_char *) 0 },
1685 { BEGINNING_OF_LINE, 0, 0, (u_char *) 0 },
1686
1687 { END_OF_LINE, 0, 0, (u_char *) 0 }, /* 56 */
1688 { NOTHING, 0, 0, (u_char *) 0 },
1689 { NOTHING, 0, 0, (u_char *) 0 },
1690 { NOTHING, 0, 0, (u_char *) 0 },
1691 { NOTHING, 0, 0, (u_char *) 0 },
1692 { NOTHING, 0, 0, (u_char *) 0 },
1693 { NOTHING, 0, 0, (u_char *) 0 },
1694 { NOTHING, 0, 0, (u_char *) 0 },
1695
1696 { NOTHING, 0, 0, (u_char *) 0 }, /* 64 */
1697 { BACKWARD_HISTORY, 0, 0, (u_char *) 0 },
1698 { FORWARD_HISTORY, 0, 0, (u_char *) 0 },
1699 { FORWARD_CHARACTER, 0, 0, (u_char *) 0 },
1700 { BACKWARD_CHARACTER, 0, 0, (u_char *) 0 },
1701 { NOTHING, 0, 0, (u_char *) 0 },
1702 { NOTHING, 0, 0, (u_char *) 0 },
1703 { NOTHING, 0, 0, (u_char *) 0 },
1704
1705 { NOTHING, 0, 0, (u_char *) 0 }, /* 72 */
1706 { NOTHING, 0, 0, (u_char *) 0 },
1707 { NOTHING, 0, 0, (u_char *) 0 },
1708 { NOTHING, 0, 0, (u_char *) 0 },
1709 { NOTHING, 0, 0, (u_char *) 0 },
1710 { NOTHING, 0, 0, (u_char *) 0 },
1711 { NOTHING, 0, 0, (u_char *) 0 },
1712 { NOTHING, 0, 0, (u_char *) 0 },
1713
1714 { NOTHING, 0, 0, (u_char *) 0 }, /* 80 */
1715 { NOTHING, 0, 0, (u_char *) 0 },
1716 { NOTHING, 0, 0, (u_char *) 0 },
1717 { NOTHING, 0, 0, (u_char *) 0 },
1718 { NOTHING, 0, 0, (u_char *) 0 },
1719 { NOTHING, 0, 0, (u_char *) 0 },
1720 { NOTHING, 0, 0, (u_char *) 0 },
1721 { NOTHING, 0, 0, (u_char *) 0 },
1722
1723 { NOTHING, 0, 0, (u_char *) 0 }, /* 88 */
1724 { NOTHING, 0, 0, (u_char *) 0 },
1725 { NOTHING, 0, 0, (u_char *) 0 },
1726 { META5_CHARACTER, 0, 0, (u_char *) 0 },
1727 { NOTHING, 0, 0, (u_char *) 0 },
1728 { NOTHING, 0, 0, (u_char *) 0 },
1729 { NOTHING, 0, 0, (u_char *) 0 },
1730 { NOTHING, 0, 0, (u_char *) 0 },
1731
1732 { NOTHING, 0, 0, (u_char *) 0 }, /* 96 */
1733 { NOTHING, 0, 0, (u_char *) 0 },
1734 { NOTHING, 0, 0, (u_char *) 0 },
1735 { NOTHING, 0, 0, (u_char *) 0 },
1736 { NOTHING, 0, 0, (u_char *) 0 },
1737 { NOTHING, 0, 0, (u_char *) 0 },
1738 { NOTHING, 0, 0, (u_char *) 0 },
1739 { NOTHING, 0, 0, (u_char *) 0 },
1740
1741 { NOTHING, 0, 0, (u_char *) 0 }, /* 104 */
1742 { NOTHING, 0, 0, (u_char *) 0 },
1743 { NOTHING, 0, 0, (u_char *) 0 },
1744 { NOTHING, 0, 0, (u_char *) 0 },
1745 { NOTHING, 0, 0, (u_char *) 0 },
1746 { NOTHING, 0, 0, (u_char *) 0 },
1747 { NEXT_WINDOW, 0, 0, (u_char *) 0 },
1748 { NOTHING, 0, 0, (u_char *) 0 },
1749
1750 { PREVIOUS_WINDOW, 0, 0, (u_char *) 0 }, /* 112 */
1751 { NOTHING, 0, 0, (u_char *) 0 },
1752 { NOTHING, 0, 0, (u_char *) 0 },
1753 { NOTHING, 0, 0, (u_char *) 0 },
1754 { NOTHING, 0, 0, (u_char *) 0 },
1755 { NOTHING, 0, 0, (u_char *) 0 },
1756 { NOTHING, 0, 0, (u_char *) 0 },
1757 { NOTHING, 0, 0, (u_char *) 0 },
1758
1759 { NOTHING, 0, 0, (u_char *) 0 }, /* 120 */
1760 { NOTHING, 0, 0, (u_char *) 0 },
1761 { NOTHING, 0, 0, (u_char *) 0 },
1762 { NOTHING, 0, 0, (u_char *) 0 },
1763 { NOTHING, 0, 0, (u_char *) 0 },
1764 { NOTHING, 0, 0, (u_char *) 0 },
1765 { NOTHING, 0, 0, (u_char *) 0 },
1766 { NOTHING, 0, 0, (u_char *) 0 },
1767
1768 { NOTHING, 0, 0, (u_char *) 0 }, /* 128 */
1769 { NOTHING, 0, 0, (u_char *) 0 },
1770 { NOTHING, 0, 0, (u_char *) 0 },
1771 { NOTHING, 0, 0, (u_char *) 0 },
1772 { NOTHING, 0, 0, (u_char *) 0 },
1773 { NOTHING, 0, 0, (u_char *) 0 },
1774 { NOTHING, 0, 0, (u_char *) 0 },
1775 { NOTHING, 0, 0, (u_char *) 0 },
1776
1777 { NOTHING, 0, 0, (u_char *) 0 }, /* 136 */
1778 { NOTHING, 0, 0, (u_char *) 0 },
1779 { NOTHING, 0, 0, (u_char *) 0 },
1780 { NOTHING, 0, 0, (u_char *) 0 },
1781 { NOTHING, 0, 0, (u_char *) 0 },
1782 { NOTHING, 0, 0, (u_char *) 0 },
1783 { NOTHING, 0, 0, (u_char *) 0 },
1784 { NOTHING, 0, 0, (u_char *) 0 },
1785
1786 { NOTHING, 0, 0, (u_char *) 0 }, /* 144 */
1787 { NOTHING, 0, 0, (u_char *) 0 },
1788 { NOTHING, 0, 0, (u_char *) 0 },
1789 { NOTHING, 0, 0, (u_char *) 0 },
1790 { NOTHING, 0, 0, (u_char *) 0 },
1791 { NOTHING, 0, 0, (u_char *) 0 },
1792 { NOTHING, 0, 0, (u_char *) 0 },
1793 { NOTHING, 0, 0, (u_char *) 0 },
1794
1795 { NOTHING, 0, 0, (u_char *) 0 }, /* 152 */
1796 { NOTHING, 0, 0, (u_char *) 0 },
1797 { NOTHING, 0, 0, (u_char *) 0 },
1798 { NOTHING, 0, 0, (u_char *) 0 },
1799 { NOTHING, 0, 0, (u_char *) 0 },
1800 { NOTHING, 0, 0, (u_char *) 0 },
1801 { NOTHING, 0, 0, (u_char *) 0 },
1802 { NOTHING, 0, 0, (u_char *) 0 },
1803
1804 { NOTHING, 0, 0, (u_char *) 0 }, /* 160 */
1805 { NOTHING, 0, 0, (u_char *) 0 },
1806 { NOTHING, 0, 0, (u_char *) 0 },
1807 { NOTHING, 0, 0, (u_char *) 0 },
1808 { NOTHING, 0, 0, (u_char *) 0 },
1809 { NOTHING, 0, 0, (u_char *) 0 },
1810 { NOTHING, 0, 0, (u_char *) 0 },
1811 { NOTHING, 0, 0, (u_char *) 0 },
1812
1813 { NOTHING, 0, 0, (u_char *) 0 }, /* 168 */
1814 { NOTHING, 0, 0, (u_char *) 0 },
1815 { NOTHING, 0, 0, (u_char *) 0 },
1816 { NOTHING, 0, 0, (u_char *) 0 },
1817 { NOTHING, 0, 0, (u_char *) 0 },
1818 { NOTHING, 0, 0, (u_char *) 0 },
1819 { NOTHING, 0, 0, (u_char *) 0 },
1820 { NOTHING, 0, 0, (u_char *) 0 },
1821
1822 { NOTHING, 0, 0, (u_char *) 0 }, /* 176 */
1823 { NOTHING, 0, 0, (u_char *) 0 },
1824 { NOTHING, 0, 0, (u_char *) 0 },
1825 { NOTHING, 0, 0, (u_char *) 0 },
1826 { NOTHING, 0, 0, (u_char *) 0 },
1827 { NOTHING, 0, 0, (u_char *) 0 },
1828 { NOTHING, 0, 0, (u_char *) 0 },
1829 { NOTHING, 0, 0, (u_char *) 0 },
1830
1831 { NOTHING, 0, 0, (u_char *) 0 }, /* 184 */
1832 { NOTHING, 0, 0, (u_char *) 0 },
1833 { NOTHING, 0, 0, (u_char *) 0 },
1834 { NOTHING, 0, 0, (u_char *) 0 },
1835 { NOTHING, 0, 0, (u_char *) 0 },
1836 { NOTHING, 0, 0, (u_char *) 0 },
1837 { NOTHING, 0, 0, (u_char *) 0 },
1838 { NOTHING, 0, 0, (u_char *) 0 },
1839
1840 { NOTHING, 0, 0, (u_char *) 0 }, /* 192 */
1841 { NOTHING, 0, 0, (u_char *) 0 },
1842 { NOTHING, 0, 0, (u_char *) 0 },
1843 { NOTHING, 0, 0, (u_char *) 0 },
1844 { NOTHING, 0, 0, (u_char *) 0 },
1845 { NOTHING, 0, 0, (u_char *) 0 },
1846 { NOTHING, 0, 0, (u_char *) 0 },
1847 { NOTHING, 0, 0, (u_char *) 0 },
1848
1849 { NOTHING, 0, 0, (u_char *) 0 }, /* 200 */
1850 { NOTHING, 0, 0, (u_char *) 0 },
1851 { NOTHING, 0, 0, (u_char *) 0 },
1852 { NOTHING, 0, 0, (u_char *) 0 },
1853 { NOTHING, 0, 0, (u_char *) 0 },
1854 { NOTHING, 0, 0, (u_char *) 0 },
1855 { NOTHING, 0, 0, (u_char *) 0 },
1856 { NOTHING, 0, 0, (u_char *) 0 },
1857
1858 { NOTHING, 0, 0, (u_char *) 0 }, /* 208 */
1859 { NOTHING, 0, 0, (u_char *) 0 },
1860 { NOTHING, 0, 0, (u_char *) 0 },
1861 { NOTHING, 0, 0, (u_char *) 0 },
1862 { NOTHING, 0, 0, (u_char *) 0 },
1863 { NOTHING, 0, 0, (u_char *) 0 },
1864 { NOTHING, 0, 0, (u_char *) 0 },
1865 { NOTHING, 0, 0, (u_char *) 0 },
1866
1867 { NOTHING, 0, 0, (u_char *) 0 }, /* 216 */
1868 { NOTHING, 0, 0, (u_char *) 0 },
1869 { NOTHING, 0, 0, (u_char *) 0 },
1870 { NOTHING, 0, 0, (u_char *) 0 },
1871 { NOTHING, 0, 0, (u_char *) 0 },
1872 { NOTHING, 0, 0, (u_char *) 0 },
1873 { NOTHING, 0, 0, (u_char *) 0 },
1874 { NOTHING, 0, 0, (u_char *) 0 },
1875
1876 { NOTHING, 0, 0, (u_char *) 0 }, /* 224 */
1877 { NOTHING, 0, 0, (u_char *) 0 },
1878 { NOTHING, 0, 0, (u_char *) 0 },
1879 { NOTHING, 0, 0, (u_char *) 0 },
1880 { NOTHING, 0, 0, (u_char *) 0 },
1881 { NOTHING, 0, 0, (u_char *) 0 },
1882 { NOTHING, 0, 0, (u_char *) 0 },
1883 { NOTHING, 0, 0, (u_char *) 0 },
1884
1885 { NOTHING, 0, 0, (u_char *) 0 }, /* 232 */
1886 { NOTHING, 0, 0, (u_char *) 0 },
1887 { NOTHING, 0, 0, (u_char *) 0 },
1888 { NOTHING, 0, 0, (u_char *) 0 },
1889 { NOTHING, 0, 0, (u_char *) 0 },
1890 { NOTHING, 0, 0, (u_char *) 0 },
1891 { NOTHING, 0, 0, (u_char *) 0 },
1892 { NOTHING, 0, 0, (u_char *) 0 },
1893
1894 { NOTHING, 0, 0, (u_char *) 0 }, /* 240 */
1895 { NOTHING, 0, 0, (u_char *) 0 },
1896 { NOTHING, 0, 0, (u_char *) 0 },
1897 { NOTHING, 0, 0, (u_char *) 0 },
1898 { NOTHING, 0, 0, (u_char *) 0 },
1899 { NOTHING, 0, 0, (u_char *) 0 },
1900 { NOTHING, 0, 0, (u_char *) 0 },
1901 { NOTHING, 0, 0, (u_char *) 0 },
1902
1903 { NOTHING, 0, 0, (u_char *) 0 }, /* 248 */
1904 { NOTHING, 0, 0, (u_char *) 0 },
1905 { NOTHING, 0, 0, (u_char *) 0 },
1906 { NOTHING, 0, 0, (u_char *) 0 },
1907 { NOTHING, 0, 0, (u_char *) 0 },
1908 { NOTHING, 0, 0, (u_char *) 0 },
1909 { NOTHING, 0, 0, (u_char *) 0 },
1910 { NOTHING, 0, 0, (u_char *) 0 }
1911 };
1912
1913 KeyMap FAR meta4_keys[] =
1914 {
1915 { NOTHING, 0, 0, (u_char *) 0 }, /* 0 */
1916 { NOTHING, 0, 0, (u_char *) 0 },
1917 { NOTHING, 0, 0, (u_char *) 0 },
1918 { NOTHING, 0, 0, (u_char *) 0 },
1919 { NOTHING, 0, 0, (u_char *) 0 },
1920 { NOTHING, 0, 0, (u_char *) 0 },
1921 { NOTHING, 0, 0, (u_char *) 0 },
1922 { NOTHING, 0, 0, (u_char *) 0 },
1923
1924 { BACKWARD_CHARACTER, 0, 0, (u_char *) 0 }, /* 8 */
1925 { NOTHING, 0, 0, (u_char *) 0 },
1926 { NOTHING, 0, 0, (u_char *) 0 },
1927 { NOTHING, 0, 0, (u_char *) 0 },
1928 { NOTHING, 0, 0, (u_char *) 0 },
1929 { NOTHING, 0, 0, (u_char *) 0 },
1930 { NOTHING, 0, 0, (u_char *) 0 },
1931 { NOTHING, 0, 0, (u_char *) 0 },
1932
1933 { NOTHING, 0, 0, (u_char *) 0 }, /* 16 */
1934 { NOTHING, 0, 0, (u_char *) 0 },
1935 { NOTHING, 0, 0, (u_char *) 0 },
1936 { NOTHING, 0, 0, (u_char *) 0 },
1937 { NOTHING, 0, 0, (u_char *) 0 },
1938 { NOTHING, 0, 0, (u_char *) 0 },
1939 { NOTHING, 0, 0, (u_char *) 0 },
1940 { NOTHING, 0, 0, (u_char *) 0 },
1941
1942 { NOTHING, 0, 0, (u_char *) 0 }, /* 24 */
1943 { NOTHING, 0, 0, (u_char *) 0 },
1944 { NOTHING, 0, 0, (u_char *) 0 },
1945 { NOTHING, 0, 0, (u_char *) 0 },
1946 { NOTHING, 0, 0, (u_char *) 0 },
1947 { NOTHING, 0, 0, (u_char *) 0 },
1948 { NOTHING, 0, 0, (u_char *) 0 },
1949 { NOTHING, 0, 0, (u_char *) 0 },
1950
1951 { FORWARD_CHARACTER, 0, 0, (u_char *) 0 }, /* 32 */
1952 { NOTHING, 0, 0, (u_char *) 0 },
1953 { NOTHING, 0, 0, (u_char *) 0 },
1954 { NOTHING, 0, 0, (u_char *) 0 },
1955 { NOTHING, 0, 0, (u_char *) 0 },
1956 { NOTHING, 0, 0, (u_char *) 0 },
1957 { NOTHING, 0, 0, (u_char *) 0 },
1958 { NOTHING, 0, 0, (u_char *) 0 },
1959
1960 { NOTHING, 0, 0, (u_char *) 0 }, /* 40 */
1961 { NOTHING, 0, 0, (u_char *) 0 },
1962 { NOTHING, 0, 0, (u_char *) 0 },
1963 { NOTHING, 0, 0, (u_char *) 0 },
1964 { NOTHING, 0, 0, (u_char *) 0 },
1965 { NOTHING, 0, 0, (u_char *) 0 },
1966 { NOTHING, 0, 0, (u_char *) 0 },
1967 { NOTHING, 0, 0, (u_char *) 0 },
1968
1969 { NOTHING, 0, 0, (u_char *) 0 }, /* 48 */
1970 { NOTHING, 0, 0, (u_char *) 0 },
1971 { NOTHING, 0, 0, (u_char *) 0 },
1972 { NOTHING, 0, 0, (u_char *) 0 },
1973 { NOTHING, 0, 0, (u_char *) 0 },
1974 { NOTHING, 0, 0, (u_char *) 0 },
1975 { NOTHING, 0, 0, (u_char *) 0 },
1976 { NOTHING, 0, 0, (u_char *) 0 },
1977
1978 { NOTHING, 0, 0, (u_char *) 0 }, /* 56 */
1979 { NOTHING, 0, 0, (u_char *) 0 },
1980 { NOTHING, 0, 0, (u_char *) 0 },
1981 { NOTHING, 0, 0, (u_char *) 0 },
1982 { NOTHING, 0, 0, (u_char *) 0 },
1983 { NOTHING, 0, 0, (u_char *) 0 },
1984 { NOTHING, 0, 0, (u_char *) 0 },
1985 { NOTHING, 0, 0, (u_char *) 0 },
1986
1987 { NOTHING, 0, 0, (u_char *) 0 }, /* 64 */
1988 { META4_CHARACTER, 0, 0, (u_char *) 0 },
1989 { NOTHING, 0, 0, (u_char *) 0 },
1990 { NOTHING, 0, 0, (u_char *) 0 },
1991 { NOTHING, 0, 0, (u_char *) 0 },
1992 { NOTHING, 0, 0, (u_char *) 0 },
1993 { NOTHING, 0, 0, (u_char *) 0 },
1994 { NOTHING, 0, 0, (u_char *) 0 },
1995
1996 { BACKWARD_CHARACTER, 0, 0, (u_char *) 0 }, /* 72 */
1997 { META4_CHARACTER, 0, 0, (u_char *) 0 },
1998 { FORWARD_HISTORY, 0, 0, (u_char *) 0 },
1999 { BACKWARD_HISTORY, 0, 0, (u_char *) 0 },
2000 { FORWARD_CHARACTER, 0, 0, (u_char *) 0 },
2001 { NOTHING, 0, 0, (u_char *) 0 },
2002 { NOTHING, 0, 0, (u_char *) 0 },
2003 { NOTHING, 0, 0, (u_char *) 0 },
2004
2005 { NOTHING, 0, 0, (u_char *) 0 }, /* 80 */
2006 { NOTHING, 0, 0, (u_char *) 0 },
2007 { NOTHING, 0, 0, (u_char *) 0 },
2008 { NOTHING, 0, 0, (u_char *) 0 },
2009 { NOTHING, 0, 0, (u_char *) 0 },
2010 { NOTHING, 0, 0, (u_char *) 0 },
2011 { NOTHING, 0, 0, (u_char *) 0 },
2012 { NOTHING, 0, 0, (u_char *) 0 },
2013
2014 { DELETE_CHARACTER, 0, 0, (u_char *) 0 }, /* 88 */
2015 { NOTHING, 0, 0, (u_char *) 0 },
2016 { NOTHING, 0, 0, (u_char *) 0 },
2017 { NOTHING, 0, 0, (u_char *) 0 },
2018 { NOTHING, 0, 0, (u_char *) 0 },
2019 { NOTHING, 0, 0, (u_char *) 0 },
2020 { NOTHING, 0, 0, (u_char *) 0 },
2021 { NOTHING, 0, 0, (u_char *) 0 },
2022
2023 { NOTHING, 0, 0, (u_char *) 0 }, /* 96 */
2024 { META4_CHARACTER, 0, 0, (u_char *) 0 },
2025 { NOTHING, 0, 0, (u_char *) 0 },
2026 { NOTHING, 0, 0, (u_char *) 0 },
2027 { NOTHING, 0, 0, (u_char *) 0 },
2028 { NOTHING, 0, 0, (u_char *) 0 },
2029 { NOTHING, 0, 0, (u_char *) 0 },
2030 { NOTHING, 0, 0, (u_char *) 0 },
2031
2032 { BACKWARD_CHARACTER, 0, 0, (u_char *) 0 }, /* 104 */
2033 { META4_CHARACTER, 0, 0, (u_char *) 0 },
2034 { FORWARD_HISTORY, 0, 0, (u_char *) 0 },
2035 { BACKWARD_HISTORY, 0, 0, (u_char *) 0 },
2036 { FORWARD_CHARACTER, 0, 0, (u_char *) 0 },
2037 { NOTHING, 0, 0, (u_char *) 0 },
2038 { NOTHING, 0, 0, (u_char *) 0 },
2039 { NOTHING, 0, 0, (u_char *) 0 },
2040
2041 { NOTHING, 0, 0, (u_char *) 0 }, /* 112 */
2042 { NOTHING, 0, 0, (u_char *) 0 },
2043 { NOTHING, 0, 0, (u_char *) 0 },
2044 { NOTHING, 0, 0, (u_char *) 0 },
2045 { NOTHING, 0, 0, (u_char *) 0 },
2046 { NOTHING, 0, 0, (u_char *) 0 },
2047 { NOTHING, 0, 0, (u_char *) 0 },
2048 { NOTHING, 0, 0, (u_char *) 0 },
2049
2050 { DELETE_CHARACTER, 0, 0, (u_char *) 0 }, /* 120 */
2051 { NOTHING, 0, 0, (u_char *) 0 },
2052 { NOTHING, 0, 0, (u_char *) 0 },
2053 { NOTHING, 0, 0, (u_char *) 0 },
2054 { NOTHING, 0, 0, (u_char *) 0 },
2055 { NOTHING, 0, 0, (u_char *) 0 },
2056 { NOTHING, 0, 0, (u_char *) 0 },
2057 { NOTHING, 0, 0, (u_char *) 0 },
2058
2059 { NOTHING, 0, 0, (u_char *) 0 }, /* 128 */
2060 { NOTHING, 0, 0, (u_char *) 0 },
2061 { NOTHING, 0, 0, (u_char *) 0 },
2062 { NOTHING, 0, 0, (u_char *) 0 },
2063 { NOTHING, 0, 0, (u_char *) 0 },
2064 { NOTHING, 0, 0, (u_char *) 0 },
2065 { NOTHING, 0, 0, (u_char *) 0 },
2066 { NOTHING, 0, 0, (u_char *) 0 },
2067
2068 { NOTHING, 0, 0, (u_char *) 0 }, /* 136 */
2069 { NOTHING, 0, 0, (u_char *) 0 },
2070 { NOTHING, 0, 0, (u_char *) 0 },
2071 { NOTHING, 0, 0, (u_char *) 0 },
2072 { NOTHING, 0, 0, (u_char *) 0 },
2073 { NOTHING, 0, 0, (u_char *) 0 },
2074 { NOTHING, 0, 0, (u_char *) 0 },
2075 { NOTHING, 0, 0, (u_char *) 0 },
2076
2077 { NOTHING, 0, 0, (u_char *) 0 }, /* 144 */
2078 { NOTHING, 0, 0, (u_char *) 0 },
2079 { NOTHING, 0, 0, (u_char *) 0 },
2080 { NOTHING, 0, 0, (u_char *) 0 },
2081 { NOTHING, 0, 0, (u_char *) 0 },
2082 { NOTHING, 0, 0, (u_char *) 0 },
2083 { NOTHING, 0, 0, (u_char *) 0 },
2084 { NOTHING, 0, 0, (u_char *) 0 },
2085
2086 { NOTHING, 0, 0, (u_char *) 0 }, /* 152 */
2087 { NOTHING, 0, 0, (u_char *) 0 },
2088 { NOTHING, 0, 0, (u_char *) 0 },
2089 { NOTHING, 0, 0, (u_char *) 0 },
2090 { NOTHING, 0, 0, (u_char *) 0 },
2091 { NOTHING, 0, 0, (u_char *) 0 },
2092 { NOTHING, 0, 0, (u_char *) 0 },
2093 { NOTHING, 0, 0, (u_char *) 0 },
2094
2095 { NOTHING, 0, 0, (u_char *) 0 }, /* 160 */
2096 { NOTHING, 0, 0, (u_char *) 0 },
2097 { NOTHING, 0, 0, (u_char *) 0 },
2098 { NOTHING, 0, 0, (u_char *) 0 },
2099 { NOTHING, 0, 0, (u_char *) 0 },
2100 { NOTHING, 0, 0, (u_char *) 0 },
2101 { NOTHING, 0, 0, (u_char *) 0 },
2102 { NOTHING, 0, 0, (u_char *) 0 },
2103
2104 { NOTHING, 0, 0, (u_char *) 0 }, /* 168 */
2105 { NOTHING, 0, 0, (u_char *) 0 },
2106 { NOTHING, 0, 0, (u_char *) 0 },
2107 { NOTHING, 0, 0, (u_char *) 0 },
2108 { NOTHING, 0, 0, (u_char *) 0 },
2109 { NOTHING, 0, 0, (u_char *) 0 },
2110 { NOTHING, 0, 0, (u_char *) 0 },
2111 { NOTHING, 0, 0, (u_char *) 0 },
2112
2113 { NOTHING, 0, 0, (u_char *) 0 }, /* 176 */
2114 { NOTHING, 0, 0, (u_char *) 0 },
2115 { NOTHING, 0, 0, (u_char *) 0 },
2116 { NOTHING, 0, 0, (u_char *) 0 },
2117 { NOTHING, 0, 0, (u_char *) 0 },
2118 { NOTHING, 0, 0, (u_char *) 0 },
2119 { NOTHING, 0, 0, (u_char *) 0 },
2120 { NOTHING, 0, 0, (u_char *) 0 },
2121
2122 { NOTHING, 0, 0, (u_char *) 0 }, /* 184 */
2123 { NOTHING, 0, 0, (u_char *) 0 },
2124 { NOTHING, 0, 0, (u_char *) 0 },
2125 { NOTHING, 0, 0, (u_char *) 0 },
2126 { NOTHING, 0, 0, (u_char *) 0 },
2127 { NOTHING, 0, 0, (u_char *) 0 },
2128 { NOTHING, 0, 0, (u_char *) 0 },
2129 { NOTHING, 0, 0, (u_char *) 0 },
2130
2131 { NOTHING, 0, 0, (u_char *) 0 }, /* 192 */
2132 { NOTHING, 0, 0, (u_char *) 0 },
2133 { NOTHING, 0, 0, (u_char *) 0 },
2134 { NOTHING, 0, 0, (u_char *) 0 },
2135 { NOTHING, 0, 0, (u_char *) 0 },
2136 { NOTHING, 0, 0, (u_char *) 0 },
2137 { NOTHING, 0, 0, (u_char *) 0 },
2138 { NOTHING, 0, 0, (u_char *) 0 },
2139
2140 { NOTHING, 0, 0, (u_char *) 0 }, /* 200 */
2141 { NOTHING, 0, 0, (u_char *) 0 },
2142 { NOTHING, 0, 0, (u_char *) 0 },
2143 { NOTHING, 0, 0, (u_char *) 0 },
2144 { NOTHING, 0, 0, (u_char *) 0 },
2145 { NOTHING, 0, 0, (u_char *) 0 },
2146 { NOTHING, 0, 0, (u_char *) 0 },
2147 { NOTHING, 0, 0, (u_char *) 0 },
2148
2149 { NOTHING, 0, 0, (u_char *) 0 }, /* 208 */
2150 { NOTHING, 0, 0, (u_char *) 0 },
2151 { NOTHING, 0, 0, (u_char *) 0 },
2152 { NOTHING, 0, 0, (u_char *) 0 },
2153 { NOTHING, 0, 0, (u_char *) 0 },
2154 { NOTHING, 0, 0, (u_char *) 0 },
2155 { NOTHING, 0, 0, (u_char *) 0 },
2156 { NOTHING, 0, 0, (u_char *) 0 },
2157
2158 { NOTHING, 0, 0, (u_char *) 0 }, /* 216 */
2159 { NOTHING, 0, 0, (u_char *) 0 },
2160 { NOTHING, 0, 0, (u_char *) 0 },
2161 { NOTHING, 0, 0, (u_char *) 0 },
2162 { NOTHING, 0, 0, (u_char *) 0 },
2163 { NOTHING, 0, 0, (u_char *) 0 },
2164 { NOTHING, 0, 0, (u_char *) 0 },
2165 { NOTHING, 0, 0, (u_char *) 0 },
2166
2167 { NOTHING, 0, 0, (u_char *) 0 }, /* 224 */
2168 { NOTHING, 0, 0, (u_char *) 0 },
2169 { NOTHING, 0, 0, (u_char *) 0 },
2170 { NOTHING, 0, 0, (u_char *) 0 },
2171 { NOTHING, 0, 0, (u_char *) 0 },
2172 { NOTHING, 0, 0, (u_char *) 0 },
2173 { NOTHING, 0, 0, (u_char *) 0 },
2174 { NOTHING, 0, 0, (u_char *) 0 },
2175
2176 { NOTHING, 0, 0, (u_char *) 0 }, /* 232 */
2177 { NOTHING, 0, 0, (u_char *) 0 },
2178 { NOTHING, 0, 0, (u_char *) 0 },
2179 { NOTHING, 0, 0, (u_char *) 0 },
2180 { NOTHING, 0, 0, (u_char *) 0 },
2181 { NOTHING, 0, 0, (u_char *) 0 },
2182 { NOTHING, 0, 0, (u_char *) 0 },
2183 { NOTHING, 0, 0, (u_char *) 0 },
2184
2185 { NOTHING, 0, 0, (u_char *) 0 }, /* 240 */
2186 { NOTHING, 0, 0, (u_char *) 0 },
2187 { NOTHING, 0, 0, (u_char *) 0 },
2188 { NOTHING, 0, 0, (u_char *) 0 },
2189 { NOTHING, 0, 0, (u_char *) 0 },
2190 { NOTHING, 0, 0, (u_char *) 0 },
2191 { NOTHING, 0, 0, (u_char *) 0 },
2192 { NOTHING, 0, 0, (u_char *) 0 },
2193
2194 { NOTHING, 0, 0, (u_char *) 0 }, /* 248 */
2195 { NOTHING, 0, 0, (u_char *) 0 },
2196 { NOTHING, 0, 0, (u_char *) 0 },
2197 { NOTHING, 0, 0, (u_char *) 0 },
2198 { NOTHING, 0, 0, (u_char *) 0 },
2199 { NOTHING, 0, 0, (u_char *) 0 },
2200 { NOTHING, 0, 0, (u_char *) 0 },
2201 { NOTHING, 0, 0, (u_char *) 0 }
2202 };
2203
2204 KeyMap FAR meta5_keys[] =
2205 {
2206 { NOTHING, 0, 0, (u_char *) 0 }, /* 0 */
2207 { NOTHING, 0, 0, (u_char *) 0 },
2208 { NOTHING, 0, 0, (u_char *) 0 },
2209 { NOTHING, 0, 0, (u_char *) 0 },
2210 { NOTHING, 0, 0, (u_char *) 0 },
2211 { NOTHING, 0, 0, (u_char *) 0 },
2212 { NOTHING, 0, 0, (u_char *) 0 },
2213 { NOTHING, 0, 0, (u_char *) 0 },
2214
2215 { NOTHING, 0, 0, (u_char *) 0 }, /* 8 */
2216 { NOTHING, 0, 0, (u_char *) 0 },
2217 { NOTHING, 0, 0, (u_char *) 0 },
2218 { NOTHING, 0, 0, (u_char *) 0 },
2219 { NOTHING, 0, 0, (u_char *) 0 },
2220 { NOTHING, 0, 0, (u_char *) 0 },
2221 { NOTHING, 0, 0, (u_char *) 0 },
2222 { NOTHING, 0, 0, (u_char *) 0 },
2223
2224 { NOTHING, 0, 0, (u_char *) 0 }, /* 16 */
2225 { NOTHING, 0, 0, (u_char *) 0 },
2226 { NOTHING, 0, 0, (u_char *) 0 },
2227 { NOTHING, 0, 0, (u_char *) 0 },
2228 { NOTHING, 0, 0, (u_char *) 0 },
2229 { NOTHING, 0, 0, (u_char *) 0 },
2230 { NOTHING, 0, 0, (u_char *) 0 },
2231 { NOTHING, 0, 0, (u_char *) 0 },
2232
2233 { NOTHING, 0, 0, (u_char *) 0 }, /* 24 */
2234 { NOTHING, 0, 0, (u_char *) 0 },
2235 { NOTHING, 0, 0, (u_char *) 0 },
2236 { NOTHING, 0, 0, (u_char *) 0 },
2237 { NOTHING, 0, 0, (u_char *) 0 },
2238 { NOTHING, 0, 0, (u_char *) 0 },
2239 { NOTHING, 0, 0, (u_char *) 0 },
2240 { NOTHING, 0, 0, (u_char *) 0 },
2241
2242 { NOTHING, 0, 0, (u_char *) 0 }, /* 32 */
2243 { NOTHING, 0, 0, (u_char *) 0 },
2244 { NOTHING, 0, 0, (u_char *) 0 },
2245 { NOTHING, 0, 0, (u_char *) 0 },
2246 { NOTHING, 0, 0, (u_char *) 0 },
2247 { NOTHING, 0, 0, (u_char *) 0 },
2248 { NOTHING, 0, 0, (u_char *) 0 },
2249 { NOTHING, 0, 0, (u_char *) 0 },
2250
2251 { NOTHING, 0, 0, (u_char *) 0 }, /* 40 */
2252 { NOTHING, 0, 0, (u_char *) 0 },
2253 { NOTHING, 0, 0, (u_char *) 0 },
2254 { NOTHING, 0, 0, (u_char *) 0 },
2255 { NOTHING, 0, 0, (u_char *) 0 },
2256 { NOTHING, 0, 0, (u_char *) 0 },
2257 { NOTHING, 0, 0, (u_char *) 0 },
2258 { NOTHING, 0, 0, (u_char *) 0 },
2259
2260 { NOTHING, 0, 0, (u_char *) 0 }, /* 48 */
2261 { NOTHING, 0, 0, (u_char *) 0 },
2262 { NOTHING, 0, 0, (u_char *) 0 },
2263 { NOTHING, 0, 0, (u_char *) 0 },
2264 { NOTHING, 0, 0, (u_char *) 0 },
2265 { NOTHING, 0, 0, (u_char *) 0 },
2266 { NOTHING, 0, 0, (u_char *) 0 },
2267 { NOTHING, 0, 0, (u_char *) 0 },
2268
2269 { NOTHING, 0, 0, (u_char *) 0 }, /* 56 */
2270 { NOTHING, 0, 0, (u_char *) 0 },
2271 { NOTHING, 0, 0, (u_char *) 0 },
2272 { NOTHING, 0, 0, (u_char *) 0 },
2273 { NOTHING, 0, 0, (u_char *) 0 },
2274 { NOTHING, 0, 0, (u_char *) 0 },
2275 { NOTHING, 0, 0, (u_char *) 0 },
2276 { NOTHING, 0, 0, (u_char *) 0 },
2277
2278 { NOTHING, 0, 0, (u_char *) 0 }, /* 64 */
2279 { NEXT_WINDOW, 0, 0, (u_char *) 0 },
2280 { OPER_VIEW, 0, 0, (u_char *) 0 },
2281 { NOTHING, 0, 0, (u_char *) 0 },
2282 { NOTHING, 0, 0, (u_char *) 0 },
2283 { NOTHING, 0, 0, (u_char *) 0 },
2284 { NOTHING, 0, 0, (u_char *) 0 },
2285 { NOTHING, 0, 0, (u_char *) 0 },
2286
2287 { NOTHING, 0, 0, (u_char *) 0 }, /* 72 */
2288 { NOTHING, 0, 0, (u_char *) 0 },
2289 { NOTHING, 0, 0, (u_char *) 0 },
2290 { NOTHING, 0, 0, (u_char *) 0 },
2291 { NOTHING, 0, 0, (u_char *) 0 },
2292 { NOTHING, 0, 0, (u_char *) 0 },
2293 { NOTHING, 0, 0, (u_char *) 0 },
2294 { NOTHING, 0, 0, (u_char *) 0 },
2295
2296 { NEXT_WINDOW, 0, 0, (u_char *) 0 }, /* 80 */
2297 { OPER_VIEW, 0, 0, (u_char *) 0 },
2298 { NOTHING, 0, 0, (u_char *) 0 },
2299 { NOTHING, 0, 0, (u_char *) 0 },
2300 { NOTHING, 0, 0, (u_char *) 0 },
2301 { NOTHING, 0, 0, (u_char *) 0 },
2302 { NOTHING, 0, 0, (u_char *) 0 },
2303 { NOTHING, 0, 0, (u_char *) 0 },
2304
2305 { NOTHING, 0, 0, (u_char *) 0 }, /* 88 */
2306 { NOTHING, 0, 0, (u_char *) 0 },
2307 { NOTHING, 0, 0, (u_char *) 0 },
2308 { NOTHING, 0, 0, (u_char *) 0 },
2309 { NOTHING, 0, 0, (u_char *) 0 },
2310 { NOTHING, 0, 0, (u_char *) 0 },
2311 { NOTHING, 0, 0, (u_char *) 0 },
2312 { NOTHING, 0, 0, (u_char *) 0 },
2313
2314 { NOTHING, 0, 0, (u_char *) 0 }, /* 96 */
2315 { NOTHING, 0, 0, (u_char *) 0 },
2316 { NOTHING, 0, 0, (u_char *) 0 },
2317 { NOTHING, 0, 0, (u_char *) 0 },
2318 { NOTHING, 0, 0, (u_char *) 0 },
2319 { NOTHING, 0, 0, (u_char *) 0 },
2320 { NOTHING, 0, 0, (u_char *) 0 },
2321 { NOTHING, 0, 0, (u_char *) 0 },
2322
2323 { NOTHING, 0, 0, (u_char *) 0 }, /* 104 */
2324 { NOTHING, 0, 0, (u_char *) 0 },
2325 { NOTHING, 0, 0, (u_char *) 0 },
2326 { NOTHING, 0, 0, (u_char *) 0 },
2327 { NOTHING, 0, 0, (u_char *) 0 },
2328 { NOTHING, 0, 0, (u_char *) 0 },
2329 { NOTHING, 0, 0, (u_char *) 0 },
2330 { NOTHING, 0, 0, (u_char *) 0 },
2331
2332 { NOTHING, 0, 0, (u_char *) 0 }, /* 112 */
2333 { NOTHING, 0, 0, (u_char *) 0 },
2334 { NOTHING, 0, 0, (u_char *) 0 },
2335 { NOTHING, 0, 0, (u_char *) 0 },
2336 { NOTHING, 0, 0, (u_char *) 0 },
2337 { NOTHING, 0, 0, (u_char *) 0 },
2338 { NOTHING, 0, 0, (u_char *) 0 },
2339 { NOTHING, 0, 0, (u_char *) 0 },
2340
2341 { NOTHING, 0, 0, (u_char *) 0 }, /* 120 */
2342 { NOTHING, 0, 0, (u_char *) 0 },
2343 { NOTHING, 0, 0, (u_char *) 0 },
2344 { NOTHING, 0, 0, (u_char *) 0 },
2345 { NOTHING, 0, 0, (u_char *) 0 },
2346 { NOTHING, 0, 0, (u_char *) 0 },
2347 { NOTHING, 0, 0, (u_char *) 0 },
2348 { NOTHING, 0, 0, (u_char *) 0 },
2349
2350 { NOTHING, 0, 0, (u_char *) 0 }, /* 128 */
2351 { NOTHING, 0, 0, (u_char *) 0 },
2352 { NOTHING, 0, 0, (u_char *) 0 },
2353 { NOTHING, 0, 0, (u_char *) 0 },
2354 { NOTHING, 0, 0, (u_char *) 0 },
2355 { NOTHING, 0, 0, (u_char *) 0 },
2356 { NOTHING, 0, 0, (u_char *) 0 },
2357 { NOTHING, 0, 0, (u_char *) 0 },
2358
2359 { NOTHING, 0, 0, (u_char *) 0 }, /* 136 */
2360 { NOTHING, 0, 0, (u_char *) 0 },
2361 { NOTHING, 0, 0, (u_char *) 0 },
2362 { NOTHING, 0, 0, (u_char *) 0 },
2363 { NOTHING, 0, 0, (u_char *) 0 },
2364 { NOTHING, 0, 0, (u_char *) 0 },
2365 { NOTHING, 0, 0, (u_char *) 0 },
2366 { NOTHING, 0, 0, (u_char *) 0 },
2367
2368 { NOTHING, 0, 0, (u_char *) 0 }, /* 144 */
2369 { NOTHING, 0, 0, (u_char *) 0 },
2370 { NOTHING, 0, 0, (u_char *) 0 },
2371 { NOTHING, 0, 0, (u_char *) 0 },
2372 { NOTHING, 0, 0, (u_char *) 0 },
2373 { NOTHING, 0, 0, (u_char *) 0 },
2374 { NOTHING, 0, 0, (u_char *) 0 },
2375 { NOTHING, 0, 0, (u_char *) 0 },
2376
2377 { NOTHING, 0, 0, (u_char *) 0 }, /* 152 */
2378 { NOTHING, 0, 0, (u_char *) 0 },
2379 { NOTHING, 0, 0, (u_char *) 0 },
2380 { NOTHING, 0, 0, (u_char *) 0 },
2381 { NOTHING, 0, 0, (u_char *) 0 },
2382 { NOTHING, 0, 0, (u_char *) 0 },
2383 { NOTHING, 0, 0, (u_char *) 0 },
2384 { NOTHING, 0, 0, (u_char *) 0 },
2385
2386 { NOTHING, 0, 0, (u_char *) 0 }, /* 160 */
2387 { NOTHING, 0, 0, (u_char *) 0 },
2388 { NOTHING, 0, 0, (u_char *) 0 },
2389 { NOTHING, 0, 0, (u_char *) 0 },
2390 { NOTHING, 0, 0, (u_char *) 0 },
2391 { NOTHING, 0, 0, (u_char *) 0 },
2392 { NOTHING, 0, 0, (u_char *) 0 },
2393 { NOTHING, 0, 0, (u_char *) 0 },
2394
2395 { NOTHING, 0, 0, (u_char *) 0 }, /* 168 */
2396 { NOTHING, 0, 0, (u_char *) 0 },
2397 { NOTHING, 0, 0, (u_char *) 0 },
2398 { NOTHING, 0, 0, (u_char *) 0 },
2399 { NOTHING, 0, 0, (u_char *) 0 },
2400 { NOTHING, 0, 0, (u_char *) 0 },
2401 { NOTHING, 0, 0, (u_char *) 0 },
2402 { NOTHING, 0, 0, (u_char *) 0 },
2403
2404 { NOTHING, 0, 0, (u_char *) 0 }, /* 176 */
2405 { NOTHING, 0, 0, (u_char *) 0 },
2406 { NOTHING, 0, 0, (u_char *) 0 },
2407 { NOTHING, 0, 0, (u_char *) 0 },
2408 { NOTHING, 0, 0, (u_char *) 0 },
2409 { NOTHING, 0, 0, (u_char *) 0 },
2410 { NOTHING, 0, 0, (u_char *) 0 },
2411 { NOTHING, 0, 0, (u_char *) 0 },
2412
2413 { NOTHING, 0, 0, (u_char *) 0 }, /* 184 */
2414 { NOTHING, 0, 0, (u_char *) 0 },
2415 { NOTHING, 0, 0, (u_char *) 0 },
2416 { NOTHING, 0, 0, (u_char *) 0 },
2417 { NOTHING, 0, 0, (u_char *) 0 },
2418 { NOTHING, 0, 0, (u_char *) 0 },
2419 { NOTHING, 0, 0, (u_char *) 0 },
2420 { NOTHING, 0, 0, (u_char *) 0 },
2421
2422 { NOTHING, 0, 0, (u_char *) 0 }, /* 192 */
2423 { NOTHING, 0, 0, (u_char *) 0 },
2424 { NOTHING, 0, 0, (u_char *) 0 },
2425 { NOTHING, 0, 0, (u_char *) 0 },
2426 { NOTHING, 0, 0, (u_char *) 0 },
2427 { NOTHING, 0, 0, (u_char *) 0 },
2428 { NOTHING, 0, 0, (u_char *) 0 },
2429 { NOTHING, 0, 0, (u_char *) 0 },
2430
2431 { NOTHING, 0, 0, (u_char *) 0 }, /* 200 */
2432 { NOTHING, 0, 0, (u_char *) 0 },
2433 { NOTHING, 0, 0, (u_char *) 0 },
2434 { NOTHING, 0, 0, (u_char *) 0 },
2435 { NOTHING, 0, 0, (u_char *) 0 },
2436 { NOTHING, 0, 0, (u_char *) 0 },
2437 { NOTHING, 0, 0, (u_char *) 0 },
2438 { NOTHING, 0, 0, (u_char *) 0 },
2439
2440 { NOTHING, 0, 0, (u_char *) 0 }, /* 208 */
2441 { NOTHING, 0, 0, (u_char *) 0 },
2442 { NOTHING, 0, 0, (u_char *) 0 },
2443 { NOTHING, 0, 0, (u_char *) 0 },
2444 { NOTHING, 0, 0, (u_char *) 0 },
2445 { NOTHING, 0, 0, (u_char *) 0 },
2446 { NOTHING, 0, 0, (u_char *) 0 },
2447 { NOTHING, 0, 0, (u_char *) 0 },
2448
2449 { NOTHING, 0, 0, (u_char *) 0 }, /* 216 */
2450 { NOTHING, 0, 0, (u_char *) 0 },
2451 { NOTHING, 0, 0, (u_char *) 0 },
2452 { NOTHING, 0, 0, (u_char *) 0 },
2453 { NOTHING, 0, 0, (u_char *) 0 },
2454 { NOTHING, 0, 0, (u_char *) 0 },
2455 { NOTHING, 0, 0, (u_char *) 0 },
2456 { NOTHING, 0, 0, (u_char *) 0 },
2457
2458 { NOTHING, 0, 0, (u_char *) 0 }, /* 224 */
2459 { NOTHING, 0, 0, (u_char *) 0 },
2460 { NOTHING, 0, 0, (u_char *) 0 },
2461 { NOTHING, 0, 0, (u_char *) 0 },
2462 { NOTHING, 0, 0, (u_char *) 0 },
2463 { NOTHING, 0, 0, (u_char *) 0 },
2464 { NOTHING, 0, 0, (u_char *) 0 },
2465 { NOTHING, 0, 0, (u_char *) 0 },
2466
2467 { NOTHING, 0, 0, (u_char *) 0 }, /* 232 */
2468 { NOTHING, 0, 0, (u_char *) 0 },
2469 { NOTHING, 0, 0, (u_char *) 0 },
2470 { NOTHING, 0, 0, (u_char *) 0 },
2471 { NOTHING, 0, 0, (u_char *) 0 },
2472 { NOTHING, 0, 0, (u_char *) 0 },
2473 { NOTHING, 0, 0, (u_char *) 0 },
2474 { NOTHING, 0, 0, (u_char *) 0 },
2475
2476 { NOTHING, 0, 0, (u_char *) 0 }, /* 240 */
2477 { NOTHING, 0, 0, (u_char *) 0 },
2478 { NOTHING, 0, 0, (u_char *) 0 },
2479 { NOTHING, 0, 0, (u_char *) 0 },
2480 { NOTHING, 0, 0, (u_char *) 0 },
2481 { NOTHING, 0, 0, (u_char *) 0 },
2482 { NOTHING, 0, 0, (u_char *) 0 },
2483 { NOTHING, 0, 0, (u_char *) 0 },
2484
2485 { NOTHING, 0, 0, (u_char *) 0 }, /* 248 */
2486 { NOTHING, 0, 0, (u_char *) 0 },
2487 { NOTHING, 0, 0, (u_char *) 0 },
2488 { NOTHING, 0, 0, (u_char *) 0 },
2489 { NOTHING, 0, 0, (u_char *) 0 },
2490 { NOTHING, 0, 0, (u_char *) 0 },
2491 { NOTHING, 0, 0, (u_char *) 0 },
2492 { NOTHING, 0, 0, (u_char *) 0 }
2493 };
2494
2495 KeyMap FAR meta6_keys[] =
2496 #include "emetakey.inc"
2497
2498 KeyMap FAR meta7_keys[] =
2499 #include "emetakey.inc"
2500
2501 KeyMap FAR meta8_keys[] =
2502 #include "emetakey.inc"
2503
2504 /*
2505 * write_binding: This will write to the given FILE pointer the information
2506 * about the specified key binding. The format it writes it out is such that
2507 * it can be parsed back in later using LOAD or with the -l switch
2508 */
2509 static void
write_binding(c,meta,fp,do_all)2510 write_binding(c, meta, fp, do_all)
2511 u_int c,
2512 meta;
2513 FILE *fp;
2514 int do_all;
2515 {
2516 KeyMap *map;
2517 char *meta_str;
2518
2519 if (c == 32)
2520 return;
2521 switch (meta)
2522 {
2523 case 1:
2524 map = meta1_keys;
2525 meta_str = "META1-";
2526 break;
2527 case 2:
2528 map = meta2_keys;
2529 meta_str = "META2-";
2530 break;
2531 case 3:
2532 map = meta3_keys;
2533 meta_str = "META3-";
2534 break;
2535 case 4:
2536 map = meta4_keys;
2537 meta_str = "META4-";
2538 break;
2539 case 5:
2540 map = meta5_keys;
2541 meta_str = "META5-";
2542 break;
2543 case 6:
2544 map = meta6_keys;
2545 meta_str = "META6-";
2546 break;
2547 case 7:
2548 map = meta7_keys;
2549 meta_str = "META7-";
2550 break;
2551 case 8:
2552 map = meta8_keys;
2553 meta_str = "META8-";
2554 break;
2555 default:
2556 map = keys;
2557 meta_str = CP(empty_string);
2558 break;
2559 }
2560 if (map[c].changed)
2561 {
2562 fprintf(fp, "BIND %s%s %s", meta_str, display_key(c),
2563 key_names[map[c].index].name);
2564 if (map[c].stuff && (*(map[c].stuff)))
2565 {
2566 fprintf(fp, " %s\n", map[c].stuff);
2567 }
2568 else
2569 fprintf(fp, "\n");
2570 }
2571 }
2572
2573 /*
2574 * save_bindings: this writes all the keys bindings for IRCII to the given
2575 * FILE pointer using the write_binding function
2576 */
2577 void
save_bindings(fp,do_all)2578 save_bindings(fp, do_all)
2579 FILE *fp;
2580 int do_all;
2581 {
2582 int i;
2583 int charsize = charset_size();
2584
2585 for (i = 0; i < charsize; i++)
2586 write_binding((u_char) i, 0, fp, do_all);
2587 for (i = 0; i < charsize; i++)
2588 write_binding((u_char) i, 1, fp, do_all);
2589 for (i = 0; i < charsize; i++)
2590 write_binding((u_char) i, 2, fp, do_all);
2591 for (i = 0; i < charsize; i++)
2592 write_binding((u_char) i, 3, fp, do_all);
2593 for (i = 0; i < charsize; i++)
2594 write_binding((u_char) i, 4, fp, do_all);
2595 for (i = 0; i < charsize; i++)
2596 write_binding((u_char) i, 5, fp, do_all);
2597 for (i = 0; i < charsize; i++)
2598 write_binding((u_char) i, 6, fp, do_all);
2599 for (i = 0; i < charsize; i++)
2600 write_binding((u_char) i, 7, fp, do_all);
2601 for (i = 0; i < charsize; i++)
2602 write_binding((u_char) i, 8, fp, do_all);
2603 }
2604
2605
2606 /*
2607 * ninja's join invite key
2608 */
2609 void
join_invite(unused0,unused1)2610 join_invite(unused0, unused1)
2611 u_int unused0;
2612 u_char *unused1;
2613 {
2614 u_char *ptr;
2615
2616 if (invite_channel)
2617 {
2618 if ((ptr = do_channel(invite_channel, unused0)))
2619 send_to_server("JOIN %s %s", invite_channel, get_ckey(invite_channel));
2620 else
2621 say("You are already on %s ?", invite_channel);
2622 dma_Free(&invite_channel);
2623 }
2624 else
2625 say("You have not been invited to a channel!");
2626 }
2627