1 /* vi_keymap.c -- the keymap for vi_mode in readline (). */ 2 3 /* Copyright (C) 1987-2017 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_vi_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_vi_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 876