emacs_keymap.c revision 303975
1169691Skan/* emacs_keymap.c -- the keymap for emacs_mode in readline (). */
2169691Skan
3169691Skan/* Copyright (C) 1987, 1989, 1992 Free Software Foundation, Inc.
497403Sobrien
5132720Skan   This file is part of the GNU Readline Library, a library for
6132720Skan   reading lines of text with interactive input and history editing.
7132720Skan
8132720Skan   The GNU Readline Library is free software; you can redistribute it
9132720Skan   and/or modify it under the terms of the GNU General Public License
10132720Skan   as published by the Free Software Foundation; either version 2, or
11132720Skan   (at your option) any later version.
12132720Skan
13132720Skan   The GNU Readline Library is distributed in the hope that it will be
14132720Skan   useful, but WITHOUT ANY WARRANTY; without even the implied warranty
15132720Skan   of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16132720Skan   GNU General Public License for more details.
17132720Skan
18169691Skan   The GNU General Public License is often shipped with GNU software, and
19132720Skan   is generally kept in a file called COPYING or LICENSE.  If you do not
20132720Skan   have a copy of the license, write to the Free Software Foundation,
21132720Skan   59 Temple Place, Suite 330, Boston, MA 02111 USA. */
22132720Skan
23132720Skan#if !defined (BUFSIZ)
24132720Skan#include <stdio.h>
25132720Skan#endif /* !BUFSIZ */
26132720Skan
27132720Skan#include "readline.h"
28132720Skan
29132720Skan/* An array of function pointers, one for each possible key.
3097403Sobrien   If the type byte is ISKMAP, then the pointer is the address of
3197403Sobrien   a keymap. */
3297403Sobrien
3397403SobrienKEYMAP_ENTRY_ARRAY emacs_standard_keymap = {
3497403Sobrien
3597403Sobrien  /* Control keys. */
3697403Sobrien  { ISFUNC, rl_set_mark },			/* Control-@ */
3797403Sobrien  { ISFUNC, rl_beg_of_line },			/* Control-a */
3897403Sobrien  { ISFUNC, rl_backward_char },			/* Control-b */
3997403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-c */
4097403Sobrien  { ISFUNC, rl_delete },			/* Control-d */
4197403Sobrien  { ISFUNC, rl_end_of_line },			/* Control-e */
42169691Skan  { ISFUNC, rl_forward_char },			/* Control-f */
43169691Skan  { ISFUNC, rl_abort },				/* Control-g */
44132720Skan  { ISFUNC, rl_rubout },			/* Control-h */
45132720Skan  { ISFUNC, rl_complete },			/* Control-i */
4697403Sobrien  { ISFUNC, rl_newline },			/* Control-j */
4797403Sobrien  { ISFUNC, rl_kill_line },			/* Control-k */
48132720Skan  { ISFUNC, rl_clear_screen },			/* Control-l */
4997403Sobrien  { ISFUNC, rl_newline },			/* Control-m */
5097403Sobrien  { ISFUNC, rl_get_next_history },		/* Control-n */
5197403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-o */
5297403Sobrien  { ISFUNC, rl_get_previous_history },		/* Control-p */
53169691Skan  { ISFUNC, rl_quoted_insert },			/* Control-q */
5497403Sobrien  { ISFUNC, rl_reverse_search_history },	/* Control-r */
5597403Sobrien  { ISFUNC, rl_forward_search_history },	/* Control-s */
5697403Sobrien  { ISFUNC, rl_transpose_chars },		/* Control-t */
5797403Sobrien  { ISFUNC, rl_unix_line_discard },		/* Control-u */
5897403Sobrien  { ISFUNC, rl_quoted_insert },			/* Control-v */
5997403Sobrien  { ISFUNC, rl_unix_word_rubout },		/* Control-w */
6097403Sobrien  { ISKMAP, (rl_command_func_t *)emacs_ctlx_keymap },	/* Control-x */
6197403Sobrien  { ISFUNC, rl_yank },				/* Control-y */
6297403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-z */
6397403Sobrien  { ISKMAP, (rl_command_func_t *)emacs_meta_keymap }, /* Control-[ */
6497403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-\ */
6597403Sobrien  { ISFUNC, rl_char_search },			/* Control-] */
66132720Skan  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-^ */
67132720Skan  { ISFUNC, rl_undo_command },			/* Control-_ */
68132720Skan
69132720Skan  /* The start of printing characters. */
70132720Skan  { ISFUNC, rl_insert },		/* SPACE */
71132720Skan  { ISFUNC, rl_insert },		/* ! */
7297403Sobrien  { ISFUNC, rl_insert },		/* " */
7397403Sobrien  { ISFUNC, rl_insert },		/* # */
74132720Skan  { ISFUNC, rl_insert },		/* $ */
7597403Sobrien  { ISFUNC, rl_insert },		/* % */
7697403Sobrien  { ISFUNC, rl_insert },		/* & */
7797403Sobrien  { ISFUNC, rl_insert },		/* ' */
7897403Sobrien  { ISFUNC, rl_insert },		/* ( */
7997403Sobrien  { ISFUNC, rl_insert },		/* ) */
8097403Sobrien  { ISFUNC, rl_insert },		/* * */
8197403Sobrien  { ISFUNC, rl_insert },		/* + */
82132720Skan  { ISFUNC, rl_insert },		/* , */
8397403Sobrien  { ISFUNC, rl_insert },		/* - */
8497403Sobrien  { ISFUNC, rl_insert },		/* . */
8597403Sobrien  { ISFUNC, rl_insert },		/* / */
8697403Sobrien
8797403Sobrien	  /* Regular digits. */
8897403Sobrien  { ISFUNC, rl_insert },		/* 0 */
8997403Sobrien  { ISFUNC, rl_insert },		/* 1 */
90132720Skan  { ISFUNC, rl_insert },		/* 2 */
9197403Sobrien  { ISFUNC, rl_insert },		/* 3 */
9297403Sobrien  { ISFUNC, rl_insert },		/* 4 */
9397403Sobrien  { ISFUNC, rl_insert },		/* 5 */
9497403Sobrien  { ISFUNC, rl_insert },		/* 6 */
9597403Sobrien  { ISFUNC, rl_insert },		/* 7 */
9697403Sobrien  { ISFUNC, rl_insert },		/* 8 */
9797403Sobrien  { ISFUNC, rl_insert },		/* 9 */
98132720Skan
9997403Sobrien  /* A little more punctuation. */
10097403Sobrien  { ISFUNC, rl_insert },		/* : */
10197403Sobrien  { ISFUNC, rl_insert },		/* ; */
10297403Sobrien  { ISFUNC, rl_insert },		/* < */
10397403Sobrien  { ISFUNC, rl_insert },		/* = */
10497403Sobrien  { ISFUNC, rl_insert },		/* > */
10597403Sobrien  { ISFUNC, rl_insert },		/* ? */
10697403Sobrien  { ISFUNC, rl_insert },		/* @ */
10797403Sobrien
10897403Sobrien  /* Uppercase alphabet. */
10997403Sobrien  { ISFUNC, rl_insert },		/* A */
11097403Sobrien  { ISFUNC, rl_insert },		/* B */
11197403Sobrien  { ISFUNC, rl_insert },		/* C */
11297403Sobrien  { ISFUNC, rl_insert },		/* D */
11397403Sobrien  { ISFUNC, rl_insert },		/* E */
11497403Sobrien  { ISFUNC, rl_insert },		/* F */
11597403Sobrien  { ISFUNC, rl_insert },		/* G */
11697403Sobrien  { ISFUNC, rl_insert },		/* H */
11797403Sobrien  { ISFUNC, rl_insert },		/* I */
11897403Sobrien  { ISFUNC, rl_insert },		/* J */
11997403Sobrien  { ISFUNC, rl_insert },		/* K */
12097403Sobrien  { ISFUNC, rl_insert },		/* L */
12197403Sobrien  { ISFUNC, rl_insert },		/* M */
12297403Sobrien  { ISFUNC, rl_insert },		/* N */
123132720Skan  { ISFUNC, rl_insert },		/* O */
12497403Sobrien  { ISFUNC, rl_insert },		/* P */
12597403Sobrien  { ISFUNC, rl_insert },		/* Q */
12697403Sobrien  { ISFUNC, rl_insert },		/* R */
12797403Sobrien  { ISFUNC, rl_insert },		/* S */
12897403Sobrien  { ISFUNC, rl_insert },		/* T */
12997403Sobrien  { ISFUNC, rl_insert },		/* U */
13097403Sobrien  { ISFUNC, rl_insert },		/* V */
13197403Sobrien  { ISFUNC, rl_insert },		/* W */
13297403Sobrien  { ISFUNC, rl_insert },		/* X */
13397403Sobrien  { ISFUNC, rl_insert },		/* Y */
13497403Sobrien  { ISFUNC, rl_insert },		/* Z */
13597403Sobrien
13697403Sobrien  /* Some more punctuation. */
13797403Sobrien  { ISFUNC, rl_insert },		/* [ */
13897403Sobrien  { ISFUNC, rl_insert },		/* \ */
139132720Skan  { ISFUNC, rl_insert },		/* ] */
14097403Sobrien  { ISFUNC, rl_insert },		/* ^ */
14197403Sobrien  { ISFUNC, rl_insert },		/* _ */
14297403Sobrien  { ISFUNC, rl_insert },		/* ` */
14397403Sobrien
14497403Sobrien  /* Lowercase alphabet. */
14597403Sobrien  { ISFUNC, rl_insert },		/* a */
14697403Sobrien  { ISFUNC, rl_insert },		/* b */
14797403Sobrien  { ISFUNC, rl_insert },		/* c */
14897403Sobrien  { ISFUNC, rl_insert },		/* d */
14997403Sobrien  { ISFUNC, rl_insert },		/* e */
150132720Skan  { ISFUNC, rl_insert },		/* f */
15197403Sobrien  { ISFUNC, rl_insert },		/* g */
15297403Sobrien  { ISFUNC, rl_insert },		/* h */
15397403Sobrien  { ISFUNC, rl_insert },		/* i */
15497403Sobrien  { ISFUNC, rl_insert },		/* j */
15597403Sobrien  { ISFUNC, rl_insert },		/* k */
15697403Sobrien  { ISFUNC, rl_insert },		/* l */
15797403Sobrien  { ISFUNC, rl_insert },		/* m */
15897403Sobrien  { ISFUNC, rl_insert },		/* n */
15997403Sobrien  { ISFUNC, rl_insert },		/* o */
16097403Sobrien  { ISFUNC, rl_insert },		/* p */
16197403Sobrien  { ISFUNC, rl_insert },		/* q */
16297403Sobrien  { ISFUNC, rl_insert },		/* r */
16397403Sobrien  { ISFUNC, rl_insert },		/* s */
16497403Sobrien  { ISFUNC, rl_insert },		/* t */
16597403Sobrien  { ISFUNC, rl_insert },		/* u */
16697403Sobrien  { ISFUNC, rl_insert },		/* v */
16797403Sobrien  { ISFUNC, rl_insert },		/* w */
16897403Sobrien  { ISFUNC, rl_insert },		/* x */
16997403Sobrien  { ISFUNC, rl_insert },		/* y */
17097403Sobrien  { ISFUNC, rl_insert },		/* z */
17197403Sobrien
17297403Sobrien  /* Final punctuation. */
17397403Sobrien  { ISFUNC, rl_insert },		/* { */
17497403Sobrien  { ISFUNC, rl_insert },		/* | */
17597403Sobrien  { ISFUNC, rl_insert },		/* } */
17697403Sobrien  { ISFUNC, rl_insert },		/* ~ */
17797403Sobrien  { ISFUNC, rl_rubout },		/* RUBOUT */
17897403Sobrien
17997403Sobrien#if KEYMAP_SIZE > 128
18097403Sobrien  /* Pure 8-bit characters (128 - 159).
18197403Sobrien     These might be used in some
18297403Sobrien     character sets. */
18397403Sobrien  { ISFUNC, rl_insert },		/* ? */
18497403Sobrien  { ISFUNC, rl_insert },		/* ? */
185117397Skan  { ISFUNC, rl_insert },		/* ? */
186117397Skan  { ISFUNC, rl_insert },		/* ? */
18797403Sobrien  { ISFUNC, rl_insert },		/* ? */
18897403Sobrien  { ISFUNC, rl_insert },		/* ? */
18997403Sobrien  { ISFUNC, rl_insert },		/* ? */
19097403Sobrien  { ISFUNC, rl_insert },		/* ? */
19197403Sobrien  { ISFUNC, rl_insert },		/* ? */
19297403Sobrien  { ISFUNC, rl_insert },		/* ? */
19397403Sobrien  { ISFUNC, rl_insert },		/* ? */
19497403Sobrien  { ISFUNC, rl_insert },		/* ? */
19597403Sobrien  { ISFUNC, rl_insert },		/* ? */
19697403Sobrien  { ISFUNC, rl_insert },		/* ? */
19797403Sobrien  { ISFUNC, rl_insert },		/* ? */
198132720Skan  { ISFUNC, rl_insert },		/* ? */
19997403Sobrien  { ISFUNC, rl_insert },		/* ? */
20097403Sobrien  { ISFUNC, rl_insert },		/* ? */
20197403Sobrien  { ISFUNC, rl_insert },		/* ? */
20297403Sobrien  { ISFUNC, rl_insert },		/* ? */
20397403Sobrien  { ISFUNC, rl_insert },		/* ? */
20497403Sobrien  { ISFUNC, rl_insert },		/* ? */
20597403Sobrien  { ISFUNC, rl_insert },		/* ? */
20697403Sobrien  { ISFUNC, rl_insert },		/* ? */
20797403Sobrien  { ISFUNC, rl_insert },		/* ? */
20897403Sobrien  { ISFUNC, rl_insert },		/* ? */
209132720Skan  { ISFUNC, rl_insert },		/* ? */
21097403Sobrien  { ISFUNC, rl_insert },		/* ? */
21197403Sobrien  { ISFUNC, rl_insert },		/* ? */
21297403Sobrien  { ISFUNC, rl_insert },		/* ? */
21397403Sobrien  { ISFUNC, rl_insert },		/* ? */
214132720Skan  { ISFUNC, rl_insert },		/* ? */
21597403Sobrien
21697403Sobrien  /* ISO Latin-1 characters (160 - 255) */
21797403Sobrien  { ISFUNC, rl_insert },	/* No-break space */
21897403Sobrien  { ISFUNC, rl_insert },	/* Inverted exclamation mark */
21997403Sobrien  { ISFUNC, rl_insert },	/* Cent sign */
22097403Sobrien  { ISFUNC, rl_insert },	/* Pound sign */
22197403Sobrien  { ISFUNC, rl_insert },	/* Currency sign */
22297403Sobrien  { ISFUNC, rl_insert },	/* Yen sign */
22397403Sobrien  { ISFUNC, rl_insert },	/* Broken bar */
22497403Sobrien  { ISFUNC, rl_insert },	/* Section sign */
22597403Sobrien  { ISFUNC, rl_insert },	/* Diaeresis */
22697403Sobrien  { ISFUNC, rl_insert },	/* Copyright sign */
22797403Sobrien  { ISFUNC, rl_insert },	/* Feminine ordinal indicator */
22897403Sobrien  { ISFUNC, rl_insert },	/* Left pointing double angle quotation mark */
22997403Sobrien  { ISFUNC, rl_insert },	/* Not sign */
23097403Sobrien  { ISFUNC, rl_insert },	/* Soft hyphen */
23197403Sobrien  { ISFUNC, rl_insert },	/* Registered sign */
23297403Sobrien  { ISFUNC, rl_insert },	/* Macron */
23397403Sobrien  { ISFUNC, rl_insert },	/* Degree sign */
23497403Sobrien  { ISFUNC, rl_insert },	/* Plus-minus sign */
23597403Sobrien  { ISFUNC, rl_insert },	/* Superscript two */
23697403Sobrien  { ISFUNC, rl_insert },	/* Superscript three */
23797403Sobrien  { ISFUNC, rl_insert },	/* Acute accent */
23897403Sobrien  { ISFUNC, rl_insert },	/* Micro sign */
23997403Sobrien  { ISFUNC, rl_insert },	/* Pilcrow sign */
24097403Sobrien  { ISFUNC, rl_insert },	/* Middle dot */
24197403Sobrien  { ISFUNC, rl_insert },	/* Cedilla */
24297403Sobrien  { ISFUNC, rl_insert },	/* Superscript one */
24397403Sobrien  { ISFUNC, rl_insert },	/* Masculine ordinal indicator */
24497403Sobrien  { ISFUNC, rl_insert },	/* Right pointing double angle quotation mark */
24597403Sobrien  { ISFUNC, rl_insert },	/* Vulgar fraction one quarter */
24697403Sobrien  { ISFUNC, rl_insert },	/* Vulgar fraction one half */
24797403Sobrien  { ISFUNC, rl_insert },	/* Vulgar fraction three quarters */
24897403Sobrien  { ISFUNC, rl_insert },	/* Inverted questionk mark */
24997403Sobrien  { ISFUNC, rl_insert },	/* Latin capital letter a with grave */
25097403Sobrien  { ISFUNC, rl_insert },	/* Latin capital letter a with acute */
25197403Sobrien  { ISFUNC, rl_insert },	/* Latin capital letter a with circumflex */
25297403Sobrien  { ISFUNC, rl_insert },	/* Latin capital letter a with tilde */
25397403Sobrien  { ISFUNC, rl_insert },	/* Latin capital letter a with diaeresis */
25497403Sobrien  { ISFUNC, rl_insert },	/* Latin capital letter a with ring above */
25597403Sobrien  { ISFUNC, rl_insert },	/* Latin capital letter ae */
25697403Sobrien  { ISFUNC, rl_insert },	/* Latin capital letter c with cedilla */
25797403Sobrien  { ISFUNC, rl_insert },	/* Latin capital letter e with grave */
25897403Sobrien  { ISFUNC, rl_insert },	/* Latin capital letter e with acute */
25997403Sobrien  { ISFUNC, rl_insert },	/* Latin capital letter e with circumflex */
26097403Sobrien  { ISFUNC, rl_insert },	/* Latin capital letter e with diaeresis */
26197403Sobrien  { ISFUNC, rl_insert },	/* Latin capital letter i with grave */
26297403Sobrien  { ISFUNC, rl_insert },	/* Latin capital letter i with acute */
26397403Sobrien  { ISFUNC, rl_insert },	/* Latin capital letter i with circumflex */
26497403Sobrien  { ISFUNC, rl_insert },	/* Latin capital letter i with diaeresis */
26597403Sobrien  { ISFUNC, rl_insert },	/* Latin capital letter eth (Icelandic) */
26697403Sobrien  { ISFUNC, rl_insert },	/* Latin capital letter n with tilde */
26797403Sobrien  { ISFUNC, rl_insert },	/* Latin capital letter o with grave */
26897403Sobrien  { ISFUNC, rl_insert },	/* Latin capital letter o with acute */
26997403Sobrien  { ISFUNC, rl_insert },	/* Latin capital letter o with circumflex */
27097403Sobrien  { ISFUNC, rl_insert },	/* Latin capital letter o with tilde */
27197403Sobrien  { ISFUNC, rl_insert },	/* Latin capital letter o with diaeresis */
27297403Sobrien  { ISFUNC, rl_insert },	/* Multiplication sign */
27397403Sobrien  { ISFUNC, rl_insert },	/* Latin capital letter o with stroke */
27497403Sobrien  { ISFUNC, rl_insert },	/* Latin capital letter u with grave */
275132720Skan  { ISFUNC, rl_insert },	/* Latin capital letter u with acute */
27697403Sobrien  { ISFUNC, rl_insert },	/* Latin capital letter u with circumflex */
27797403Sobrien  { ISFUNC, rl_insert },	/* Latin capital letter u with diaeresis */
27897403Sobrien  { ISFUNC, rl_insert },	/* Latin capital letter Y with acute */
27997403Sobrien  { ISFUNC, rl_insert },	/* Latin capital letter thorn (Icelandic) */
28097403Sobrien  { ISFUNC, rl_insert },	/* Latin small letter sharp s (German) */
28197403Sobrien  { ISFUNC, rl_insert },	/* Latin small letter a with grave */
28297403Sobrien  { ISFUNC, rl_insert },	/* Latin small letter a with acute */
28397403Sobrien  { ISFUNC, rl_insert },	/* Latin small letter a with circumflex */
28497403Sobrien  { ISFUNC, rl_insert },	/* Latin small letter a with tilde */
28597403Sobrien  { ISFUNC, rl_insert },	/* Latin small letter a with diaeresis */
286132720Skan  { ISFUNC, rl_insert },	/* Latin small letter a with ring above */
28797403Sobrien  { ISFUNC, rl_insert },	/* Latin small letter ae */
28897403Sobrien  { ISFUNC, rl_insert },	/* Latin small letter c with cedilla */
28997403Sobrien  { ISFUNC, rl_insert },	/* Latin small letter e with grave */
29097403Sobrien  { ISFUNC, rl_insert },	/* Latin small letter e with acute */
29197403Sobrien  { ISFUNC, rl_insert },	/* Latin small letter e with circumflex */
29297403Sobrien  { ISFUNC, rl_insert },	/* Latin small letter e with diaeresis */
29397403Sobrien  { ISFUNC, rl_insert },	/* Latin small letter i with grave */
29497403Sobrien  { ISFUNC, rl_insert },	/* Latin small letter i with acute */
29597403Sobrien  { ISFUNC, rl_insert },	/* Latin small letter i with circumflex */
29697403Sobrien  { ISFUNC, rl_insert },	/* Latin small letter i with diaeresis */
297132720Skan  { ISFUNC, rl_insert },	/* Latin small letter eth (Icelandic) */
298132720Skan  { ISFUNC, rl_insert },	/* Latin small letter n with tilde */
299132720Skan  { ISFUNC, rl_insert },	/* Latin small letter o with grave */
300132720Skan  { ISFUNC, rl_insert },	/* Latin small letter o with acute */
301132720Skan  { ISFUNC, rl_insert },	/* Latin small letter o with circumflex */
302132720Skan  { ISFUNC, rl_insert },	/* Latin small letter o with tilde */
30397403Sobrien  { ISFUNC, rl_insert },	/* Latin small letter o with diaeresis */
304132720Skan  { ISFUNC, rl_insert },	/* Division sign */
305132720Skan  { ISFUNC, rl_insert },	/* Latin small letter o with stroke */
306132720Skan  { ISFUNC, rl_insert },	/* Latin small letter u with grave */
307132720Skan  { ISFUNC, rl_insert },	/* Latin small letter u with acute */
308132720Skan  { ISFUNC, rl_insert },	/* Latin small letter u with circumflex */
30997403Sobrien  { ISFUNC, rl_insert },	/* Latin small letter u with diaeresis */
310132720Skan  { ISFUNC, rl_insert },	/* Latin small letter y with acute */
311132720Skan  { ISFUNC, rl_insert },	/* Latin small letter thorn (Icelandic) */
31297403Sobrien  { ISFUNC, rl_insert }		/* Latin small letter y with diaeresis */
31397403Sobrien#endif /* KEYMAP_SIZE > 128 */
31497403Sobrien};
31597403Sobrien
31697403SobrienKEYMAP_ENTRY_ARRAY emacs_meta_keymap = {
31797403Sobrien
31897403Sobrien  /* Meta keys.  Just like above, but the high bit is set. */
31997403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-Control-@ */
32097403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-Control-a */
32197403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-Control-b */
32297403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-Control-c */
32397403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-Control-d */
32497403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-Control-e */
32597403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-Control-f */
32697403Sobrien  { ISFUNC, rl_abort },			/* Meta-Control-g */
32797403Sobrien  { ISFUNC, rl_backward_kill_word },	/* Meta-Control-h */
32897403Sobrien  { ISFUNC, rl_tab_insert },		/* Meta-Control-i */
32997403Sobrien  { ISFUNC, rl_vi_editing_mode },	/* Meta-Control-j */
33097403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-Control-k */
33197403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-Control-l */
33297403Sobrien  { ISFUNC, rl_vi_editing_mode }, 	/* Meta-Control-m */
33397403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-Control-n */
33497403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-Control-o */
33597403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-Control-p */
33697403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-Control-q */
33797403Sobrien  { ISFUNC, rl_revert_line },		/* Meta-Control-r */
33897403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-Control-s */
33997403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-Control-t */
34097403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-Control-u */
34197403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-Control-v */
34297403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-Control-w */
34397403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-Control-x */
34497403Sobrien  { ISFUNC, rl_yank_nth_arg },		/* Meta-Control-y */
34597403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-Control-z */
34697403Sobrien
34797403Sobrien  { ISFUNC, rl_complete },		/* Meta-Control-[ */
348132720Skan  { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-Control-\ */
34997403Sobrien  { ISFUNC, rl_backward_char_search },	/* Meta-Control-] */
35097403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-Control-^ */
35197403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-Control-_ */
35297403Sobrien
35397403Sobrien  /* The start of printing characters. */
35497403Sobrien  { ISFUNC, rl_set_mark },		/* Meta-SPACE */
35597403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-! */
35697403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-" */
35797403Sobrien  { ISFUNC, rl_insert_comment },	/* Meta-# */
358132720Skan  { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-$ */
35997403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-% */
36097403Sobrien  { ISFUNC, rl_tilde_expand },		/* Meta-& */
36197403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-' */
36297403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-( */
36397403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-) */
36497403Sobrien  { ISFUNC, rl_insert_completions },	/* Meta-* */
36597403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-+ */
36697403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-, */
36797403Sobrien  { ISFUNC, rl_digit_argument }, 	/* Meta-- */
36897403Sobrien  { ISFUNC, rl_yank_last_arg},		/* Meta-. */
36997403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-/ */
37097403Sobrien
37197403Sobrien  /* Regular digits. */
37297403Sobrien  { ISFUNC, rl_digit_argument }, 	/* Meta-0 */
37397403Sobrien  { ISFUNC, rl_digit_argument }, 	/* Meta-1 */
37497403Sobrien  { ISFUNC, rl_digit_argument }, 	/* Meta-2 */
37597403Sobrien  { ISFUNC, rl_digit_argument }, 	/* Meta-3 */
37697403Sobrien  { ISFUNC, rl_digit_argument }, 	/* Meta-4 */
37797403Sobrien  { ISFUNC, rl_digit_argument }, 	/* Meta-5 */
37897403Sobrien  { ISFUNC, rl_digit_argument }, 	/* Meta-6 */
37997403Sobrien  { ISFUNC, rl_digit_argument }, 	/* Meta-7 */
38097403Sobrien  { ISFUNC, rl_digit_argument }, 	/* Meta-8 */
38197403Sobrien  { ISFUNC, rl_digit_argument }, 	/* Meta-9 */
38297403Sobrien
38397403Sobrien  /* A little more punctuation. */
38497403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-: */
38597403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-; */
38697403Sobrien  { ISFUNC, rl_beginning_of_history },	/* Meta-< */
38797403Sobrien  { ISFUNC, rl_possible_completions },	/* Meta-= */
38897403Sobrien  { ISFUNC, rl_end_of_history },	/* Meta-> */
38997403Sobrien  { ISFUNC, rl_possible_completions },	/* Meta-? */
39097403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-@ */
39197403Sobrien
39297403Sobrien  /* Uppercase alphabet. */
39397403Sobrien  { ISFUNC, rl_do_lowercase_version },	/* Meta-A */
39497403Sobrien  { ISFUNC, rl_do_lowercase_version },	/* Meta-B */
39597403Sobrien  { ISFUNC, rl_do_lowercase_version },	/* Meta-C */
39697403Sobrien  { ISFUNC, rl_do_lowercase_version },	/* Meta-D */
39797403Sobrien  { ISFUNC, rl_do_lowercase_version },	/* Meta-E */
39897403Sobrien  { ISFUNC, rl_do_lowercase_version },	/* Meta-F */
39997403Sobrien  { ISFUNC, rl_do_lowercase_version },	/* Meta-G */
40097403Sobrien  { ISFUNC, rl_do_lowercase_version },	/* Meta-H */
40197403Sobrien  { ISFUNC, rl_do_lowercase_version },	/* Meta-I */
402132720Skan  { ISFUNC, rl_do_lowercase_version },	/* Meta-J */
40397403Sobrien  { ISFUNC, rl_do_lowercase_version },	/* Meta-K */
40497403Sobrien  { ISFUNC, rl_do_lowercase_version },	/* Meta-L */
40597403Sobrien  { ISFUNC, rl_do_lowercase_version },	/* Meta-M */
40697403Sobrien  { ISFUNC, rl_do_lowercase_version },	/* Meta-N */
40797403Sobrien  { ISFUNC, rl_do_lowercase_version },	/* Meta-O */
40897403Sobrien  { ISFUNC, rl_do_lowercase_version },	/* Meta-P */
40997403Sobrien  { ISFUNC, rl_do_lowercase_version },	/* Meta-Q */
41097403Sobrien  { ISFUNC, rl_do_lowercase_version },	/* Meta-R */
41197403Sobrien  { ISFUNC, rl_do_lowercase_version },	/* Meta-S */
41297403Sobrien  { ISFUNC, rl_do_lowercase_version },	/* Meta-T */
41397403Sobrien  { ISFUNC, rl_do_lowercase_version },	/* Meta-U */
41497403Sobrien  { ISFUNC, rl_do_lowercase_version },	/* Meta-V */
41597403Sobrien  { ISFUNC, rl_do_lowercase_version },	/* Meta-W */
41697403Sobrien  { ISFUNC, rl_do_lowercase_version },	/* Meta-X */
41797403Sobrien  { ISFUNC, rl_do_lowercase_version },	/* Meta-Y */
41897403Sobrien  { ISFUNC, rl_do_lowercase_version },	/* Meta-Z */
41997403Sobrien
42097403Sobrien  /* Some more punctuation. */
42197403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* Meta-[ */	/* was rl_arrow_keys */
422132720Skan  { ISFUNC, rl_delete_horizontal_space },	/* Meta-\ */
42397403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* Meta-] */
42497403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* Meta-^ */
42597403Sobrien  { ISFUNC, rl_yank_last_arg },			/* Meta-_ */
42697403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* Meta-` */
42797403Sobrien
42897403Sobrien  /* Lowercase alphabet. */
42997403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-a */
43097403Sobrien  { ISFUNC, rl_backward_word },		/* Meta-b */
43197403Sobrien  { ISFUNC, rl_capitalize_word }, 	/* Meta-c */
43297403Sobrien  { ISFUNC, rl_kill_word },		/* Meta-d */
43397403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-e */
43497403Sobrien  { ISFUNC, rl_forward_word },		/* Meta-f */
43597403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-g */
43697403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-h */
43797403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-i */
43897403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-j */
43997403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-k */
44097403Sobrien  { ISFUNC, rl_downcase_word },		/* Meta-l */
44197403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-m */
44297403Sobrien  { ISFUNC, rl_noninc_forward_search },	/* Meta-n */
44397403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-o */	/* was rl_arrow_keys */
44497403Sobrien  { ISFUNC, rl_noninc_reverse_search },	/* Meta-p */
44597403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-q */
44697403Sobrien  { ISFUNC, rl_revert_line },		/* Meta-r */
447132720Skan  { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-s */
448132720Skan  { ISFUNC, rl_transpose_words }, 	/* Meta-t */
449132720Skan  { ISFUNC, rl_upcase_word },		/* Meta-u */
45097403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-v */
45197403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-w */
45297403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-x */
45397403Sobrien  { ISFUNC, rl_yank_pop },		/* Meta-y */
45497403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-z */
45597403Sobrien
45697403Sobrien  /* Final punctuation. */
45797403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-{ */
45897403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-| */
45997403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-} */
46097403Sobrien  { ISFUNC, rl_tilde_expand },		/* Meta-~ */
46197403Sobrien  { ISFUNC, rl_backward_kill_word },	/* Meta-rubout */
46297403Sobrien
46397403Sobrien#if KEYMAP_SIZE > 128
46497403Sobrien  /* Undefined keys. */
46597403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
46697403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
46797403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
46897403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
46997403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
47097403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
47197403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
47297403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
47397403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
47497403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
47597403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
47697403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
47797403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
47897403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
479132720Skan  { ISFUNC, (rl_command_func_t *)0x0 },
48097403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
48197403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
48297403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
483132720Skan  { ISFUNC, (rl_command_func_t *)0x0 },
484132720Skan  { ISFUNC, (rl_command_func_t *)0x0 },
48597403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
48697403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
48797403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
48897403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
48997403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
49097403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
49197403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
49297403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
49397403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
49497403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
49597403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
49697403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
49797403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
49897403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
49997403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
50097403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
50197403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
50297403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
50397403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
50497403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
50597403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
50697403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
50797403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
50897403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
50997403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
51097403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
51197403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
51297403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
51397403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
51497403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
51597403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
51697403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
51797403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
51897403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
51997403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
52097403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
52197403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
52297403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
52397403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
52497403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
52597403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
52697403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
52797403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
52897403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
52997403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
53097403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
53197403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
53297403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
53397403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
534132720Skan  { ISFUNC, (rl_command_func_t *)0x0 },
535132720Skan  { ISFUNC, (rl_command_func_t *)0x0 },
53697403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
53797403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
53897403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
53997403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
54097403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
54197403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
54297403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
54397403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
54497403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
54597403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
54697403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
54797403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
54897403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
54997403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
55097403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
55197403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
55297403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
55397403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
55497403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
55597403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
55697403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
55797403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
55897403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
55997403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
56097403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
56197403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
56297403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
56397403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
56497403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
56597403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
56697403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
56797403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
56897403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
56997403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
57097403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
57197403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
57297403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
57397403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
57497403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
57597403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
57697403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
57797403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
57897403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
57997403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
58097403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
58197403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
58297403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
58397403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
58497403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
58597403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
58697403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
58797403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
58897403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
58997403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
59097403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
59197403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
59297403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 }
59397403Sobrien#endif /* KEYMAP_SIZE > 128 */
59497403Sobrien};
59597403Sobrien
59697403SobrienKEYMAP_ENTRY_ARRAY emacs_ctlx_keymap = {
597132720Skan
59897403Sobrien  /* Control keys. */
59997403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-@ */
60097403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-a */
60197403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-b */
60297403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-c */
60397403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-d */
60497403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-e */
60597403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-f */
60697403Sobrien  { ISFUNC, rl_abort },				/* Control-g */
60797403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-h */
60897403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-i */
60997403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-j */
61097403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-k */
61197403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-l */
61297403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-m */
61397403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-n */
61497403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-o */
61597403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-p */
61697403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-q */
61797403Sobrien  { ISFUNC, rl_re_read_init_file },		/* Control-r */
61897403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-s */
619132720Skan  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-t */
62097403Sobrien  { ISFUNC, rl_undo_command },			/* Control-u */
62197403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-v */
62297403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-w */
62397403Sobrien  { ISFUNC, rl_exchange_point_and_mark },	/* Control-x */
62497403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-y */
62597403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-z */
62697403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-[ */
62797403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-\ */
62897403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-] */
62997403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-^ */
630132720Skan  { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-_ */
63197403Sobrien
63297403Sobrien  /* The start of printing characters. */
63397403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* SPACE */
63497403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* ! */
63597403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* " */
63697403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* # */
63797403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* $ */
63897403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* % */
63997403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* & */
64097403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* ' */
64197403Sobrien  { ISFUNC, rl_start_kbd_macro },		/* ( */
64297403Sobrien  { ISFUNC, rl_end_kbd_macro  },		/* ) */
64397403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* * */
64497403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* + */
64597403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* , */
64697403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* - */
64797403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* . */
64897403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* / */
64997403Sobrien
65097403Sobrien  /* Regular digits. */
65197403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* 0 */
65297403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* 1 */
65397403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* 2 */
65497403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* 3 */
65597403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* 4 */
65697403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* 5 */
65797403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* 6 */
65897403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* 7 */
65997403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* 8 */
66097403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* 9 */
66197403Sobrien
66297403Sobrien  /* A little more punctuation. */
66397403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* : */
66497403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* ; */
66597403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* < */
66697403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* = */
66797403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* > */
66897403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* ? */
66997403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* @ */
67097403Sobrien
67197403Sobrien  /* Uppercase alphabet. */
67297403Sobrien  { ISFUNC, rl_do_lowercase_version },		/* A */
67397403Sobrien  { ISFUNC, rl_do_lowercase_version },		/* B */
67497403Sobrien  { ISFUNC, rl_do_lowercase_version },		/* C */
67597403Sobrien  { ISFUNC, rl_do_lowercase_version },		/* D */
67697403Sobrien  { ISFUNC, rl_do_lowercase_version },		/* E */
67797403Sobrien  { ISFUNC, rl_do_lowercase_version },		/* F */
67897403Sobrien  { ISFUNC, rl_do_lowercase_version },		/* G */
67997403Sobrien  { ISFUNC, rl_do_lowercase_version },		/* H */
68097403Sobrien  { ISFUNC, rl_do_lowercase_version },		/* I */
68197403Sobrien  { ISFUNC, rl_do_lowercase_version },		/* J */
68297403Sobrien  { ISFUNC, rl_do_lowercase_version },		/* K */
68397403Sobrien  { ISFUNC, rl_do_lowercase_version },		/* L */
68497403Sobrien  { ISFUNC, rl_do_lowercase_version },		/* M */
68597403Sobrien  { ISFUNC, rl_do_lowercase_version },		/* N */
68697403Sobrien  { ISFUNC, rl_do_lowercase_version },		/* O */
68797403Sobrien  { ISFUNC, rl_do_lowercase_version },		/* P */
68897403Sobrien  { ISFUNC, rl_do_lowercase_version },		/* Q */
68997403Sobrien  { ISFUNC, rl_do_lowercase_version },		/* R */
69097403Sobrien  { ISFUNC, rl_do_lowercase_version },		/* S */
69197403Sobrien  { ISFUNC, rl_do_lowercase_version },		/* T */
69297403Sobrien  { ISFUNC, rl_do_lowercase_version },		/* U */
69397403Sobrien  { ISFUNC, rl_do_lowercase_version },		/* V */
69497403Sobrien  { ISFUNC, rl_do_lowercase_version },		/* W */
69597403Sobrien  { ISFUNC, rl_do_lowercase_version },		/* X */
69697403Sobrien  { ISFUNC, rl_do_lowercase_version },		/* Y */
69797403Sobrien  { ISFUNC, rl_do_lowercase_version },		/* Z */
69897403Sobrien
69997403Sobrien  /* Some more punctuation. */
70097403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* [ */
70197403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* \ */
70297403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* ] */
70397403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* ^ */
70497403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* _ */
70597403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* ` */
70697403Sobrien
70797403Sobrien  /* Lowercase alphabet. */
70897403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* a */
70997403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* b */
71097403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* c */
71197403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* d */
71297403Sobrien  { ISFUNC, rl_call_last_kbd_macro },		/* e */
71397403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* f */
71497403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* g */
71597403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* h */
71697403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* i */
71797403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* j */
71897403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* k */
71997403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* l */
72097403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* m */
72197403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* n */
72297403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* o */
72397403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* p */
72497403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* q */
72597403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* r */
72697403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* s */
72797403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* t */
72897403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* u */
72997403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* v */
730132720Skan  { ISFUNC, (rl_command_func_t *)0x0 },		/* w */
731146897Skan  { ISFUNC, (rl_command_func_t *)0x0 },		/* x */
732146897Skan  { ISFUNC, (rl_command_func_t *)0x0 },		/* y */
73397403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* z */
73497403Sobrien
73597403Sobrien  /* Final punctuation. */
73697403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* { */
73797403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* | */
73897403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* } */
73997403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },		/* ~ */
74097403Sobrien  { ISFUNC, rl_backward_kill_line },		/* RUBOUT */
74197403Sobrien
74297403Sobrien#if KEYMAP_SIZE > 128
74397403Sobrien  /* Undefined keys. */
74497403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
74597403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
74697403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
74797403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
74897403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
74997403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
75097403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
75197403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
75297403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
75397403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
75497403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
75597403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
75697403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
75797403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
75897403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
75997403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
76097403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
76197403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
76297403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
76397403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
76497403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
76597403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
76697403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
76797403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
76897403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
76997403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
77097403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
77197403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
77297403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
77397403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
77497403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
77597403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
77697403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
77797403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
77897403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
77997403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
78097403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
78197403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
78297403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
78397403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
78497403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
78597403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
78697403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
78797403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
78897403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
78997403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
79097403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
79197403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
79297403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
79397403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
794132720Skan  { ISFUNC, (rl_command_func_t *)0x0 },
79597403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
79697403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
79797403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
79897403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
79997403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
80097403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
80197403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
80297403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
80397403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
80497403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
80597403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
80697403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
80797403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
80897403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
80997403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
81097403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
81197403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
81297403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
81397403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
81497403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
81597403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
81697403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
81797403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
81897403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
81997403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
82097403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
82197403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
82297403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
82397403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
82497403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
825132720Skan  { ISFUNC, (rl_command_func_t *)0x0 },
82697403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
827132720Skan  { ISFUNC, (rl_command_func_t *)0x0 },
82897403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
82997403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
83097403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
83197403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
83297403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
83397403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
83497403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
83597403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
83697403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
83797403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
83897403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
83997403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
84097403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
84197403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
84297403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
84397403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
844132720Skan  { ISFUNC, (rl_command_func_t *)0x0 },
84597403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
84697403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
84797403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
84897403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
849132720Skan  { ISFUNC, (rl_command_func_t *)0x0 },
85097403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
85197403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
85297403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
85397403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
85497403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
85597403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
85697403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
85797403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
85897403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
85997403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
86097403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
86197403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
86297403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
863132720Skan  { ISFUNC, (rl_command_func_t *)0x0 },
86497403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
86597403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
86697403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
86797403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
86897403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
86997403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
87097403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 },
87197403Sobrien  { ISFUNC, (rl_command_func_t *)0x0 }
87297403Sobrien#endif /* KEYMAP_SIZE > 128 */
87397403Sobrien};
87497403Sobrien