Annotation of embedaddon/readline/vi_keymap.c, revision 1.1.1.1

1.1       misho       1: /* vi_keymap.c -- the keymap for vi_mode in readline (). */
                      2: 
                      3: /* Copyright (C) 1987-2009 Free Software Foundation, Inc.
                      4: 
                      5:    This file is part of the GNU Readline Library (Readline), a library
                      6:    for reading lines of text with interactive input and history editing.      
                      7: 
                      8:    Readline is free software: you can redistribute it and/or modify
                      9:    it under the terms of the GNU General Public License as published by
                     10:    the Free Software Foundation, either version 3 of the License, or
                     11:    (at your option) any later version.
                     12: 
                     13:    Readline is distributed in the hope that it will be useful,
                     14:    but WITHOUT ANY WARRANTY; without even the implied warranty of
                     15:    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
                     16:    GNU General Public License for more details.
                     17: 
                     18:    You should have received a copy of the GNU General Public License
                     19:    along with Readline.  If not, see <http://www.gnu.org/licenses/>.
                     20: */
                     21: 
                     22: #if !defined (BUFSIZ)
                     23: #include <stdio.h>
                     24: #endif /* !BUFSIZ */
                     25: 
                     26: #include "readline.h"
                     27: 
                     28: #if 0
                     29: extern KEYMAP_ENTRY_ARRAY vi_escape_keymap;
                     30: #endif
                     31: 
                     32: /* The keymap arrays for handling vi mode. */
                     33: KEYMAP_ENTRY_ARRAY vi_movement_keymap = {
                     34:   /* The regular control keys come first. */
                     35:   { ISFUNC, (rl_command_func_t *)0x0 },                /* Control-@ */
                     36:   { ISFUNC, (rl_command_func_t *)0x0 },                /* Control-a */
                     37:   { ISFUNC, (rl_command_func_t *)0x0 },                /* Control-b */
                     38:   { ISFUNC, (rl_command_func_t *)0x0 },                /* Control-c */
                     39:   { ISFUNC, rl_vi_eof_maybe },                 /* Control-d */
                     40:   { ISFUNC, rl_emacs_editing_mode },           /* Control-e */
                     41:   { ISFUNC, (rl_command_func_t *)0x0 },                /* Control-f */
                     42:   { ISFUNC, rl_abort },                                /* Control-g */
                     43:   { ISFUNC, rl_backward_char },                        /* Control-h */
                     44:   { ISFUNC, (rl_command_func_t *)0x0 },                /* Control-i */
                     45:   { ISFUNC, rl_newline },                      /* Control-j */
                     46:   { ISFUNC, rl_kill_line },                    /* Control-k */
                     47:   { ISFUNC, rl_clear_screen },                 /* Control-l */
                     48:   { ISFUNC, rl_newline },                      /* Control-m */
                     49:   { ISFUNC, rl_get_next_history },             /* Control-n */
                     50:   { ISFUNC, (rl_command_func_t *)0x0 },                /* Control-o */
                     51:   { ISFUNC, rl_get_previous_history },         /* Control-p */
                     52:   { ISFUNC, rl_quoted_insert },                        /* Control-q */
                     53:   { ISFUNC, rl_reverse_search_history },       /* Control-r */
                     54:   { ISFUNC, rl_forward_search_history },       /* Control-s */
                     55:   { ISFUNC, rl_transpose_chars },              /* Control-t */
                     56:   { ISFUNC, rl_unix_line_discard },            /* Control-u */
                     57:   { ISFUNC, rl_quoted_insert },                        /* Control-v */
                     58:   { ISFUNC, rl_unix_word_rubout },             /* Control-w */
                     59:   { ISFUNC, (rl_command_func_t *)0x0 },                /* Control-x */
                     60:   { ISFUNC, rl_yank },                         /* Control-y */
                     61:   { ISFUNC, (rl_command_func_t *)0x0 },                /* Control-z */
                     62: 
                     63:   { ISFUNC, (rl_command_func_t *)0x0 },                /* Control-[ */ /* vi_escape_keymap */
                     64:   { ISFUNC, (rl_command_func_t *)0x0 },                /* Control-\ */
                     65:   { ISFUNC, (rl_command_func_t *)0x0 },                /* Control-] */
                     66:   { ISFUNC, (rl_command_func_t *)0x0 },                /* Control-^ */
                     67:   { ISFUNC, rl_vi_undo },                      /* Control-_ */
                     68: 
                     69:   /* The start of printing characters. */
                     70:   { ISFUNC, rl_forward_char },                 /* SPACE */
                     71:   { ISFUNC, (rl_command_func_t *)0x0 },                /* ! */
                     72:   { ISFUNC, (rl_command_func_t *)0x0 },                /* " */
                     73:   { ISFUNC, rl_insert_comment },               /* # */
                     74:   { ISFUNC, rl_end_of_line },                  /* $ */
                     75:   { ISFUNC, rl_vi_match },                     /* % */
                     76:   { ISFUNC, rl_vi_tilde_expand },              /* & */
                     77:   { ISFUNC, (rl_command_func_t *)0x0 },                /* ' */
                     78:   { ISFUNC, (rl_command_func_t *)0x0 },                /* ( */
                     79:   { ISFUNC, (rl_command_func_t *)0x0 },                /* ) */
                     80:   { ISFUNC, rl_vi_complete },                  /* * */
                     81:   { ISFUNC, rl_get_next_history},              /* + */
                     82:   { ISFUNC, rl_vi_char_search },               /* , */
                     83:   { ISFUNC, rl_get_previous_history },         /* - */
                     84:   { ISFUNC, rl_vi_redo },                      /* . */
                     85:   { ISFUNC, rl_vi_search },                    /* / */
                     86: 
                     87:   /* Regular digits. */
                     88:   { ISFUNC, rl_beg_of_line },                  /* 0 */
                     89:   { ISFUNC, rl_vi_arg_digit },                 /* 1 */
                     90:   { ISFUNC, rl_vi_arg_digit },                 /* 2 */
                     91:   { ISFUNC, rl_vi_arg_digit },                 /* 3 */
                     92:   { ISFUNC, rl_vi_arg_digit },                 /* 4 */
                     93:   { ISFUNC, rl_vi_arg_digit },                 /* 5 */
                     94:   { ISFUNC, rl_vi_arg_digit },                 /* 6 */
                     95:   { ISFUNC, rl_vi_arg_digit },                 /* 7 */
                     96:   { ISFUNC, rl_vi_arg_digit },                 /* 8 */
                     97:   { ISFUNC, rl_vi_arg_digit },                 /* 9 */
                     98: 
                     99:   /* A little more punctuation. */
                    100:   { ISFUNC, (rl_command_func_t *)0x0 },                /* : */
                    101:   { ISFUNC, rl_vi_char_search },               /* ; */
                    102:   { ISFUNC, (rl_command_func_t *)0x0 },                /* < */
                    103:   { ISFUNC, rl_vi_complete },                  /* = */
                    104:   { ISFUNC, (rl_command_func_t *)0x0 },                /* > */
                    105:   { ISFUNC, rl_vi_search },                    /* ? */
                    106:   { ISFUNC, (rl_command_func_t *)0x0 },                /* @ */
                    107: 
                    108:   /* Uppercase alphabet. */
                    109:   { ISFUNC, rl_vi_append_eol },                        /* A */
                    110:   { ISFUNC, rl_vi_prev_word},                  /* B */
                    111:   { ISFUNC, rl_vi_change_to },                 /* C */
                    112:   { ISFUNC, rl_vi_delete_to },                 /* D */
                    113:   { ISFUNC, rl_vi_end_word },                  /* E */
                    114:   { ISFUNC, rl_vi_char_search },               /* F */
                    115:   { ISFUNC, rl_vi_fetch_history },             /* G */
                    116:   { ISFUNC, (rl_command_func_t *)0x0 },                /* H */
                    117:   { ISFUNC, rl_vi_insert_beg },                        /* I */
                    118:   { ISFUNC, (rl_command_func_t *)0x0 },                /* J */
                    119:   { ISFUNC, (rl_command_func_t *)0x0 },                /* K */
                    120:   { ISFUNC, (rl_command_func_t *)0x0 },                /* L */
                    121:   { ISFUNC, (rl_command_func_t *)0x0 },                /* M */
                    122:   { ISFUNC, rl_vi_search_again },              /* N */
                    123:   { ISFUNC, (rl_command_func_t *)0x0 },                /* O */
                    124:   { ISFUNC, rl_vi_put },                       /* P */
                    125:   { ISFUNC, (rl_command_func_t *)0x0 },                /* Q */
                    126:   { ISFUNC, rl_vi_replace },                   /* R */
                    127:   { ISFUNC, rl_vi_subst },                     /* S */
                    128:   { ISFUNC, rl_vi_char_search },               /* T */
                    129:   { ISFUNC, rl_revert_line },                  /* U */
                    130:   { ISFUNC, (rl_command_func_t *)0x0 },                /* V */
                    131:   { ISFUNC, rl_vi_next_word },                 /* W */
                    132:   { ISFUNC, rl_vi_rubout },                    /* X */
                    133:   { ISFUNC, rl_vi_yank_to },                   /* Y */
                    134:   { ISFUNC, (rl_command_func_t *)0x0 },                /* Z */
                    135: 
                    136:   /* Some more punctuation. */
                    137:   { ISFUNC, (rl_command_func_t *)0x0 },                /* [ */
                    138:   { ISFUNC, rl_vi_complete },                  /* \ */
                    139:   { ISFUNC, (rl_command_func_t *)0x0 },                /* ] */
                    140:   { ISFUNC, rl_vi_first_print },               /* ^ */
                    141:   { ISFUNC, rl_vi_yank_arg },                  /* _ */
                    142:   { ISFUNC, rl_vi_goto_mark },                 /* ` */
                    143: 
                    144:   /* Lowercase alphabet. */
                    145:   { ISFUNC, rl_vi_append_mode },               /* a */
                    146:   { ISFUNC, rl_vi_prev_word },                 /* b */
                    147:   { ISFUNC, rl_vi_change_to },                 /* c */
                    148:   { ISFUNC, rl_vi_delete_to },                 /* d */
                    149:   { ISFUNC, rl_vi_end_word },                  /* e */
                    150:   { ISFUNC, rl_vi_char_search },               /* f */
                    151:   { ISFUNC, (rl_command_func_t *)0x0 },                /* g */
                    152:   { ISFUNC, rl_backward_char },                        /* h */
                    153:   { ISFUNC, rl_vi_insert_mode },               /* i */
                    154:   { ISFUNC, rl_get_next_history },             /* j */
                    155:   { ISFUNC, rl_get_previous_history },         /* k */
                    156:   { ISFUNC, rl_forward_char },                 /* l */
                    157:   { ISFUNC, rl_vi_set_mark },                  /* m */
                    158:   { ISFUNC, rl_vi_search_again },              /* n */
                    159:   { ISFUNC, (rl_command_func_t *)0x0 },                /* o */
                    160:   { ISFUNC, rl_vi_put },                       /* p */
                    161:   { ISFUNC, (rl_command_func_t *)0x0 },                /* q */
                    162:   { ISFUNC, rl_vi_change_char },               /* r */
                    163:   { ISFUNC, rl_vi_subst },                     /* s */
                    164:   { ISFUNC, rl_vi_char_search },               /* t */
                    165:   { ISFUNC, rl_vi_undo },                      /* u */
                    166:   { ISFUNC, (rl_command_func_t *)0x0 },                /* v */
                    167:   { ISFUNC, rl_vi_next_word },                 /* w */
                    168:   { ISFUNC, rl_vi_delete },                    /* x */
                    169:   { ISFUNC, rl_vi_yank_to },                   /* y */
                    170:   { ISFUNC, (rl_command_func_t *)0x0 },                /* z */
                    171: 
                    172:   /* Final punctuation. */
                    173:   { ISFUNC, (rl_command_func_t *)0x0 },                /* { */
                    174:   { ISFUNC, rl_vi_column },                    /* | */
                    175:   { ISFUNC, (rl_command_func_t *)0x0 },                /* } */
                    176:   { ISFUNC, rl_vi_change_case },               /* ~ */
                    177:   { ISFUNC, (rl_command_func_t *)0x0 },                /* RUBOUT */
                    178: 
                    179: #if KEYMAP_SIZE > 128
                    180:   /* Undefined keys. */
                    181:   { ISFUNC, (rl_command_func_t *)0x0 },
                    182:   { ISFUNC, (rl_command_func_t *)0x0 },
                    183:   { ISFUNC, (rl_command_func_t *)0x0 },
                    184:   { ISFUNC, (rl_command_func_t *)0x0 },
                    185:   { ISFUNC, (rl_command_func_t *)0x0 },
                    186:   { ISFUNC, (rl_command_func_t *)0x0 },
                    187:   { ISFUNC, (rl_command_func_t *)0x0 },
                    188:   { ISFUNC, (rl_command_func_t *)0x0 },
                    189:   { ISFUNC, (rl_command_func_t *)0x0 },
                    190:   { ISFUNC, (rl_command_func_t *)0x0 },
                    191:   { ISFUNC, (rl_command_func_t *)0x0 },
                    192:   { ISFUNC, (rl_command_func_t *)0x0 },
                    193:   { ISFUNC, (rl_command_func_t *)0x0 },
                    194:   { ISFUNC, (rl_command_func_t *)0x0 },
                    195:   { ISFUNC, (rl_command_func_t *)0x0 },
                    196:   { ISFUNC, (rl_command_func_t *)0x0 },
                    197:   { ISFUNC, (rl_command_func_t *)0x0 },
                    198:   { ISFUNC, (rl_command_func_t *)0x0 },
                    199:   { ISFUNC, (rl_command_func_t *)0x0 },
                    200:   { ISFUNC, (rl_command_func_t *)0x0 },
                    201:   { ISFUNC, (rl_command_func_t *)0x0 },
                    202:   { ISFUNC, (rl_command_func_t *)0x0 },
                    203:   { ISFUNC, (rl_command_func_t *)0x0 },
                    204:   { ISFUNC, (rl_command_func_t *)0x0 },
                    205:   { ISFUNC, (rl_command_func_t *)0x0 },
                    206:   { ISFUNC, (rl_command_func_t *)0x0 },
                    207:   { ISFUNC, (rl_command_func_t *)0x0 },
                    208:   { ISFUNC, (rl_command_func_t *)0x0 },
                    209:   { ISFUNC, (rl_command_func_t *)0x0 },
                    210:   { ISFUNC, (rl_command_func_t *)0x0 },
                    211:   { ISFUNC, (rl_command_func_t *)0x0 },
                    212:   { ISFUNC, (rl_command_func_t *)0x0 },
                    213:   { ISFUNC, (rl_command_func_t *)0x0 },
                    214:   { ISFUNC, (rl_command_func_t *)0x0 },
                    215:   { ISFUNC, (rl_command_func_t *)0x0 },
                    216:   { ISFUNC, (rl_command_func_t *)0x0 },
                    217:   { ISFUNC, (rl_command_func_t *)0x0 },
                    218:   { ISFUNC, (rl_command_func_t *)0x0 },
                    219:   { ISFUNC, (rl_command_func_t *)0x0 },
                    220:   { ISFUNC, (rl_command_func_t *)0x0 },
                    221:   { ISFUNC, (rl_command_func_t *)0x0 },
                    222:   { ISFUNC, (rl_command_func_t *)0x0 },
                    223:   { ISFUNC, (rl_command_func_t *)0x0 },
                    224:   { ISFUNC, (rl_command_func_t *)0x0 },
                    225:   { ISFUNC, (rl_command_func_t *)0x0 },
                    226:   { ISFUNC, (rl_command_func_t *)0x0 },
                    227:   { ISFUNC, (rl_command_func_t *)0x0 },
                    228:   { ISFUNC, (rl_command_func_t *)0x0 },
                    229:   { ISFUNC, (rl_command_func_t *)0x0 },
                    230:   { ISFUNC, (rl_command_func_t *)0x0 },
                    231:   { ISFUNC, (rl_command_func_t *)0x0 },
                    232:   { ISFUNC, (rl_command_func_t *)0x0 },
                    233:   { ISFUNC, (rl_command_func_t *)0x0 },
                    234:   { ISFUNC, (rl_command_func_t *)0x0 },
                    235:   { ISFUNC, (rl_command_func_t *)0x0 },
                    236:   { ISFUNC, (rl_command_func_t *)0x0 },
                    237:   { ISFUNC, (rl_command_func_t *)0x0 },
                    238:   { ISFUNC, (rl_command_func_t *)0x0 },
                    239:   { ISFUNC, (rl_command_func_t *)0x0 },
                    240:   { ISFUNC, (rl_command_func_t *)0x0 },
                    241:   { ISFUNC, (rl_command_func_t *)0x0 },
                    242:   { ISFUNC, (rl_command_func_t *)0x0 },
                    243:   { ISFUNC, (rl_command_func_t *)0x0 },
                    244:   { ISFUNC, (rl_command_func_t *)0x0 },
                    245:   { ISFUNC, (rl_command_func_t *)0x0 },
                    246:   { ISFUNC, (rl_command_func_t *)0x0 },
                    247:   { ISFUNC, (rl_command_func_t *)0x0 },
                    248:   { ISFUNC, (rl_command_func_t *)0x0 },
                    249:   { ISFUNC, (rl_command_func_t *)0x0 },
                    250:   { ISFUNC, (rl_command_func_t *)0x0 },
                    251:   { ISFUNC, (rl_command_func_t *)0x0 },
                    252:   { ISFUNC, (rl_command_func_t *)0x0 },
                    253:   { ISFUNC, (rl_command_func_t *)0x0 },
                    254:   { ISFUNC, (rl_command_func_t *)0x0 },
                    255:   { ISFUNC, (rl_command_func_t *)0x0 },
                    256:   { ISFUNC, (rl_command_func_t *)0x0 },
                    257:   { ISFUNC, (rl_command_func_t *)0x0 },
                    258:   { ISFUNC, (rl_command_func_t *)0x0 },
                    259:   { ISFUNC, (rl_command_func_t *)0x0 },
                    260:   { ISFUNC, (rl_command_func_t *)0x0 },
                    261:   { ISFUNC, (rl_command_func_t *)0x0 },
                    262:   { ISFUNC, (rl_command_func_t *)0x0 },
                    263:   { ISFUNC, (rl_command_func_t *)0x0 },
                    264:   { ISFUNC, (rl_command_func_t *)0x0 },
                    265:   { ISFUNC, (rl_command_func_t *)0x0 },
                    266:   { ISFUNC, (rl_command_func_t *)0x0 },
                    267:   { ISFUNC, (rl_command_func_t *)0x0 },
                    268:   { ISFUNC, (rl_command_func_t *)0x0 },
                    269:   { ISFUNC, (rl_command_func_t *)0x0 },
                    270:   { ISFUNC, (rl_command_func_t *)0x0 },
                    271:   { ISFUNC, (rl_command_func_t *)0x0 },
                    272:   { ISFUNC, (rl_command_func_t *)0x0 },
                    273:   { ISFUNC, (rl_command_func_t *)0x0 },
                    274:   { ISFUNC, (rl_command_func_t *)0x0 },
                    275:   { ISFUNC, (rl_command_func_t *)0x0 },
                    276:   { ISFUNC, (rl_command_func_t *)0x0 },
                    277:   { ISFUNC, (rl_command_func_t *)0x0 },
                    278:   { ISFUNC, (rl_command_func_t *)0x0 },
                    279:   { ISFUNC, (rl_command_func_t *)0x0 },
                    280:   { ISFUNC, (rl_command_func_t *)0x0 },
                    281:   { ISFUNC, (rl_command_func_t *)0x0 },
                    282:   { ISFUNC, (rl_command_func_t *)0x0 },
                    283:   { ISFUNC, (rl_command_func_t *)0x0 },
                    284:   { ISFUNC, (rl_command_func_t *)0x0 },
                    285:   { ISFUNC, (rl_command_func_t *)0x0 },
                    286:   { ISFUNC, (rl_command_func_t *)0x0 },
                    287:   { ISFUNC, (rl_command_func_t *)0x0 },
                    288:   { ISFUNC, (rl_command_func_t *)0x0 },
                    289:   { ISFUNC, (rl_command_func_t *)0x0 },
                    290:   { ISFUNC, (rl_command_func_t *)0x0 },
                    291:   { ISFUNC, (rl_command_func_t *)0x0 },
                    292:   { ISFUNC, (rl_command_func_t *)0x0 },
                    293:   { ISFUNC, (rl_command_func_t *)0x0 },
                    294:   { ISFUNC, (rl_command_func_t *)0x0 },
                    295:   { ISFUNC, (rl_command_func_t *)0x0 },
                    296:   { ISFUNC, (rl_command_func_t *)0x0 },
                    297:   { ISFUNC, (rl_command_func_t *)0x0 },
                    298:   { ISFUNC, (rl_command_func_t *)0x0 },
                    299:   { ISFUNC, (rl_command_func_t *)0x0 },
                    300:   { ISFUNC, (rl_command_func_t *)0x0 },
                    301:   { ISFUNC, (rl_command_func_t *)0x0 },
                    302:   { ISFUNC, (rl_command_func_t *)0x0 },
                    303:   { ISFUNC, (rl_command_func_t *)0x0 },
                    304:   { ISFUNC, (rl_command_func_t *)0x0 },
                    305:   { ISFUNC, (rl_command_func_t *)0x0 },
                    306:   { ISFUNC, (rl_command_func_t *)0x0 },
                    307:   { ISFUNC, (rl_command_func_t *)0x0 },
                    308:   { ISFUNC, (rl_command_func_t *)0x0 }
                    309: #endif /* KEYMAP_SIZE > 128 */
                    310: };
                    311: 
                    312: KEYMAP_ENTRY_ARRAY vi_insertion_keymap = {
                    313:   /* The regular control keys come first. */
                    314:   { ISFUNC, (rl_command_func_t *)0x0 },                /* Control-@ */
                    315:   { ISFUNC, rl_insert },                       /* Control-a */
                    316:   { ISFUNC, rl_insert },                       /* Control-b */
                    317:   { ISFUNC, rl_insert },                       /* Control-c */
                    318:   { ISFUNC, rl_vi_eof_maybe },                 /* Control-d */
                    319:   { ISFUNC, rl_insert },                       /* Control-e */
                    320:   { ISFUNC, rl_insert },                       /* Control-f */
                    321:   { ISFUNC, rl_insert },                       /* Control-g */
                    322:   { ISFUNC, rl_rubout },                       /* Control-h */
                    323:   { ISFUNC, rl_complete },                     /* Control-i */
                    324:   { ISFUNC, rl_newline },                      /* Control-j */
                    325:   { ISFUNC, rl_insert },                       /* Control-k */
                    326:   { ISFUNC, rl_insert },                       /* Control-l */
                    327:   { ISFUNC, rl_newline },                      /* Control-m */
                    328:   { ISFUNC, rl_menu_complete},                 /* Control-n */
                    329:   { ISFUNC, rl_insert },                       /* Control-o */
                    330:   { ISFUNC, rl_backward_menu_complete },       /* Control-p */
                    331:   { ISFUNC, rl_insert },                       /* Control-q */
                    332:   { ISFUNC, rl_reverse_search_history },       /* Control-r */
                    333:   { ISFUNC, rl_forward_search_history },       /* Control-s */
                    334:   { ISFUNC, rl_transpose_chars },              /* Control-t */
                    335:   { ISFUNC, rl_unix_line_discard },            /* Control-u */
                    336:   { ISFUNC, rl_quoted_insert },                        /* Control-v */
                    337:   { ISFUNC, rl_unix_word_rubout },             /* Control-w */
                    338:   { ISFUNC, rl_insert },                       /* Control-x */
                    339:   { ISFUNC, rl_yank },                         /* Control-y */
                    340:   { ISFUNC, rl_insert },                       /* Control-z */
                    341: 
                    342:   { ISFUNC, rl_vi_movement_mode },             /* Control-[ */
                    343:   { ISFUNC, rl_insert },                       /* Control-\ */
                    344:   { ISFUNC, rl_insert },                       /* Control-] */
                    345:   { ISFUNC, rl_insert },                       /* Control-^ */
                    346:   { ISFUNC, rl_vi_undo },                      /* Control-_ */
                    347: 
                    348:   /* The start of printing characters. */
                    349:   { ISFUNC, rl_insert },                       /* SPACE */
                    350:   { ISFUNC, rl_insert },                       /* ! */
                    351:   { ISFUNC, rl_insert },                       /* " */
                    352:   { ISFUNC, rl_insert },                       /* # */
                    353:   { ISFUNC, rl_insert },                       /* $ */
                    354:   { ISFUNC, rl_insert },                       /* % */
                    355:   { ISFUNC, rl_insert },                       /* & */
                    356:   { ISFUNC, rl_insert },                       /* ' */
                    357:   { ISFUNC, rl_insert },                       /* ( */
                    358:   { ISFUNC, rl_insert },                       /* ) */
                    359:   { ISFUNC, rl_insert },                       /* * */
                    360:   { ISFUNC, rl_insert },                       /* + */
                    361:   { ISFUNC, rl_insert },                       /* , */
                    362:   { ISFUNC, rl_insert },                       /* - */
                    363:   { ISFUNC, rl_insert },                       /* . */
                    364:   { ISFUNC, rl_insert },                       /* / */
                    365: 
                    366:   /* Regular digits. */
                    367:   { ISFUNC, rl_insert },                       /* 0 */
                    368:   { ISFUNC, rl_insert },                       /* 1 */
                    369:   { ISFUNC, rl_insert },                       /* 2 */
                    370:   { ISFUNC, rl_insert },                       /* 3 */
                    371:   { ISFUNC, rl_insert },                       /* 4 */
                    372:   { ISFUNC, rl_insert },                       /* 5 */
                    373:   { ISFUNC, rl_insert },                       /* 6 */
                    374:   { ISFUNC, rl_insert },                       /* 7 */
                    375:   { ISFUNC, rl_insert },                       /* 8 */
                    376:   { ISFUNC, rl_insert },                       /* 9 */
                    377: 
                    378:   /* A little more punctuation. */
                    379:   { ISFUNC, rl_insert },                       /* : */
                    380:   { ISFUNC, rl_insert },                       /* ; */
                    381:   { ISFUNC, rl_insert },                       /* < */
                    382:   { ISFUNC, rl_insert },                       /* = */
                    383:   { ISFUNC, rl_insert },                       /* > */
                    384:   { ISFUNC, rl_insert },                       /* ? */
                    385:   { ISFUNC, rl_insert },                       /* @ */
                    386: 
                    387:   /* Uppercase alphabet. */
                    388:   { ISFUNC, rl_insert },                       /* A */
                    389:   { ISFUNC, rl_insert },                       /* B */
                    390:   { ISFUNC, rl_insert },                       /* C */
                    391:   { ISFUNC, rl_insert },                       /* D */
                    392:   { ISFUNC, rl_insert },                       /* E */
                    393:   { ISFUNC, rl_insert },                       /* F */
                    394:   { ISFUNC, rl_insert },                       /* G */
                    395:   { ISFUNC, rl_insert },                       /* H */
                    396:   { ISFUNC, rl_insert },                       /* I */
                    397:   { ISFUNC, rl_insert },                       /* J */
                    398:   { ISFUNC, rl_insert },                       /* K */
                    399:   { ISFUNC, rl_insert },                       /* L */
                    400:   { ISFUNC, rl_insert },                       /* M */
                    401:   { ISFUNC, rl_insert },                       /* N */
                    402:   { ISFUNC, rl_insert },                       /* O */
                    403:   { ISFUNC, rl_insert },                       /* P */
                    404:   { ISFUNC, rl_insert },                       /* Q */
                    405:   { ISFUNC, rl_insert },                       /* R */
                    406:   { ISFUNC, rl_insert },                       /* S */
                    407:   { ISFUNC, rl_insert },                       /* T */
                    408:   { ISFUNC, rl_insert },                       /* U */
                    409:   { ISFUNC, rl_insert },                       /* V */
                    410:   { ISFUNC, rl_insert },                       /* W */
                    411:   { ISFUNC, rl_insert },                       /* X */
                    412:   { ISFUNC, rl_insert },                       /* Y */
                    413:   { ISFUNC, rl_insert },                       /* Z */
                    414: 
                    415:   /* Some more punctuation. */
                    416:   { ISFUNC, rl_insert },                       /* [ */
                    417:   { ISFUNC, rl_insert },                       /* \ */
                    418:   { ISFUNC, rl_insert },                       /* ] */
                    419:   { ISFUNC, rl_insert },                       /* ^ */
                    420:   { ISFUNC, rl_insert },                       /* _ */
                    421:   { ISFUNC, rl_insert },                       /* ` */
                    422: 
                    423:   /* Lowercase alphabet. */
                    424:   { ISFUNC, rl_insert },                       /* a */
                    425:   { ISFUNC, rl_insert },                       /* b */
                    426:   { ISFUNC, rl_insert },                       /* c */
                    427:   { ISFUNC, rl_insert },                       /* d */
                    428:   { ISFUNC, rl_insert },                       /* e */
                    429:   { ISFUNC, rl_insert },                       /* f */
                    430:   { ISFUNC, rl_insert },                       /* g */
                    431:   { ISFUNC, rl_insert },                       /* h */
                    432:   { ISFUNC, rl_insert },                       /* i */
                    433:   { ISFUNC, rl_insert },                       /* j */
                    434:   { ISFUNC, rl_insert },                       /* k */
                    435:   { ISFUNC, rl_insert },                       /* l */
                    436:   { ISFUNC, rl_insert },                       /* m */
                    437:   { ISFUNC, rl_insert },                       /* n */
                    438:   { ISFUNC, rl_insert },                       /* o */
                    439:   { ISFUNC, rl_insert },                       /* p */
                    440:   { ISFUNC, rl_insert },                       /* q */
                    441:   { ISFUNC, rl_insert },                       /* r */
                    442:   { ISFUNC, rl_insert },                       /* s */
                    443:   { ISFUNC, rl_insert },                       /* t */
                    444:   { ISFUNC, rl_insert },                       /* u */
                    445:   { ISFUNC, rl_insert },                       /* v */
                    446:   { ISFUNC, rl_insert },                       /* w */
                    447:   { ISFUNC, rl_insert },                       /* x */
                    448:   { ISFUNC, rl_insert },                       /* y */
                    449:   { ISFUNC, rl_insert },                       /* z */
                    450: 
                    451:   /* Final punctuation. */
                    452:   { ISFUNC, rl_insert },                       /* { */
                    453:   { ISFUNC, rl_insert },                       /* | */
                    454:   { ISFUNC, rl_insert },                       /* } */
                    455:   { ISFUNC, rl_insert },                       /* ~ */
                    456:   { ISFUNC, rl_rubout },                       /* RUBOUT */
                    457: 
                    458: #if KEYMAP_SIZE > 128
                    459:   /* Pure 8-bit characters (128 - 159).
                    460:      These might be used in some
                    461:      character sets. */
                    462:   { ISFUNC, rl_insert },       /* ? */
                    463:   { ISFUNC, rl_insert },       /* ? */
                    464:   { ISFUNC, rl_insert },       /* ? */
                    465:   { ISFUNC, rl_insert },       /* ? */
                    466:   { ISFUNC, rl_insert },       /* ? */
                    467:   { ISFUNC, rl_insert },       /* ? */
                    468:   { ISFUNC, rl_insert },       /* ? */
                    469:   { ISFUNC, rl_insert },       /* ? */
                    470:   { ISFUNC, rl_insert },       /* ? */
                    471:   { ISFUNC, rl_insert },       /* ? */
                    472:   { ISFUNC, rl_insert },       /* ? */
                    473:   { ISFUNC, rl_insert },       /* ? */
                    474:   { ISFUNC, rl_insert },       /* ? */
                    475:   { ISFUNC, rl_insert },       /* ? */
                    476:   { ISFUNC, rl_insert },       /* ? */
                    477:   { ISFUNC, rl_insert },       /* ? */
                    478:   { ISFUNC, rl_insert },       /* ? */
                    479:   { ISFUNC, rl_insert },       /* ? */
                    480:   { ISFUNC, rl_insert },       /* ? */
                    481:   { ISFUNC, rl_insert },       /* ? */
                    482:   { ISFUNC, rl_insert },       /* ? */
                    483:   { ISFUNC, rl_insert },       /* ? */
                    484:   { ISFUNC, rl_insert },       /* ? */
                    485:   { ISFUNC, rl_insert },       /* ? */
                    486:   { ISFUNC, rl_insert },       /* ? */
                    487:   { ISFUNC, rl_insert },       /* ? */
                    488:   { ISFUNC, rl_insert },       /* ? */
                    489:   { ISFUNC, rl_insert },       /* ? */
                    490:   { ISFUNC, rl_insert },       /* ? */
                    491:   { ISFUNC, rl_insert },       /* ? */
                    492:   { ISFUNC, rl_insert },       /* ? */
                    493:   { ISFUNC, rl_insert },       /* ? */
                    494: 
                    495:   /* ISO Latin-1 characters (160 - 255) */
                    496:   { ISFUNC, rl_insert },       /* No-break space */
                    497:   { ISFUNC, rl_insert },       /* Inverted exclamation mark */
                    498:   { ISFUNC, rl_insert },       /* Cent sign */
                    499:   { ISFUNC, rl_insert },       /* Pound sign */
                    500:   { ISFUNC, rl_insert },       /* Currency sign */
                    501:   { ISFUNC, rl_insert },       /* Yen sign */
                    502:   { ISFUNC, rl_insert },       /* Broken bar */
                    503:   { ISFUNC, rl_insert },       /* Section sign */
                    504:   { ISFUNC, rl_insert },       /* Diaeresis */
                    505:   { ISFUNC, rl_insert },       /* Copyright sign */
                    506:   { ISFUNC, rl_insert },       /* Feminine ordinal indicator */
                    507:   { ISFUNC, rl_insert },       /* Left pointing double angle quotation mark */
                    508:   { ISFUNC, rl_insert },       /* Not sign */
                    509:   { ISFUNC, rl_insert },       /* Soft hyphen */
                    510:   { ISFUNC, rl_insert },       /* Registered sign */
                    511:   { ISFUNC, rl_insert },       /* Macron */
                    512:   { ISFUNC, rl_insert },       /* Degree sign */
                    513:   { ISFUNC, rl_insert },       /* Plus-minus sign */
                    514:   { ISFUNC, rl_insert },       /* Superscript two */
                    515:   { ISFUNC, rl_insert },       /* Superscript three */
                    516:   { ISFUNC, rl_insert },       /* Acute accent */
                    517:   { ISFUNC, rl_insert },       /* Micro sign */
                    518:   { ISFUNC, rl_insert },       /* Pilcrow sign */
                    519:   { ISFUNC, rl_insert },       /* Middle dot */
                    520:   { ISFUNC, rl_insert },       /* Cedilla */
                    521:   { ISFUNC, rl_insert },       /* Superscript one */
                    522:   { ISFUNC, rl_insert },       /* Masculine ordinal indicator */
                    523:   { ISFUNC, rl_insert },       /* Right pointing double angle quotation mark */
                    524:   { ISFUNC, rl_insert },       /* Vulgar fraction one quarter */
                    525:   { ISFUNC, rl_insert },       /* Vulgar fraction one half */
                    526:   { ISFUNC, rl_insert },       /* Vulgar fraction three quarters */
                    527:   { ISFUNC, rl_insert },       /* Inverted questionk mark */
                    528:   { ISFUNC, rl_insert },       /* Latin capital letter a with grave */
                    529:   { ISFUNC, rl_insert },       /* Latin capital letter a with acute */
                    530:   { ISFUNC, rl_insert },       /* Latin capital letter a with circumflex */
                    531:   { ISFUNC, rl_insert },       /* Latin capital letter a with tilde */
                    532:   { ISFUNC, rl_insert },       /* Latin capital letter a with diaeresis */
                    533:   { ISFUNC, rl_insert },       /* Latin capital letter a with ring above */
                    534:   { ISFUNC, rl_insert },       /* Latin capital letter ae */
                    535:   { ISFUNC, rl_insert },       /* Latin capital letter c with cedilla */
                    536:   { ISFUNC, rl_insert },       /* Latin capital letter e with grave */
                    537:   { ISFUNC, rl_insert },       /* Latin capital letter e with acute */
                    538:   { ISFUNC, rl_insert },       /* Latin capital letter e with circumflex */
                    539:   { ISFUNC, rl_insert },       /* Latin capital letter e with diaeresis */
                    540:   { ISFUNC, rl_insert },       /* Latin capital letter i with grave */
                    541:   { ISFUNC, rl_insert },       /* Latin capital letter i with acute */
                    542:   { ISFUNC, rl_insert },       /* Latin capital letter i with circumflex */
                    543:   { ISFUNC, rl_insert },       /* Latin capital letter i with diaeresis */
                    544:   { ISFUNC, rl_insert },       /* Latin capital letter eth (Icelandic) */
                    545:   { ISFUNC, rl_insert },       /* Latin capital letter n with tilde */
                    546:   { ISFUNC, rl_insert },       /* Latin capital letter o with grave */
                    547:   { ISFUNC, rl_insert },       /* Latin capital letter o with acute */
                    548:   { ISFUNC, rl_insert },       /* Latin capital letter o with circumflex */
                    549:   { ISFUNC, rl_insert },       /* Latin capital letter o with tilde */
                    550:   { ISFUNC, rl_insert },       /* Latin capital letter o with diaeresis */
                    551:   { ISFUNC, rl_insert },       /* Multiplication sign */
                    552:   { ISFUNC, rl_insert },       /* Latin capital letter o with stroke */
                    553:   { ISFUNC, rl_insert },       /* Latin capital letter u with grave */
                    554:   { ISFUNC, rl_insert },       /* Latin capital letter u with acute */
                    555:   { ISFUNC, rl_insert },       /* Latin capital letter u with circumflex */
                    556:   { ISFUNC, rl_insert },       /* Latin capital letter u with diaeresis */
                    557:   { ISFUNC, rl_insert },       /* Latin capital letter Y with acute */
                    558:   { ISFUNC, rl_insert },       /* Latin capital letter thorn (Icelandic) */
                    559:   { ISFUNC, rl_insert },       /* Latin small letter sharp s (German) */
                    560:   { ISFUNC, rl_insert },       /* Latin small letter a with grave */
                    561:   { ISFUNC, rl_insert },       /* Latin small letter a with acute */
                    562:   { ISFUNC, rl_insert },       /* Latin small letter a with circumflex */
                    563:   { ISFUNC, rl_insert },       /* Latin small letter a with tilde */
                    564:   { ISFUNC, rl_insert },       /* Latin small letter a with diaeresis */
                    565:   { ISFUNC, rl_insert },       /* Latin small letter a with ring above */
                    566:   { ISFUNC, rl_insert },       /* Latin small letter ae */
                    567:   { ISFUNC, rl_insert },       /* Latin small letter c with cedilla */
                    568:   { ISFUNC, rl_insert },       /* Latin small letter e with grave */
                    569:   { ISFUNC, rl_insert },       /* Latin small letter e with acute */
                    570:   { ISFUNC, rl_insert },       /* Latin small letter e with circumflex */
                    571:   { ISFUNC, rl_insert },       /* Latin small letter e with diaeresis */
                    572:   { ISFUNC, rl_insert },       /* Latin small letter i with grave */
                    573:   { ISFUNC, rl_insert },       /* Latin small letter i with acute */
                    574:   { ISFUNC, rl_insert },       /* Latin small letter i with circumflex */
                    575:   { ISFUNC, rl_insert },       /* Latin small letter i with diaeresis */
                    576:   { ISFUNC, rl_insert },       /* Latin small letter eth (Icelandic) */
                    577:   { ISFUNC, rl_insert },       /* Latin small letter n with tilde */
                    578:   { ISFUNC, rl_insert },       /* Latin small letter o with grave */
                    579:   { ISFUNC, rl_insert },       /* Latin small letter o with acute */
                    580:   { ISFUNC, rl_insert },       /* Latin small letter o with circumflex */
                    581:   { ISFUNC, rl_insert },       /* Latin small letter o with tilde */
                    582:   { ISFUNC, rl_insert },       /* Latin small letter o with diaeresis */
                    583:   { ISFUNC, rl_insert },       /* Division sign */
                    584:   { ISFUNC, rl_insert },       /* Latin small letter o with stroke */
                    585:   { ISFUNC, rl_insert },       /* Latin small letter u with grave */
                    586:   { ISFUNC, rl_insert },       /* Latin small letter u with acute */
                    587:   { ISFUNC, rl_insert },       /* Latin small letter u with circumflex */
                    588:   { ISFUNC, rl_insert },       /* Latin small letter u with diaeresis */
                    589:   { ISFUNC, rl_insert },       /* Latin small letter y with acute */
                    590:   { ISFUNC, rl_insert },       /* Latin small letter thorn (Icelandic) */
                    591:   { ISFUNC, rl_insert }                /* Latin small letter y with diaeresis */
                    592: #endif /* KEYMAP_SIZE > 128 */
                    593: };
                    594: 
                    595: /* Unused for the time being. */
                    596: #if 0
                    597: KEYMAP_ENTRY_ARRAY vi_escape_keymap = {
                    598:   /* The regular control keys come first. */
                    599:   { ISFUNC, (rl_command_func_t *)0x0 },                /* Control-@ */
                    600:   { ISFUNC, (rl_command_func_t *)0x0 },                /* Control-a */
                    601:   { ISFUNC, (rl_command_func_t *)0x0 },                /* Control-b */
                    602:   { ISFUNC, (rl_command_func_t *)0x0 },                /* Control-c */
                    603:   { ISFUNC, (rl_command_func_t *)0x0 },                /* Control-d */
                    604:   { ISFUNC, (rl_command_func_t *)0x0 },                /* Control-e */
                    605:   { ISFUNC, (rl_command_func_t *)0x0 },                /* Control-f */
                    606:   { ISFUNC, (rl_command_func_t *)0x0 },                /* Control-g */
                    607:   { ISFUNC, (rl_command_func_t *)0x0 },                /* Control-h */
                    608:   { ISFUNC, rl_tab_insert},                    /* Control-i */
                    609:   { ISFUNC, rl_emacs_editing_mode},            /* Control-j */
                    610:   { ISFUNC, rl_kill_line },                    /* Control-k */
                    611:   { ISFUNC, (rl_command_func_t *)0x0 },                /* Control-l */
                    612:   { ISFUNC, rl_emacs_editing_mode},            /* Control-m */
                    613:   { ISFUNC, (rl_command_func_t *)0x0 },                /* Control-n */
                    614:   { ISFUNC, (rl_command_func_t *)0x0 },                /* Control-o */
                    615:   { ISFUNC, (rl_command_func_t *)0x0 },                /* Control-p */
                    616:   { ISFUNC, (rl_command_func_t *)0x0 },                /* Control-q */
                    617:   { ISFUNC, (rl_command_func_t *)0x0 },                /* Control-r */
                    618:   { ISFUNC, (rl_command_func_t *)0x0 },                /* Control-s */
                    619:   { ISFUNC, (rl_command_func_t *)0x0 },                /* Control-t */
                    620:   { ISFUNC, (rl_command_func_t *)0x0 },                /* Control-u */
                    621:   { ISFUNC, (rl_command_func_t *)0x0 },                /* Control-v */
                    622:   { ISFUNC, (rl_command_func_t *)0x0 },                /* Control-w */
                    623:   { ISFUNC, (rl_command_func_t *)0x0 },                /* Control-x */
                    624:   { ISFUNC, (rl_command_func_t *)0x0 },                /* Control-y */
                    625:   { ISFUNC, (rl_command_func_t *)0x0 },                /* Control-z */
                    626: 
                    627:   { ISFUNC, rl_vi_movement_mode },             /* Control-[ */
                    628:   { ISFUNC, (rl_command_func_t *)0x0 },                /* Control-\ */
                    629:   { ISFUNC, (rl_command_func_t *)0x0 },                /* Control-] */
                    630:   { ISFUNC, (rl_command_func_t *)0x0 },                /* Control-^ */
                    631:   { ISFUNC, rl_vi_undo },                      /* Control-_ */
                    632: 
                    633:   /* The start of printing characters. */
                    634:   { ISFUNC, (rl_command_func_t *)0x0 },                /* SPACE */
                    635:   { ISFUNC, (rl_command_func_t *)0x0 },                /* ! */
                    636:   { ISFUNC, (rl_command_func_t *)0x0 },                /* " */
                    637:   { ISFUNC, (rl_command_func_t *)0x0 },                /* # */
                    638:   { ISFUNC, (rl_command_func_t *)0x0 },                /* $ */
                    639:   { ISFUNC, (rl_command_func_t *)0x0 },                /* % */
                    640:   { ISFUNC, (rl_command_func_t *)0x0 },                /* & */
                    641:   { ISFUNC, (rl_command_func_t *)0x0 },                /* ' */
                    642:   { ISFUNC, (rl_command_func_t *)0x0 },                /* ( */
                    643:   { ISFUNC, (rl_command_func_t *)0x0 },                /* ) */
                    644:   { ISFUNC, (rl_command_func_t *)0x0 },                /* * */
                    645:   { ISFUNC, (rl_command_func_t *)0x0 },                /* + */
                    646:   { ISFUNC, (rl_command_func_t *)0x0 },                /* , */
                    647:   { ISFUNC, (rl_command_func_t *)0x0 },                /* - */
                    648:   { ISFUNC, (rl_command_func_t *)0x0 },                /* . */
                    649:   { ISFUNC, (rl_command_func_t *)0x0 },                /* / */
                    650: 
                    651:   /* Regular digits. */
                    652:   { ISFUNC, rl_vi_arg_digit },                 /* 0 */
                    653:   { ISFUNC, rl_vi_arg_digit },                 /* 1 */
                    654:   { ISFUNC, rl_vi_arg_digit },                 /* 2 */
                    655:   { ISFUNC, rl_vi_arg_digit },                 /* 3 */
                    656:   { ISFUNC, rl_vi_arg_digit },                 /* 4 */
                    657:   { ISFUNC, rl_vi_arg_digit },                 /* 5 */
                    658:   { ISFUNC, rl_vi_arg_digit },                 /* 6 */
                    659:   { ISFUNC, rl_vi_arg_digit },                 /* 7 */
                    660:   { ISFUNC, rl_vi_arg_digit },                 /* 8 */
                    661:   { ISFUNC, rl_vi_arg_digit },                 /* 9 */
                    662: 
                    663:   /* A little more punctuation. */
                    664:   { ISFUNC, (rl_command_func_t *)0x0 },                /* : */
                    665:   { ISFUNC, (rl_command_func_t *)0x0 },                /* ; */
                    666:   { ISFUNC, (rl_command_func_t *)0x0 },                /* < */
                    667:   { ISFUNC, (rl_command_func_t *)0x0 },                /* = */
                    668:   { ISFUNC, (rl_command_func_t *)0x0 },                /* > */
                    669:   { ISFUNC, (rl_command_func_t *)0x0 },                /* ? */
                    670:   { ISFUNC, (rl_command_func_t *)0x0 },                /* @ */
                    671: 
                    672:   /* Uppercase alphabet. */
                    673:   { ISFUNC, rl_do_lowercase_version },         /* A */
                    674:   { ISFUNC, rl_do_lowercase_version },         /* B */
                    675:   { ISFUNC, rl_do_lowercase_version },         /* C */
                    676:   { ISFUNC, rl_do_lowercase_version },         /* D */
                    677:   { ISFUNC, rl_do_lowercase_version },         /* E */
                    678:   { ISFUNC, rl_do_lowercase_version },         /* F */
                    679:   { ISFUNC, rl_do_lowercase_version },         /* G */
                    680:   { ISFUNC, rl_do_lowercase_version },         /* H */
                    681:   { ISFUNC, rl_do_lowercase_version },         /* I */
                    682:   { ISFUNC, rl_do_lowercase_version },         /* J */
                    683:   { ISFUNC, rl_do_lowercase_version },         /* K */
                    684:   { ISFUNC, rl_do_lowercase_version },         /* L */
                    685:   { ISFUNC, rl_do_lowercase_version },         /* M */
                    686:   { ISFUNC, rl_do_lowercase_version },         /* N */
                    687:   { ISFUNC, rl_do_lowercase_version },         /* O */
                    688:   { ISFUNC, rl_do_lowercase_version },         /* P */
                    689:   { ISFUNC, rl_do_lowercase_version },         /* Q */
                    690:   { ISFUNC, rl_do_lowercase_version },         /* R */
                    691:   { ISFUNC, rl_do_lowercase_version },         /* S */
                    692:   { ISFUNC, rl_do_lowercase_version },         /* T */
                    693:   { ISFUNC, rl_do_lowercase_version },         /* U */
                    694:   { ISFUNC, rl_do_lowercase_version },         /* V */
                    695:   { ISFUNC, rl_do_lowercase_version },         /* W */
                    696:   { ISFUNC, rl_do_lowercase_version },         /* X */
                    697:   { ISFUNC, rl_do_lowercase_version },         /* Y */
                    698:   { ISFUNC, rl_do_lowercase_version },         /* Z */
                    699: 
                    700:   /* Some more punctuation. */
                    701:   { ISFUNC, rl_arrow_keys },                   /* [ */
                    702:   { ISFUNC, (rl_command_func_t *)0x0 },                /* \ */
                    703:   { ISFUNC, (rl_command_func_t *)0x0 },                /* ] */
                    704:   { ISFUNC, (rl_command_func_t *)0x0 },                /* ^ */
                    705:   { ISFUNC, (rl_command_func_t *)0x0 },                /* _ */
                    706:   { ISFUNC, (rl_command_func_t *)0x0 },                /* ` */
                    707: 
                    708:   /* Lowercase alphabet. */
                    709:   { ISFUNC, (rl_command_func_t *)0x0 },                /* a */
                    710:   { ISFUNC, (rl_command_func_t *)0x0 },                /* b */
                    711:   { ISFUNC, (rl_command_func_t *)0x0 },                /* c */
                    712:   { ISFUNC, (rl_command_func_t *)0x0 },                /* d */
                    713:   { ISFUNC, (rl_command_func_t *)0x0 },                /* e */
                    714:   { ISFUNC, (rl_command_func_t *)0x0 },                /* f */
                    715:   { ISFUNC, (rl_command_func_t *)0x0 },                /* g */
                    716:   { ISFUNC, (rl_command_func_t *)0x0 },                /* h */
                    717:   { ISFUNC, (rl_command_func_t *)0x0 },                /* i */
                    718:   { ISFUNC, (rl_command_func_t *)0x0 },                /* j */
                    719:   { ISFUNC, (rl_command_func_t *)0x0 },                /* k */
                    720:   { ISFUNC, (rl_command_func_t *)0x0 },                /* l */
                    721:   { ISFUNC, (rl_command_func_t *)0x0 },                /* m */
                    722:   { ISFUNC, (rl_command_func_t *)0x0 },                /* n */
                    723:   { ISFUNC, rl_arrow_keys },                   /* o */
                    724:   { ISFUNC, (rl_command_func_t *)0x0 },                /* p */
                    725:   { ISFUNC, (rl_command_func_t *)0x0 },                /* q */
                    726:   { ISFUNC, (rl_command_func_t *)0x0 },                /* r */
                    727:   { ISFUNC, (rl_command_func_t *)0x0 },                /* s */
                    728:   { ISFUNC, (rl_command_func_t *)0x0 },                /* t */
                    729:   { ISFUNC, (rl_command_func_t *)0x0 },                /* u */
                    730:   { ISFUNC, (rl_command_func_t *)0x0 },                /* v */
                    731:   { ISFUNC, (rl_command_func_t *)0x0 },                /* w */
                    732:   { ISFUNC, (rl_command_func_t *)0x0 },                /* x */
                    733:   { ISFUNC, (rl_command_func_t *)0x0 },                /* y */
                    734:   { ISFUNC, (rl_command_func_t *)0x0 },                /* z */
                    735: 
                    736:   /* Final punctuation. */
                    737:   { ISFUNC, (rl_command_func_t *)0x0 },                /* { */
                    738:   { ISFUNC, (rl_command_func_t *)0x0 },                /* | */
                    739:   { ISFUNC, (rl_command_func_t *)0x0 },                /* } */
                    740:   { ISFUNC, (rl_command_func_t *)0x0 },                /* ~ */
                    741:   { ISFUNC, rl_backward_kill_word },           /* RUBOUT */
                    742: 
                    743: #if KEYMAP_SIZE > 128
                    744:   /* Undefined keys. */
                    745:   { ISFUNC, (rl_command_func_t *)0x0 },
                    746:   { ISFUNC, (rl_command_func_t *)0x0 },
                    747:   { ISFUNC, (rl_command_func_t *)0x0 },
                    748:   { ISFUNC, (rl_command_func_t *)0x0 },
                    749:   { ISFUNC, (rl_command_func_t *)0x0 },
                    750:   { ISFUNC, (rl_command_func_t *)0x0 },
                    751:   { ISFUNC, (rl_command_func_t *)0x0 },
                    752:   { ISFUNC, (rl_command_func_t *)0x0 },
                    753:   { ISFUNC, (rl_command_func_t *)0x0 },
                    754:   { ISFUNC, (rl_command_func_t *)0x0 },
                    755:   { ISFUNC, (rl_command_func_t *)0x0 },
                    756:   { ISFUNC, (rl_command_func_t *)0x0 },
                    757:   { ISFUNC, (rl_command_func_t *)0x0 },
                    758:   { ISFUNC, (rl_command_func_t *)0x0 },
                    759:   { ISFUNC, (rl_command_func_t *)0x0 },
                    760:   { ISFUNC, (rl_command_func_t *)0x0 },
                    761:   { ISFUNC, (rl_command_func_t *)0x0 },
                    762:   { ISFUNC, (rl_command_func_t *)0x0 },
                    763:   { ISFUNC, (rl_command_func_t *)0x0 },
                    764:   { ISFUNC, (rl_command_func_t *)0x0 },
                    765:   { ISFUNC, (rl_command_func_t *)0x0 },
                    766:   { ISFUNC, (rl_command_func_t *)0x0 },
                    767:   { ISFUNC, (rl_command_func_t *)0x0 },
                    768:   { ISFUNC, (rl_command_func_t *)0x0 },
                    769:   { ISFUNC, (rl_command_func_t *)0x0 },
                    770:   { ISFUNC, (rl_command_func_t *)0x0 },
                    771:   { ISFUNC, (rl_command_func_t *)0x0 },
                    772:   { ISFUNC, (rl_command_func_t *)0x0 },
                    773:   { ISFUNC, (rl_command_func_t *)0x0 },
                    774:   { ISFUNC, (rl_command_func_t *)0x0 },
                    775:   { ISFUNC, (rl_command_func_t *)0x0 },
                    776:   { ISFUNC, (rl_command_func_t *)0x0 },
                    777:   { ISFUNC, (rl_command_func_t *)0x0 },
                    778:   { ISFUNC, (rl_command_func_t *)0x0 },
                    779:   { ISFUNC, (rl_command_func_t *)0x0 },
                    780:   { ISFUNC, (rl_command_func_t *)0x0 },
                    781:   { ISFUNC, (rl_command_func_t *)0x0 },
                    782:   { ISFUNC, (rl_command_func_t *)0x0 },
                    783:   { ISFUNC, (rl_command_func_t *)0x0 },
                    784:   { ISFUNC, (rl_command_func_t *)0x0 },
                    785:   { ISFUNC, (rl_command_func_t *)0x0 },
                    786:   { ISFUNC, (rl_command_func_t *)0x0 },
                    787:   { ISFUNC, (rl_command_func_t *)0x0 },
                    788:   { ISFUNC, (rl_command_func_t *)0x0 },
                    789:   { ISFUNC, (rl_command_func_t *)0x0 },
                    790:   { ISFUNC, (rl_command_func_t *)0x0 },
                    791:   { ISFUNC, (rl_command_func_t *)0x0 },
                    792:   { ISFUNC, (rl_command_func_t *)0x0 },
                    793:   { ISFUNC, (rl_command_func_t *)0x0 },
                    794:   { ISFUNC, (rl_command_func_t *)0x0 },
                    795:   { ISFUNC, (rl_command_func_t *)0x0 },
                    796:   { ISFUNC, (rl_command_func_t *)0x0 },
                    797:   { ISFUNC, (rl_command_func_t *)0x0 },
                    798:   { ISFUNC, (rl_command_func_t *)0x0 },
                    799:   { ISFUNC, (rl_command_func_t *)0x0 },
                    800:   { ISFUNC, (rl_command_func_t *)0x0 },
                    801:   { ISFUNC, (rl_command_func_t *)0x0 },
                    802:   { ISFUNC, (rl_command_func_t *)0x0 },
                    803:   { ISFUNC, (rl_command_func_t *)0x0 },
                    804:   { ISFUNC, (rl_command_func_t *)0x0 },
                    805:   { ISFUNC, (rl_command_func_t *)0x0 },
                    806:   { ISFUNC, (rl_command_func_t *)0x0 },
                    807:   { ISFUNC, (rl_command_func_t *)0x0 },
                    808:   { ISFUNC, (rl_command_func_t *)0x0 },
                    809:   { ISFUNC, (rl_command_func_t *)0x0 },
                    810:   { ISFUNC, (rl_command_func_t *)0x0 },
                    811:   { ISFUNC, (rl_command_func_t *)0x0 },
                    812:   { ISFUNC, (rl_command_func_t *)0x0 },
                    813:   { ISFUNC, (rl_command_func_t *)0x0 },
                    814:   { ISFUNC, (rl_command_func_t *)0x0 },
                    815:   { ISFUNC, (rl_command_func_t *)0x0 },
                    816:   { ISFUNC, (rl_command_func_t *)0x0 },
                    817:   { ISFUNC, (rl_command_func_t *)0x0 },
                    818:   { ISFUNC, (rl_command_func_t *)0x0 },
                    819:   { ISFUNC, (rl_command_func_t *)0x0 },
                    820:   { ISFUNC, (rl_command_func_t *)0x0 },
                    821:   { ISFUNC, (rl_command_func_t *)0x0 },
                    822:   { ISFUNC, (rl_command_func_t *)0x0 },
                    823:   { ISFUNC, (rl_command_func_t *)0x0 },
                    824:   { ISFUNC, (rl_command_func_t *)0x0 },
                    825:   { ISFUNC, (rl_command_func_t *)0x0 },
                    826:   { ISFUNC, (rl_command_func_t *)0x0 },
                    827:   { ISFUNC, (rl_command_func_t *)0x0 },
                    828:   { ISFUNC, (rl_command_func_t *)0x0 },
                    829:   { ISFUNC, (rl_command_func_t *)0x0 },
                    830:   { ISFUNC, (rl_command_func_t *)0x0 },
                    831:   { ISFUNC, (rl_command_func_t *)0x0 },
                    832:   { ISFUNC, (rl_command_func_t *)0x0 },
                    833:   { ISFUNC, (rl_command_func_t *)0x0 },
                    834:   { ISFUNC, (rl_command_func_t *)0x0 },
                    835:   { ISFUNC, (rl_command_func_t *)0x0 },
                    836:   { ISFUNC, (rl_command_func_t *)0x0 },
                    837:   { ISFUNC, (rl_command_func_t *)0x0 },
                    838:   { ISFUNC, (rl_command_func_t *)0x0 },
                    839:   { ISFUNC, (rl_command_func_t *)0x0 },
                    840:   { ISFUNC, (rl_command_func_t *)0x0 },
                    841:   { ISFUNC, (rl_command_func_t *)0x0 },
                    842:   { ISFUNC, (rl_command_func_t *)0x0 },
                    843:   { ISFUNC, (rl_command_func_t *)0x0 },
                    844:   { ISFUNC, (rl_command_func_t *)0x0 },
                    845:   { ISFUNC, (rl_command_func_t *)0x0 },
                    846:   { ISFUNC, (rl_command_func_t *)0x0 },
                    847:   { ISFUNC, (rl_command_func_t *)0x0 },
                    848:   { ISFUNC, (rl_command_func_t *)0x0 },
                    849:   { ISFUNC, (rl_command_func_t *)0x0 },
                    850:   { ISFUNC, (rl_command_func_t *)0x0 },
                    851:   { ISFUNC, (rl_command_func_t *)0x0 },
                    852:   { ISFUNC, (rl_command_func_t *)0x0 },
                    853:   { ISFUNC, (rl_command_func_t *)0x0 },
                    854:   { ISFUNC, (rl_command_func_t *)0x0 },
                    855:   { ISFUNC, (rl_command_func_t *)0x0 },
                    856:   { ISFUNC, (rl_command_func_t *)0x0 },
                    857:   { ISFUNC, (rl_command_func_t *)0x0 },
                    858:   { ISFUNC, (rl_command_func_t *)0x0 },
                    859:   { ISFUNC, (rl_command_func_t *)0x0 },
                    860:   { ISFUNC, (rl_command_func_t *)0x0 },
                    861:   { ISFUNC, (rl_command_func_t *)0x0 },
                    862:   { ISFUNC, (rl_command_func_t *)0x0 },
                    863:   { ISFUNC, (rl_command_func_t *)0x0 },
                    864:   { ISFUNC, (rl_command_func_t *)0x0 },
                    865:   { ISFUNC, (rl_command_func_t *)0x0 },
                    866:   { ISFUNC, (rl_command_func_t *)0x0 },
                    867:   { ISFUNC, (rl_command_func_t *)0x0 },
                    868:   { ISFUNC, (rl_command_func_t *)0x0 },
                    869:   { ISFUNC, (rl_command_func_t *)0x0 },
                    870:   { ISFUNC, (rl_command_func_t *)0x0 },
                    871:   { ISFUNC, (rl_command_func_t *)0x0 },
                    872:   { ISFUNC, (rl_command_func_t *)0x0 }
                    873: #endif /* KEYMAP_SIZE > 128 */
                    874: };
                    875: #endif

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>