121308Sache/* vi_keymap.c -- the keymap for vi_mode in readline (). */
221308Sache
321308Sache/* Copyright (C) 1987, 1989, 1992 Free Software Foundation, Inc.
421308Sache
521308Sache   This file is part of the GNU Readline Library, a library for
621308Sache   reading lines of text with interactive input and history editing.
721308Sache
821308Sache   The GNU Readline Library is free software; you can redistribute it
921308Sache   and/or modify it under the terms of the GNU General Public License
1058310Sache   as published by the Free Software Foundation; either version 2, or
1121308Sache   (at your option) any later version.
1221308Sache
1321308Sache   The GNU Readline Library is distributed in the hope that it will be
1421308Sache   useful, but WITHOUT ANY WARRANTY; without even the implied warranty
1521308Sache   of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
1621308Sache   GNU General Public License for more details.
1721308Sache
1821308Sache   The GNU General Public License is often shipped with GNU software, and
1921308Sache   is generally kept in a file called COPYING or LICENSE.  If you do not
2021308Sache   have a copy of the license, write to the Free Software Foundation,
2158310Sache   59 Temple Place, Suite 330, Boston, MA 02111 USA. */
2221308Sache
2321308Sache#if !defined (BUFSIZ)
2421308Sache#include <stdio.h>
2521308Sache#endif /* !BUFSIZ */
2621308Sache
2721308Sache#include "readline.h"
2821308Sache
2921308Sache#if 0
3021308Sacheextern KEYMAP_ENTRY_ARRAY vi_escape_keymap;
3121308Sache#endif
3221308Sache
3321308Sache/* The keymap arrays for handling vi mode. */
3421308SacheKEYMAP_ENTRY_ARRAY vi_movement_keymap = {
3521308Sache  /* The regular control keys come first. */
3675406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-@ */
3775406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-a */
3875406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-b */
3975406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-c */
4075406Sache  { ISFUNC, rl_vi_eof_maybe },			/* Control-d */
4175406Sache  { ISFUNC, rl_emacs_editing_mode },		/* Control-e */
4275406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-f */
4375406Sache  { ISFUNC, rl_abort },				/* Control-g */
44119610Sache  { ISFUNC, rl_backward_char },			/* Control-h */
4575406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-i */
4675406Sache  { ISFUNC, rl_newline },			/* Control-j */
4775406Sache  { ISFUNC, rl_kill_line },			/* Control-k */
4875406Sache  { ISFUNC, rl_clear_screen },			/* Control-l */
4975406Sache  { ISFUNC, rl_newline },			/* Control-m */
5075406Sache  { ISFUNC, rl_get_next_history },		/* Control-n */
5175406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-o */
5275406Sache  { ISFUNC, rl_get_previous_history },		/* Control-p */
5375406Sache  { ISFUNC, rl_quoted_insert },			/* Control-q */
5475406Sache  { ISFUNC, rl_reverse_search_history },	/* Control-r */
5575406Sache  { ISFUNC, rl_forward_search_history },	/* Control-s */
5675406Sache  { ISFUNC, rl_transpose_chars },		/* Control-t */
5775406Sache  { ISFUNC, rl_unix_line_discard },		/* Control-u */
5875406Sache  { ISFUNC, rl_quoted_insert },			/* Control-v */
5975406Sache  { ISFUNC, rl_unix_word_rubout },		/* Control-w */
6075406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-x */
6175406Sache  { ISFUNC, rl_yank },				/* Control-y */
6275406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-z */
6321308Sache
6475406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-[ */	/* vi_escape_keymap */
6575406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-\ */
6675406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-] */
6775406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-^ */
6875406Sache  { ISFUNC, rl_vi_undo },			/* Control-_ */
6921308Sache
7021308Sache  /* The start of printing characters. */
71119610Sache  { ISFUNC, rl_forward_char },			/* SPACE */
7275406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* ! */
7375406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* " */
7475406Sache  { ISFUNC, rl_insert_comment },		/* # */
7575406Sache  { ISFUNC, rl_end_of_line },			/* $ */
7675406Sache  { ISFUNC, rl_vi_match },			/* % */
7775406Sache  { ISFUNC, rl_vi_tilde_expand },		/* & */
7875406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* ' */
7975406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* ( */
8075406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* ) */
8175406Sache  { ISFUNC, rl_vi_complete },			/* * */
8275406Sache  { ISFUNC, rl_get_next_history},		/* + */
8375406Sache  { ISFUNC, rl_vi_char_search },		/* , */
8475406Sache  { ISFUNC, rl_get_previous_history },		/* - */
8575406Sache  { ISFUNC, rl_vi_redo },			/* . */
8675406Sache  { ISFUNC, rl_vi_search },			/* / */
8721308Sache
8821308Sache  /* Regular digits. */
8975406Sache  { ISFUNC, rl_beg_of_line },			/* 0 */
9075406Sache  { ISFUNC, rl_vi_arg_digit },			/* 1 */
9175406Sache  { ISFUNC, rl_vi_arg_digit },			/* 2 */
9275406Sache  { ISFUNC, rl_vi_arg_digit },			/* 3 */
9375406Sache  { ISFUNC, rl_vi_arg_digit },			/* 4 */
9475406Sache  { ISFUNC, rl_vi_arg_digit },			/* 5 */
9575406Sache  { ISFUNC, rl_vi_arg_digit },			/* 6 */
9675406Sache  { ISFUNC, rl_vi_arg_digit },			/* 7 */
9775406Sache  { ISFUNC, rl_vi_arg_digit },			/* 8 */
9875406Sache  { ISFUNC, rl_vi_arg_digit },			/* 9 */
9921308Sache
10021308Sache  /* A little more punctuation. */
10175406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* : */
10275406Sache  { ISFUNC, rl_vi_char_search },		/* ; */
10375406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* < */
10475406Sache  { ISFUNC, rl_vi_complete },			/* = */
10575406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* > */
10675406Sache  { ISFUNC, rl_vi_search },			/* ? */
10775406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* @ */
10821308Sache
10921308Sache  /* Uppercase alphabet. */
11075406Sache  { ISFUNC, rl_vi_append_eol },			/* A */
11175406Sache  { ISFUNC, rl_vi_prev_word},			/* B */
11275406Sache  { ISFUNC, rl_vi_change_to },			/* C */
11375406Sache  { ISFUNC, rl_vi_delete_to },			/* D */
11475406Sache  { ISFUNC, rl_vi_end_word },			/* E */
11575406Sache  { ISFUNC, rl_vi_char_search },		/* F */
11675406Sache  { ISFUNC, rl_vi_fetch_history },		/* G */
11775406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* H */
11875406Sache  { ISFUNC, rl_vi_insert_beg },			/* I */
11975406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* J */
12075406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* K */
12175406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* L */
12275406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* M */
12375406Sache  { ISFUNC, rl_vi_search_again },		/* N */
12475406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* O */
12575406Sache  { ISFUNC, rl_vi_put },			/* P */
12675406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* Q */
12775406Sache  { ISFUNC, rl_vi_replace },			/* R */
12875406Sache  { ISFUNC, rl_vi_subst },			/* S */
12975406Sache  { ISFUNC, rl_vi_char_search },		/* T */
13075406Sache  { ISFUNC, rl_revert_line },			/* U */
13175406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* V */
13275406Sache  { ISFUNC, rl_vi_next_word },			/* W */
133157184Sache  { ISFUNC, rl_vi_rubout },			/* X */
13475406Sache  { ISFUNC, rl_vi_yank_to },			/* Y */
13575406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* Z */
13621308Sache
13721308Sache  /* Some more punctuation. */
13875406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* [ */
13975406Sache  { ISFUNC, rl_vi_complete },			/* \ */
14075406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* ] */
14175406Sache  { ISFUNC, rl_vi_first_print },		/* ^ */
14275406Sache  { ISFUNC, rl_vi_yank_arg },			/* _ */
14375406Sache  { ISFUNC, rl_vi_goto_mark },			/* ` */
14421308Sache
14521308Sache  /* Lowercase alphabet. */
14675406Sache  { ISFUNC, rl_vi_append_mode },		/* a */
14775406Sache  { ISFUNC, rl_vi_prev_word },			/* b */
14875406Sache  { ISFUNC, rl_vi_change_to },			/* c */
14975406Sache  { ISFUNC, rl_vi_delete_to },			/* d */
15075406Sache  { ISFUNC, rl_vi_end_word },			/* e */
15175406Sache  { ISFUNC, rl_vi_char_search },		/* f */
15275406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* g */
153119610Sache  { ISFUNC, rl_backward_char },			/* h */
15475406Sache  { ISFUNC, rl_vi_insertion_mode },		/* i */
15575406Sache  { ISFUNC, rl_get_next_history },		/* j */
15675406Sache  { ISFUNC, rl_get_previous_history },		/* k */
157119610Sache  { ISFUNC, rl_forward_char },			/* l */
15875406Sache  { ISFUNC, rl_vi_set_mark },			/* m */
15975406Sache  { ISFUNC, rl_vi_search_again },		/* n */
16075406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* o */
16175406Sache  { ISFUNC, rl_vi_put },			/* p */
16275406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* q */
16375406Sache  { ISFUNC, rl_vi_change_char },		/* r */
16475406Sache  { ISFUNC, rl_vi_subst },			/* s */
16575406Sache  { ISFUNC, rl_vi_char_search },		/* t */
16675406Sache  { ISFUNC, rl_vi_undo },			/* u */
16775406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* v */
16875406Sache  { ISFUNC, rl_vi_next_word },			/* w */
16975406Sache  { ISFUNC, rl_vi_delete },			/* x */
17075406Sache  { ISFUNC, rl_vi_yank_to },			/* y */
17175406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* z */
17221308Sache
17321308Sache  /* Final punctuation. */
17475406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* { */
17575406Sache  { ISFUNC, rl_vi_column },			/* | */
17675406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* } */
17775406Sache  { ISFUNC, rl_vi_change_case },		/* ~ */
17875406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* RUBOUT */
17921308Sache
18021308Sache#if KEYMAP_SIZE > 128
18121308Sache  /* Undefined keys. */
18275406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
18375406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
18475406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
18575406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
18675406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
18775406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
18875406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
18975406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
19075406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
19175406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
19275406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
19375406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
19475406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
19575406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
19675406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
19775406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
19875406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
19975406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
20075406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
20175406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
20275406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
20375406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
20475406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
20575406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
20675406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
20775406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
20875406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
20975406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
21075406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
21175406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
21275406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
21375406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
21475406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
21575406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
21675406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
21775406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
21875406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
21975406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
22075406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
22175406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
22275406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
22375406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
22475406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
22575406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
22675406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
22775406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
22875406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
22975406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
23075406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
23175406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
23275406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
23375406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
23475406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
23575406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
23675406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
23775406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
23875406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
23975406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
24075406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
24175406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
24275406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
24375406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
24475406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
24575406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
24675406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
24775406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
24875406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
24975406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
25075406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
25175406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
25275406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
25375406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
25475406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
25575406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
25675406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
25775406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
25875406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
25975406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
26075406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
26175406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
26275406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
26375406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
26475406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
26575406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
26675406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
26775406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
26875406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
26975406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
27075406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
27175406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
27275406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
27375406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
27475406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
27575406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
27675406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
27775406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
27875406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
27975406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
28075406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
28175406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
28275406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
28375406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
28475406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
28575406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
28675406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
28775406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
28875406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
28975406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
29075406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
29175406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
29275406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
29375406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
29475406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
29575406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
29675406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
29775406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
29875406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
29975406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
30075406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
30175406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
30275406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
30375406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
30475406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
30575406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
30675406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
30775406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
30875406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
30975406Sache  { ISFUNC, (rl_command_func_t *)0x0 }
31021308Sache#endif /* KEYMAP_SIZE > 128 */
31121308Sache};
31221308Sache
31321308Sache
31421308SacheKEYMAP_ENTRY_ARRAY vi_insertion_keymap = {
31521308Sache  /* The regular control keys come first. */
31675406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-@ */
31775406Sache  { ISFUNC, rl_insert },			/* Control-a */
31875406Sache  { ISFUNC, rl_insert },			/* Control-b */
31975406Sache  { ISFUNC, rl_insert },			/* Control-c */
32075406Sache  { ISFUNC, rl_vi_eof_maybe },			/* Control-d */
32175406Sache  { ISFUNC, rl_insert },			/* Control-e */
32275406Sache  { ISFUNC, rl_insert },			/* Control-f */
32375406Sache  { ISFUNC, rl_insert },			/* Control-g */
32475406Sache  { ISFUNC, rl_rubout },			/* Control-h */
32575406Sache  { ISFUNC, rl_complete },			/* Control-i */
32675406Sache  { ISFUNC, rl_newline },			/* Control-j */
32775406Sache  { ISFUNC, rl_insert },			/* Control-k */
32875406Sache  { ISFUNC, rl_insert },			/* Control-l */
32975406Sache  { ISFUNC, rl_newline },			/* Control-m */
33075406Sache  { ISFUNC, rl_insert },			/* Control-n */
33175406Sache  { ISFUNC, rl_insert },			/* Control-o */
33275406Sache  { ISFUNC, rl_insert },			/* Control-p */
33375406Sache  { ISFUNC, rl_insert },			/* Control-q */
33475406Sache  { ISFUNC, rl_reverse_search_history },	/* Control-r */
33575406Sache  { ISFUNC, rl_forward_search_history },	/* Control-s */
33675406Sache  { ISFUNC, rl_transpose_chars },		/* Control-t */
33775406Sache  { ISFUNC, rl_unix_line_discard },		/* Control-u */
33875406Sache  { ISFUNC, rl_quoted_insert },			/* Control-v */
33975406Sache  { ISFUNC, rl_unix_word_rubout },		/* Control-w */
34075406Sache  { ISFUNC, rl_insert },			/* Control-x */
34175406Sache  { ISFUNC, rl_yank },				/* Control-y */
34275406Sache  { ISFUNC, rl_insert },			/* Control-z */
34321308Sache
34475406Sache  { ISFUNC, rl_vi_movement_mode },		/* Control-[ */
34575406Sache  { ISFUNC, rl_insert },			/* Control-\ */
34675406Sache  { ISFUNC, rl_insert },			/* Control-] */
34775406Sache  { ISFUNC, rl_insert },			/* Control-^ */
34875406Sache  { ISFUNC, rl_vi_undo },			/* Control-_ */
34921308Sache
35021308Sache  /* The start of printing characters. */
35175406Sache  { ISFUNC, rl_insert },			/* SPACE */
35275406Sache  { ISFUNC, rl_insert },			/* ! */
35375406Sache  { ISFUNC, rl_insert },			/* " */
35475406Sache  { ISFUNC, rl_insert },			/* # */
35575406Sache  { ISFUNC, rl_insert },			/* $ */
35675406Sache  { ISFUNC, rl_insert },			/* % */
35775406Sache  { ISFUNC, rl_insert },			/* & */
35875406Sache  { ISFUNC, rl_insert },			/* ' */
35975406Sache  { ISFUNC, rl_insert },			/* ( */
36075406Sache  { ISFUNC, rl_insert },			/* ) */
36175406Sache  { ISFUNC, rl_insert },			/* * */
36275406Sache  { ISFUNC, rl_insert },			/* + */
36375406Sache  { ISFUNC, rl_insert },			/* , */
36475406Sache  { ISFUNC, rl_insert },			/* - */
36575406Sache  { ISFUNC, rl_insert },			/* . */
36675406Sache  { ISFUNC, rl_insert },			/* / */
36721308Sache
36821308Sache  /* Regular digits. */
36975406Sache  { ISFUNC, rl_insert },			/* 0 */
37075406Sache  { ISFUNC, rl_insert },			/* 1 */
37175406Sache  { ISFUNC, rl_insert },			/* 2 */
37275406Sache  { ISFUNC, rl_insert },			/* 3 */
37375406Sache  { ISFUNC, rl_insert },			/* 4 */
37475406Sache  { ISFUNC, rl_insert },			/* 5 */
37575406Sache  { ISFUNC, rl_insert },			/* 6 */
37675406Sache  { ISFUNC, rl_insert },			/* 7 */
37775406Sache  { ISFUNC, rl_insert },			/* 8 */
37875406Sache  { ISFUNC, rl_insert },			/* 9 */
37921308Sache
38021308Sache  /* A little more punctuation. */
38175406Sache  { ISFUNC, rl_insert },			/* : */
38275406Sache  { ISFUNC, rl_insert },			/* ; */
38375406Sache  { ISFUNC, rl_insert },			/* < */
38475406Sache  { ISFUNC, rl_insert },			/* = */
38575406Sache  { ISFUNC, rl_insert },			/* > */
38675406Sache  { ISFUNC, rl_insert },			/* ? */
38775406Sache  { ISFUNC, rl_insert },			/* @ */
38821308Sache
38921308Sache  /* Uppercase alphabet. */
39075406Sache  { ISFUNC, rl_insert },			/* A */
39175406Sache  { ISFUNC, rl_insert },			/* B */
39275406Sache  { ISFUNC, rl_insert },			/* C */
39375406Sache  { ISFUNC, rl_insert },			/* D */
39475406Sache  { ISFUNC, rl_insert },			/* E */
39575406Sache  { ISFUNC, rl_insert },			/* F */
39675406Sache  { ISFUNC, rl_insert },			/* G */
39775406Sache  { ISFUNC, rl_insert },			/* H */
39875406Sache  { ISFUNC, rl_insert },			/* I */
39975406Sache  { ISFUNC, rl_insert },			/* J */
40075406Sache  { ISFUNC, rl_insert },			/* K */
40175406Sache  { ISFUNC, rl_insert },			/* L */
40275406Sache  { ISFUNC, rl_insert },			/* M */
40375406Sache  { ISFUNC, rl_insert },			/* N */
40475406Sache  { ISFUNC, rl_insert },			/* O */
40575406Sache  { ISFUNC, rl_insert },			/* P */
40675406Sache  { ISFUNC, rl_insert },			/* Q */
40775406Sache  { ISFUNC, rl_insert },			/* R */
40875406Sache  { ISFUNC, rl_insert },			/* S */
40975406Sache  { ISFUNC, rl_insert },			/* T */
41075406Sache  { ISFUNC, rl_insert },			/* U */
41175406Sache  { ISFUNC, rl_insert },			/* V */
41275406Sache  { ISFUNC, rl_insert },			/* W */
41375406Sache  { ISFUNC, rl_insert },			/* X */
41475406Sache  { ISFUNC, rl_insert },			/* Y */
41575406Sache  { ISFUNC, rl_insert },			/* Z */
41621308Sache
41721308Sache  /* Some more punctuation. */
41875406Sache  { ISFUNC, rl_insert },			/* [ */
41975406Sache  { ISFUNC, rl_insert },			/* \ */
42075406Sache  { ISFUNC, rl_insert },			/* ] */
42175406Sache  { ISFUNC, rl_insert },			/* ^ */
42275406Sache  { ISFUNC, rl_insert },			/* _ */
42375406Sache  { ISFUNC, rl_insert },			/* ` */
42421308Sache
42521308Sache  /* Lowercase alphabet. */
42675406Sache  { ISFUNC, rl_insert },			/* a */
42775406Sache  { ISFUNC, rl_insert },			/* b */
42875406Sache  { ISFUNC, rl_insert },			/* c */
42975406Sache  { ISFUNC, rl_insert },			/* d */
43075406Sache  { ISFUNC, rl_insert },			/* e */
43175406Sache  { ISFUNC, rl_insert },			/* f */
43275406Sache  { ISFUNC, rl_insert },			/* g */
43375406Sache  { ISFUNC, rl_insert },			/* h */
43475406Sache  { ISFUNC, rl_insert },			/* i */
43575406Sache  { ISFUNC, rl_insert },			/* j */
43675406Sache  { ISFUNC, rl_insert },			/* k */
43775406Sache  { ISFUNC, rl_insert },			/* l */
43875406Sache  { ISFUNC, rl_insert },			/* m */
43975406Sache  { ISFUNC, rl_insert },			/* n */
44075406Sache  { ISFUNC, rl_insert },			/* o */
44175406Sache  { ISFUNC, rl_insert },			/* p */
44275406Sache  { ISFUNC, rl_insert },			/* q */
44375406Sache  { ISFUNC, rl_insert },			/* r */
44475406Sache  { ISFUNC, rl_insert },			/* s */
44575406Sache  { ISFUNC, rl_insert },			/* t */
44675406Sache  { ISFUNC, rl_insert },			/* u */
44775406Sache  { ISFUNC, rl_insert },			/* v */
44875406Sache  { ISFUNC, rl_insert },			/* w */
44975406Sache  { ISFUNC, rl_insert },			/* x */
45075406Sache  { ISFUNC, rl_insert },			/* y */
45175406Sache  { ISFUNC, rl_insert },			/* z */
45221308Sache
45321308Sache  /* Final punctuation. */
45475406Sache  { ISFUNC, rl_insert },			/* { */
45575406Sache  { ISFUNC, rl_insert },			/* | */
45675406Sache  { ISFUNC, rl_insert },			/* } */
45775406Sache  { ISFUNC, rl_insert },			/* ~ */
45875406Sache  { ISFUNC, rl_rubout },			/* RUBOUT */
45921308Sache
46021308Sache#if KEYMAP_SIZE > 128
46121308Sache  /* Pure 8-bit characters (128 - 159).
46221308Sache     These might be used in some
46321308Sache     character sets. */
46421308Sache  { ISFUNC, rl_insert },	/* ? */
46521308Sache  { ISFUNC, rl_insert },	/* ? */
46621308Sache  { ISFUNC, rl_insert },	/* ? */
46721308Sache  { ISFUNC, rl_insert },	/* ? */
46821308Sache  { ISFUNC, rl_insert },	/* ? */
46921308Sache  { ISFUNC, rl_insert },	/* ? */
47021308Sache  { ISFUNC, rl_insert },	/* ? */
47121308Sache  { ISFUNC, rl_insert },	/* ? */
47221308Sache  { ISFUNC, rl_insert },	/* ? */
47321308Sache  { ISFUNC, rl_insert },	/* ? */
47421308Sache  { ISFUNC, rl_insert },	/* ? */
47521308Sache  { ISFUNC, rl_insert },	/* ? */
47621308Sache  { ISFUNC, rl_insert },	/* ? */
47721308Sache  { ISFUNC, rl_insert },	/* ? */
47821308Sache  { ISFUNC, rl_insert },	/* ? */
47921308Sache  { ISFUNC, rl_insert },	/* ? */
48021308Sache  { ISFUNC, rl_insert },	/* ? */
48121308Sache  { ISFUNC, rl_insert },	/* ? */
48221308Sache  { ISFUNC, rl_insert },	/* ? */
48321308Sache  { ISFUNC, rl_insert },	/* ? */
48421308Sache  { ISFUNC, rl_insert },	/* ? */
48521308Sache  { ISFUNC, rl_insert },	/* ? */
48621308Sache  { ISFUNC, rl_insert },	/* ? */
48721308Sache  { ISFUNC, rl_insert },	/* ? */
48821308Sache  { ISFUNC, rl_insert },	/* ? */
48921308Sache  { ISFUNC, rl_insert },	/* ? */
49021308Sache  { ISFUNC, rl_insert },	/* ? */
49121308Sache  { ISFUNC, rl_insert },	/* ? */
49221308Sache  { ISFUNC, rl_insert },	/* ? */
49321308Sache  { ISFUNC, rl_insert },	/* ? */
49421308Sache  { ISFUNC, rl_insert },	/* ? */
49521308Sache  { ISFUNC, rl_insert },	/* ? */
49621308Sache
49721308Sache  /* ISO Latin-1 characters (160 - 255) */
49821308Sache  { ISFUNC, rl_insert },	/* No-break space */
49921308Sache  { ISFUNC, rl_insert },	/* Inverted exclamation mark */
50021308Sache  { ISFUNC, rl_insert },	/* Cent sign */
50121308Sache  { ISFUNC, rl_insert },	/* Pound sign */
50221308Sache  { ISFUNC, rl_insert },	/* Currency sign */
50321308Sache  { ISFUNC, rl_insert },	/* Yen sign */
50421308Sache  { ISFUNC, rl_insert },	/* Broken bar */
50521308Sache  { ISFUNC, rl_insert },	/* Section sign */
50621308Sache  { ISFUNC, rl_insert },	/* Diaeresis */
50721308Sache  { ISFUNC, rl_insert },	/* Copyright sign */
50821308Sache  { ISFUNC, rl_insert },	/* Feminine ordinal indicator */
50921308Sache  { ISFUNC, rl_insert },	/* Left pointing double angle quotation mark */
51021308Sache  { ISFUNC, rl_insert },	/* Not sign */
51121308Sache  { ISFUNC, rl_insert },	/* Soft hyphen */
51221308Sache  { ISFUNC, rl_insert },	/* Registered sign */
51321308Sache  { ISFUNC, rl_insert },	/* Macron */
51421308Sache  { ISFUNC, rl_insert },	/* Degree sign */
51521308Sache  { ISFUNC, rl_insert },	/* Plus-minus sign */
51621308Sache  { ISFUNC, rl_insert },	/* Superscript two */
51721308Sache  { ISFUNC, rl_insert },	/* Superscript three */
51821308Sache  { ISFUNC, rl_insert },	/* Acute accent */
51921308Sache  { ISFUNC, rl_insert },	/* Micro sign */
52021308Sache  { ISFUNC, rl_insert },	/* Pilcrow sign */
52121308Sache  { ISFUNC, rl_insert },	/* Middle dot */
52221308Sache  { ISFUNC, rl_insert },	/* Cedilla */
52321308Sache  { ISFUNC, rl_insert },	/* Superscript one */
52421308Sache  { ISFUNC, rl_insert },	/* Masculine ordinal indicator */
52521308Sache  { ISFUNC, rl_insert },	/* Right pointing double angle quotation mark */
52621308Sache  { ISFUNC, rl_insert },	/* Vulgar fraction one quarter */
52721308Sache  { ISFUNC, rl_insert },	/* Vulgar fraction one half */
52821308Sache  { ISFUNC, rl_insert },	/* Vulgar fraction three quarters */
52921308Sache  { ISFUNC, rl_insert },	/* Inverted questionk mark */
53021308Sache  { ISFUNC, rl_insert },	/* Latin capital letter a with grave */
53121308Sache  { ISFUNC, rl_insert },	/* Latin capital letter a with acute */
53221308Sache  { ISFUNC, rl_insert },	/* Latin capital letter a with circumflex */
53321308Sache  { ISFUNC, rl_insert },	/* Latin capital letter a with tilde */
53421308Sache  { ISFUNC, rl_insert },	/* Latin capital letter a with diaeresis */
53521308Sache  { ISFUNC, rl_insert },	/* Latin capital letter a with ring above */
53621308Sache  { ISFUNC, rl_insert },	/* Latin capital letter ae */
53721308Sache  { ISFUNC, rl_insert },	/* Latin capital letter c with cedilla */
53821308Sache  { ISFUNC, rl_insert },	/* Latin capital letter e with grave */
53921308Sache  { ISFUNC, rl_insert },	/* Latin capital letter e with acute */
54021308Sache  { ISFUNC, rl_insert },	/* Latin capital letter e with circumflex */
54121308Sache  { ISFUNC, rl_insert },	/* Latin capital letter e with diaeresis */
54221308Sache  { ISFUNC, rl_insert },	/* Latin capital letter i with grave */
54321308Sache  { ISFUNC, rl_insert },	/* Latin capital letter i with acute */
54421308Sache  { ISFUNC, rl_insert },	/* Latin capital letter i with circumflex */
54521308Sache  { ISFUNC, rl_insert },	/* Latin capital letter i with diaeresis */
54621308Sache  { ISFUNC, rl_insert },	/* Latin capital letter eth (Icelandic) */
54721308Sache  { ISFUNC, rl_insert },	/* Latin capital letter n with tilde */
54821308Sache  { ISFUNC, rl_insert },	/* Latin capital letter o with grave */
54921308Sache  { ISFUNC, rl_insert },	/* Latin capital letter o with acute */
55021308Sache  { ISFUNC, rl_insert },	/* Latin capital letter o with circumflex */
55121308Sache  { ISFUNC, rl_insert },	/* Latin capital letter o with tilde */
55221308Sache  { ISFUNC, rl_insert },	/* Latin capital letter o with diaeresis */
55321308Sache  { ISFUNC, rl_insert },	/* Multiplication sign */
55421308Sache  { ISFUNC, rl_insert },	/* Latin capital letter o with stroke */
55521308Sache  { ISFUNC, rl_insert },	/* Latin capital letter u with grave */
55621308Sache  { ISFUNC, rl_insert },	/* Latin capital letter u with acute */
55721308Sache  { ISFUNC, rl_insert },	/* Latin capital letter u with circumflex */
55821308Sache  { ISFUNC, rl_insert },	/* Latin capital letter u with diaeresis */
55921308Sache  { ISFUNC, rl_insert },	/* Latin capital letter Y with acute */
56021308Sache  { ISFUNC, rl_insert },	/* Latin capital letter thorn (Icelandic) */
56121308Sache  { ISFUNC, rl_insert },	/* Latin small letter sharp s (German) */
56221308Sache  { ISFUNC, rl_insert },	/* Latin small letter a with grave */
56321308Sache  { ISFUNC, rl_insert },	/* Latin small letter a with acute */
56421308Sache  { ISFUNC, rl_insert },	/* Latin small letter a with circumflex */
56521308Sache  { ISFUNC, rl_insert },	/* Latin small letter a with tilde */
56621308Sache  { ISFUNC, rl_insert },	/* Latin small letter a with diaeresis */
56721308Sache  { ISFUNC, rl_insert },	/* Latin small letter a with ring above */
56821308Sache  { ISFUNC, rl_insert },	/* Latin small letter ae */
56921308Sache  { ISFUNC, rl_insert },	/* Latin small letter c with cedilla */
57021308Sache  { ISFUNC, rl_insert },	/* Latin small letter e with grave */
57121308Sache  { ISFUNC, rl_insert },	/* Latin small letter e with acute */
57221308Sache  { ISFUNC, rl_insert },	/* Latin small letter e with circumflex */
57321308Sache  { ISFUNC, rl_insert },	/* Latin small letter e with diaeresis */
57421308Sache  { ISFUNC, rl_insert },	/* Latin small letter i with grave */
57521308Sache  { ISFUNC, rl_insert },	/* Latin small letter i with acute */
57621308Sache  { ISFUNC, rl_insert },	/* Latin small letter i with circumflex */
57721308Sache  { ISFUNC, rl_insert },	/* Latin small letter i with diaeresis */
57821308Sache  { ISFUNC, rl_insert },	/* Latin small letter eth (Icelandic) */
57921308Sache  { ISFUNC, rl_insert },	/* Latin small letter n with tilde */
58021308Sache  { ISFUNC, rl_insert },	/* Latin small letter o with grave */
58121308Sache  { ISFUNC, rl_insert },	/* Latin small letter o with acute */
58221308Sache  { ISFUNC, rl_insert },	/* Latin small letter o with circumflex */
58321308Sache  { ISFUNC, rl_insert },	/* Latin small letter o with tilde */
58421308Sache  { ISFUNC, rl_insert },	/* Latin small letter o with diaeresis */
58521308Sache  { ISFUNC, rl_insert },	/* Division sign */
58621308Sache  { ISFUNC, rl_insert },	/* Latin small letter o with stroke */
58721308Sache  { ISFUNC, rl_insert },	/* Latin small letter u with grave */
58821308Sache  { ISFUNC, rl_insert },	/* Latin small letter u with acute */
58921308Sache  { ISFUNC, rl_insert },	/* Latin small letter u with circumflex */
59021308Sache  { ISFUNC, rl_insert },	/* Latin small letter u with diaeresis */
59121308Sache  { ISFUNC, rl_insert },	/* Latin small letter y with acute */
59221308Sache  { ISFUNC, rl_insert },	/* Latin small letter thorn (Icelandic) */
59321308Sache  { ISFUNC, rl_insert }		/* Latin small letter y with diaeresis */
59421308Sache#endif /* KEYMAP_SIZE > 128 */
59521308Sache};
59621308Sache
59721308Sache/* Unused for the time being. */
59821308Sache#if 0
59921308SacheKEYMAP_ENTRY_ARRAY vi_escape_keymap = {
60021308Sache  /* The regular control keys come first. */
60175406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-@ */
60275406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-a */
60375406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-b */
60475406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-c */
60575406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-d */
60675406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-e */
60775406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-f */
60875406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-g */
60975406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-h */
61075406Sache  { ISFUNC, rl_tab_insert},			/* Control-i */
61175406Sache  { ISFUNC, rl_emacs_editing_mode},		/* Control-j */
61275406Sache  { ISFUNC, rl_kill_line },			/* Control-k */
61375406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-l */
61475406Sache  { ISFUNC, rl_emacs_editing_mode},		/* Control-m */
61575406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-n */
61675406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-o */
61775406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-p */
61875406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-q */
61975406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-r */
62075406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-s */
62175406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-t */
62275406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-u */
62375406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-v */
62475406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-w */
62575406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-x */
62675406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-y */
62775406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-z */
62821308Sache
62975406Sache  { ISFUNC, rl_vi_movement_mode },		/* Control-[ */
63075406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-\ */
63175406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-] */
63275406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-^ */
63375406Sache  { ISFUNC, rl_vi_undo },			/* Control-_ */
63421308Sache
63521308Sache  /* The start of printing characters. */
63675406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* SPACE */
63775406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* ! */
63875406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* " */
63975406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* # */
64075406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* $ */
64175406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* % */
64275406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* & */
64375406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* ' */
64475406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* ( */
64575406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* ) */
64675406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* * */
64775406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* + */
64875406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* , */
64975406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* - */
65075406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* . */
65175406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* / */
65221308Sache
65321308Sache  /* Regular digits. */
65475406Sache  { ISFUNC, rl_vi_arg_digit },			/* 0 */
65575406Sache  { ISFUNC, rl_vi_arg_digit },			/* 1 */
65675406Sache  { ISFUNC, rl_vi_arg_digit },			/* 2 */
65775406Sache  { ISFUNC, rl_vi_arg_digit },			/* 3 */
65875406Sache  { ISFUNC, rl_vi_arg_digit },			/* 4 */
65975406Sache  { ISFUNC, rl_vi_arg_digit },			/* 5 */
66075406Sache  { ISFUNC, rl_vi_arg_digit },			/* 6 */
66175406Sache  { ISFUNC, rl_vi_arg_digit },			/* 7 */
66275406Sache  { ISFUNC, rl_vi_arg_digit },			/* 8 */
66375406Sache  { ISFUNC, rl_vi_arg_digit },			/* 9 */
66421308Sache
66521308Sache  /* A little more punctuation. */
66675406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* : */
66775406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* ; */
66875406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* < */
66975406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* = */
67075406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* > */
67175406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* ? */
67275406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* @ */
67321308Sache
67421308Sache  /* Uppercase alphabet. */
67575406Sache  { ISFUNC, rl_do_lowercase_version },		/* A */
67675406Sache  { ISFUNC, rl_do_lowercase_version },		/* B */
67775406Sache  { ISFUNC, rl_do_lowercase_version },		/* C */
67875406Sache  { ISFUNC, rl_do_lowercase_version },		/* D */
67975406Sache  { ISFUNC, rl_do_lowercase_version },		/* E */
68075406Sache  { ISFUNC, rl_do_lowercase_version },		/* F */
68175406Sache  { ISFUNC, rl_do_lowercase_version },		/* G */
68275406Sache  { ISFUNC, rl_do_lowercase_version },		/* H */
68375406Sache  { ISFUNC, rl_do_lowercase_version },		/* I */
68475406Sache  { ISFUNC, rl_do_lowercase_version },		/* J */
68575406Sache  { ISFUNC, rl_do_lowercase_version },		/* K */
68675406Sache  { ISFUNC, rl_do_lowercase_version },		/* L */
68775406Sache  { ISFUNC, rl_do_lowercase_version },		/* M */
68875406Sache  { ISFUNC, rl_do_lowercase_version },		/* N */
68975406Sache  { ISFUNC, rl_do_lowercase_version },		/* O */
69075406Sache  { ISFUNC, rl_do_lowercase_version },		/* P */
69175406Sache  { ISFUNC, rl_do_lowercase_version },		/* Q */
69275406Sache  { ISFUNC, rl_do_lowercase_version },		/* R */
69375406Sache  { ISFUNC, rl_do_lowercase_version },		/* S */
69475406Sache  { ISFUNC, rl_do_lowercase_version },		/* T */
69575406Sache  { ISFUNC, rl_do_lowercase_version },		/* U */
69675406Sache  { ISFUNC, rl_do_lowercase_version },		/* V */
69775406Sache  { ISFUNC, rl_do_lowercase_version },		/* W */
69875406Sache  { ISFUNC, rl_do_lowercase_version },		/* X */
69975406Sache  { ISFUNC, rl_do_lowercase_version },		/* Y */
70075406Sache  { ISFUNC, rl_do_lowercase_version },		/* Z */
70121308Sache
70221308Sache  /* Some more punctuation. */
70375406Sache  { ISFUNC, rl_arrow_keys },			/* [ */
70475406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* \ */
70575406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* ] */
70675406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* ^ */
70775406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* _ */
70875406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* ` */
70921308Sache
71021308Sache  /* Lowercase alphabet. */
71175406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* a */
71275406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* b */
71375406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* c */
71475406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* d */
71575406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* e */
71675406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* f */
71775406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* g */
71875406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* h */
71975406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* i */
72075406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* j */
72175406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* k */
72275406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* l */
72375406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* m */
72475406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* n */
72575406Sache  { ISFUNC, rl_arrow_keys },			/* o */
72675406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* p */
72775406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* q */
72875406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* r */
72975406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* s */
73075406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* t */
73175406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* u */
73275406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* v */
73375406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* w */
73475406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* x */
73575406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* y */
73675406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* z */
73721308Sache
73821308Sache  /* Final punctuation. */
73975406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* { */
74075406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* | */
74175406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* } */
74275406Sache  { ISFUNC, (rl_command_func_t *)0x0 },		/* ~ */
74375406Sache  { ISFUNC, rl_backward_kill_word },		/* RUBOUT */
74421308Sache
74521308Sache#if KEYMAP_SIZE > 128
74621308Sache  /* Undefined keys. */
74775406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
74875406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
74975406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
75075406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
75175406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
75275406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
75375406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
75475406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
75575406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
75675406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
75775406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
75875406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
75975406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
76075406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
76175406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
76275406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
76375406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
76475406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
76575406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
76675406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
76775406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
76875406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
76975406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
77075406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
77175406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
77275406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
77375406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
77475406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
77575406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
77675406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
77775406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
77875406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
77975406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
78075406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
78175406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
78275406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
78375406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
78475406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
78575406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
78675406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
78775406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
78875406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
78975406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
79075406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
79175406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
79275406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
79375406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
79475406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
79575406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
79675406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
79775406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
79875406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
79975406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
80075406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
80175406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
80275406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
80375406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
80475406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
80575406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
80675406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
80775406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
80875406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
80975406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
81075406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
81175406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
81275406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
81375406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
81475406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
81575406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
81675406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
81775406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
81875406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
81975406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
82075406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
82175406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
82275406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
82375406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
82475406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
82575406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
82675406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
82775406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
82875406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
82975406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
83075406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
83175406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
83275406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
83375406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
83475406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
83575406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
83675406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
83775406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
83875406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
83975406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
84075406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
84175406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
84275406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
84375406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
84475406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
84575406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
84675406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
84775406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
84875406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
84975406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
85075406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
85175406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
85275406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
85375406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
85475406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
85575406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
85675406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
85775406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
85875406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
85975406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
86075406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
86175406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
86275406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
86375406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
86475406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
86575406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
86675406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
86775406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
86875406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
86975406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
87075406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
87175406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
87275406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
87375406Sache  { ISFUNC, (rl_command_func_t *)0x0 },
87475406Sache  { ISFUNC, (rl_command_func_t *)0x0 }
87521308Sache#endif /* KEYMAP_SIZE > 128 */
87621308Sache};
87721308Sache#endif
878