1 /* EBIND: Initial default key to function bindings for 2 MicroEMACS 4.00 3 */ 4 5 /* 6 * Command table. 7 * This table is *roughly* in ASCII order, left to right across the 8 * characters of the command. It is being searched sequentially for 9 * keystrokes and the &bind function. Thus I am placing more frequent 10 * keys at the top . . . 11 */ 12 NOSHARE KEYTAB keytab[NBINDS] = { 13 14 #if MOUSE 15 {MOUS|'m', BINDFNC, mmove}, 16 {MOUS|CTRL|'m', BINDFNC, mmove}, 17 {MOUS|SHFT|'m', BINDFNC, mmove}, 18 {MOUS|CTRL|SHFT|'m', BINDFNC, mmove}, 19 {MOUS|'a', BINDFNC, movemd}, 20 {MOUS|'b', BINDFNC, movemu}, 21 {MOUS|'e', BINDFNC, mregdown}, 22 {MOUS|'f', BINDFNC, mregup}, 23 {MOUS|'1', BINDFNC, resizm}, 24 #endif 25 26 {CTRL|'A', BINDFNC, gotobol}, 27 {CTRL|'B', BINDFNC, backchar}, 28 {CTRL|'C', BINDFNC, insspace}, 29 {CTRL|'D', BINDFNC, forwdel}, 30 {CTRL|'E', BINDFNC, gotoeol}, 31 {CTRL|'F', BINDFNC, forwchar}, 32 {CTRL|'G', BINDFNC, ctrlg}, 33 {CTRL|'H', BINDFNC, backdel}, 34 {CTRL|'I', BINDFNC, tab}, 35 {CTRL|'J', BINDFNC, indent}, 36 {CTRL|'K', BINDFNC, killtext}, 37 {CTRL|'L', BINDFNC, refresh}, 38 {CTRL|'M', BINDFNC, newline}, 39 {CTRL|'N', BINDFNC, forwline}, 40 {CTRL|'O', BINDFNC, openline}, 41 {CTRL|'P', BINDFNC, backline}, 42 {CTRL|'Q', BINDFNC, quote}, 43 {CTRL|'R', BINDFNC, backsearch}, 44 {CTRL|'S', BINDFNC, forwsearch}, 45 {CTRL|'T', BINDFNC, twiddle}, 46 {CTRL|'U', BINDFNC, unarg}, 47 {CTRL|'V', BINDFNC, forwpage}, 48 {CTRL|'W', BINDFNC, killregion}, 49 {CTRL|'X', BINDFNC, cex}, 50 {CTRL|'Y', BINDFNC, yank}, 51 {CTRL|'Z', BINDFNC, backpage}, 52 {CTRL|'[', BINDFNC, meta}, 53 {CTRL|'\\', BINDFNC, forwsearch}, 54 {CTRL|'^', BINDFNC, quote}, 55 {CTRL|'_', BINDFNC, undo}, 56 {CTLX|CTRL|'A', BINDFNC, fileapp}, 57 {CTLX|CTRL|'B', BINDFNC, listbuffers}, 58 {CTLX|CTRL|'C', BINDFNC, quit}, 59 {CTLX|CTRL|'D', BINDFNC, detab}, 60 {CTLX|CTRL|'E', BINDFNC, entab}, 61 {CTLX|CTRL|'F', BINDFNC, filefind}, 62 {CTLX|CTRL|'I', BINDFNC, insfile}, 63 {CTLX|CTRL|'K', BINDFNC, macrotokey}, 64 {CTLX|CTRL|'L', BINDFNC, lowerregion}, 65 {CTLX|CTRL|'M', BINDFNC, delmode}, 66 {CTLX|CTRL|'N', BINDFNC, mvdnwind}, 67 {CTLX|CTRL|'O', BINDFNC, deblank}, 68 {CTLX|CTRL|'P', BINDFNC, mvupwind}, 69 {CTLX|CTRL|'R', BINDFNC, fileread}, 70 {CTLX|CTRL|'S', BINDFNC, filesave}, 71 {CTLX|CTRL|'T', BINDFNC, trim}, 72 {CTLX|CTRL|'U', BINDFNC, upperregion}, 73 {CTLX|CTRL|'V', BINDFNC, viewfile}, 74 {CTLX|CTRL|'W', BINDFNC, filewrite}, 75 {CTLX|CTRL|'X', BINDFNC, swapmark}, 76 {CTLX|CTRL|'Z', BINDFNC, shrinkwind}, 77 {CTLX|CTRL|'\\', BINDFNC, filesave}, 78 {CTLX|'?', BINDFNC, deskey}, 79 {CTLX|'!', BINDFNC, spawn}, 80 {CTLX|'@', BINDFNC, pipecmd}, 81 {CTLX|'#', BINDFNC, filter}, 82 {CTLX|'$', BINDFNC, execprg}, 83 {CTLX|'=', BINDFNC, showcpos}, 84 {CTLX|'(', BINDFNC, ctlxlp}, 85 {CTLX|')', BINDFNC, ctlxrp}, 86 {CTLX|'<', BINDFNC, narrow}, 87 {CTLX|'>', BINDFNC, widen}, 88 {CTLX|'^', BINDFNC, enlargewind}, 89 {CTLX|' ', BINDFNC, remmark}, 90 {CTLX|'0', BINDFNC, delwind}, 91 {CTLX|'1', BINDFNC, onlywind}, 92 {CTLX|'2', BINDFNC, splitwind}, 93 {CTLX|'A', BINDFNC, setvar}, 94 {CTLX|'B', BINDFNC, usebuffer}, 95 {CTLX|'C', BINDFNC, spawncli}, 96 #if BSD || FREEBSD || VMS || SUN || HPUX8 || HPUX9 || AVIION 97 {CTLX|'D', BINDFNC, bktoshell}, 98 #endif 99 {CTLX|'E', BINDFNC, ctlxe}, 100 {CTLX|'G', BINDFNC, dispvar}, 101 {CTLX|'K', BINDFNC, killbuffer}, 102 {CTLX|'M', BINDFNC, setmod}, 103 {CTLX|'N', BINDFNC, filename}, 104 {CTLX|'O', BINDFNC, nextwind}, 105 {CTLX|'P', BINDFNC, prevwind}, 106 #if ISRCH 107 {CTLX|'R', BINDFNC, risearch}, 108 {CTLX|'S', BINDFNC, fisearch}, 109 #endif 110 {CTLX|'U', BINDFNC, undo_list}, 111 {CTLX|'W', BINDFNC, resize}, 112 {CTLX|'X', BINDFNC, nextbuffer}, 113 {CTLX|'Y', BINDFNC, cycle_ring}, 114 {CTLX|'Z', BINDFNC, enlargewind}, 115 {META|CTRL|'C', BINDFNC, wordcount}, 116 {META|CTRL|'E', BINDFNC, execproc}, 117 {META|CTRL|'F', BINDFNC, getfence}, 118 {META|CTRL|'G', BINDFNC, gotomark}, 119 {META|CTRL|'H', BINDFNC, delbword}, 120 {META|CTRL|'K', BINDFNC, unbindkey}, 121 {META|CTRL|'L', BINDFNC, reposition}, 122 {META|CTRL|'M', BINDFNC, delgmode}, 123 {META|CTRL|'N', BINDFNC, namebuffer}, 124 {META|CTRL|'R', BINDFNC, qreplace}, 125 {META|CTRL|'S', BINDFNC, execfile}, 126 {META|CTRL|'V', BINDFNC, nextdown}, 127 {META|CTRL|'U', BINDFNC, undo_delete}, 128 {META|CTRL|'W', BINDFNC, killpara}, 129 {META|CTRL|'X', BINDFNC, execcmd}, 130 {META|CTRL|'Y', BINDFNC, clear_ring}, 131 {META|CTRL|'Z', BINDFNC, nextup}, 132 {META|CTRL|'\\', BINDFNC, execfile}, 133 {META|' ', BINDFNC, setmark}, 134 {META|'?', BINDFNC, help}, 135 {META|'!', BINDFNC, reposition}, 136 {META|')', BINDFNC, indent_region}, 137 {META|'(', BINDFNC, undent_region}, 138 {META|'.', BINDFNC, setmark}, 139 {META|'>', BINDFNC, gotoeob}, 140 {META|'<', BINDFNC, gotobob}, 141 {META|'~', BINDFNC, unmark}, 142 {META|'A', BINDFNC, apro}, 143 {META|'B', BINDFNC, backword}, 144 {META|'C', BINDFNC, capword}, 145 {META|'D', BINDFNC, delfword}, 146 #if CRYPT 147 {META|'E', BINDFNC, setekey}, 148 #endif 149 {META|'F', BINDFNC, forwword}, 150 {META|'G', BINDFNC, gotoline}, 151 {META|'K', BINDFNC, bindtokey}, 152 {META|'L', BINDFNC, lowerword}, 153 {META|'M', BINDFNC, setgmode}, 154 {META|'N', BINDFNC, gotoeop}, 155 {META|'P', BINDFNC, gotobop}, 156 {META|'Q', BINDFNC, fillpara}, 157 {META|'R', BINDFNC, sreplace}, 158 #if BSD || FREEBSD || HPUX8 || HPUX9 || VMS || SUN || AVIION 159 {META|'S', BINDFNC, bktoshell}, 160 #endif 161 {META|'U', BINDFNC, upperword}, 162 {META|'V', BINDFNC, backpage}, 163 {META|'W', BINDFNC, copyregion}, 164 {META|'X', BINDFNC, namedcmd}, 165 {META|'Y', BINDFNC, yank_pop}, 166 {META|'Z', BINDFNC, quickexit}, 167 /* {META|CTRL|'?', BINDFNC, delbword}, ??? */ 168 169 {ALTD|'B', BINDFNC, list_screens}, 170 {ALTD|'C', BINDFNC, cycle_screens}, 171 {ALTD|'D', BINDFNC, delete_screen}, 172 {ALTD|'F', BINDFNC, find_screen}, 173 {ALTD|'N', BINDFNC, rename_screen}, 174 {ALTD|'R', BINDFNC, backhunt}, 175 {ALTD|'S', BINDFNC, forwhunt}, 176 177 {SPEC|'<', BINDFNC, gotobob}, /* Home */ 178 {SPEC|'P', BINDFNC, backline}, /* up */ 179 {SPEC|'Z', BINDFNC, backpage}, /* PgUp */ 180 {SPEC|'B', BINDFNC, backchar}, /* left */ 181 182 {SPEC|'L', BINDFNC, reposition}, /* NP5 */ 183 184 {SPEC|'F', BINDFNC, forwchar}, /* right */ 185 {SPEC|'>', BINDFNC, gotoeob}, /* End */ 186 {SPEC|'N', BINDFNC, forwline}, /* down */ 187 {SPEC|'V', BINDFNC, forwpage}, /* PgDn */ 188 {SPEC|'C', BINDFNC, insspace}, /* Ins */ 189 {SPEC|'D', BINDFNC, forwdel}, /* Del */ 190 191 {SPEC|CTRL|'B', BINDFNC, backword}, /* ctrl left */ 192 {SPEC|CTRL|'F', BINDFNC, forwword}, /* ctrl right */ 193 {SPEC|CTRL|'Z', BINDFNC, gotobop}, /* ctrl PgUp */ 194 {SPEC|CTRL|'V', BINDFNC, gotoeop}, /* ctrl PgDn */ 195 196 #if WINDOW_MSWIN /* IBM-CUA clipboard bindings */ 197 {SPEC|CTRL|'C', BINDFNC, clipregion}, /* ctrl Ins */ 198 {SPEC|SHFT|'C', BINDFNC, insertclip}, /* shift Ins */ 199 {SPEC|SHFT|'D', BINDFNC, cutregion}, /* shift Del */ 200 #endif 201 202 #if ATKBD | OS2 203 204 /* The following keys are some of the extra ones that can be returned by an 205 AT-style keyboard. By default we bind them to the same functions as the 206 equivalent PC keys. However they, and the ones not mentioned here, are 207 available to the user for rebinding to functions of choice. 208 209 See keyboard.c for a full list of available keys. 210 */ 211 {SPEC|'a', BINDFNC, gotobob}, /* grey Home */ 212 {SPEC|'b', BINDFNC, backline}, /* grey up */ 213 {SPEC|'c', BINDFNC, backpage}, /* grey PgUp */ 214 {SPEC|'d', BINDFNC, backchar}, /* grey left */ 215 {SPEC|'e', BINDFNC, reposition}, /* grey center */ 216 {SPEC|'f', BINDFNC, forwchar}, /* grey right */ 217 {SPEC|'g', BINDFNC, gotoeob}, /* grey End */ 218 {SPEC|'h', BINDFNC, forwline}, /* grey down */ 219 {SPEC|'i', BINDFNC, forwpage}, /* grey PgDn */ 220 {SPEC|'j', BINDFNC, insspace}, /* grey Ins */ 221 {SPEC|'k', BINDFNC, forwdel}, /* grey Del */ 222 {SPEC|':', BINDFNC, execcmd}, /* pause */ 223 224 {SPEC|CTRL|'c', BINDFNC, gotobop}, /* ctrl grey PgUp */ 225 {SPEC|CTRL|'d', BINDFNC, backword}, /* ctrl grey left */ 226 {SPEC|CTRL|'f', BINDFNC, forwword}, /* ctrl grey right */ 227 {SPEC|CTRL|'i', BINDFNC, gotoeop}, /* ctrl grey PgDn */ 228 229 #endif 230 231 #if HP150 232 {SPEC|32, BINDFNC, backline}, 233 {SPEC|33, BINDFNC, forwline}, 234 {SPEC|35, BINDFNC, backchar}, 235 {SPEC|34, BINDFNC, forwchar}, 236 {SPEC|44, BINDFNC, gotobob}, 237 {SPEC|46, BINDFNC, forwpage}, 238 {SPEC|47, BINDFNC, backpage}, 239 {SPEC|82, BINDFNC, nextwind}, 240 {SPEC|68, BINDFNC, openline}, 241 {SPEC|69, BINDFNC, killtext}, 242 {SPEC|65, BINDFNC, forwdel}, 243 {SPEC|64, BINDFNC, ctlxe}, 244 {SPEC|67, BINDFNC, refresh}, 245 {SPEC|66, BINDFNC, reposition}, 246 {SPEC|83, BINDFNC, help}, 247 {SPEC|81, BINDFNC, deskey}, 248 #endif 249 250 #if HP110 251 {SPEC|0x4b, BINDFNC, backchar}, 252 {SPEC|0x4d, BINDFNC, forwchar}, 253 {SPEC|0x48, BINDFNC, backline}, 254 {SPEC|0x50, BINDFNC, forwline}, 255 {SPEC|0x43, BINDFNC, help}, 256 {SPEC|0x73, BINDFNC, backword}, 257 {SPEC|0x74, BINDFNC, forwword}, 258 {SPEC|0x49, BINDFNC, backpage}, 259 {SPEC|0x51, BINDFNC, forwpage}, 260 #endif 261 262 #if AMIGA 263 {SPEC|'?', BINDFNC, help}, 264 {SPEC|'A', BINDFNC, backline}, 265 {SPEC|'B', BINDFNC, forwline}, 266 {SPEC|'C', BINDFNC, forwchar}, 267 {SPEC|'D', BINDFNC, backchar}, 268 {SPEC|'T', BINDFNC, backpage}, 269 {SPEC|'S', BINDFNC, forwpage}, 270 {SPEC|'a', BINDFNC, backword}, 271 {SPEC|'`', BINDFNC, forwword}, 272 {127, BINDFNC, forwdel}, 273 #endif 274 275 #if TOS 276 {SPEC|CTRL|'5', BINDFNC, help}, 277 #endif 278 279 #if WANGPC 280 SPEC|0xE0, BINDFNC, quit, /* Cancel */ 281 SPEC|0xE1, BINDFNC, help, /* Help */ 282 SPEC|0xF1, BINDFNC, help, /* ^Help */ 283 SPEC|0xE3, BINDFNC, ctrlg, /* Print */ 284 SPEC|0xF3, BINDFNC, ctrlg, /* ^Print */ 285 SPEC|0xC0, BINDFNC, backline, /* North */ 286 SPEC|0xD0, BINDFNC, gotobob, /* ^North */ 287 SPEC|0xC1, BINDFNC, forwchar, /* East */ 288 SPEC|0xD1, BINDFNC, gotoeol, /* ^East */ 289 SPEC|0xC2, BINDFNC, forwline, /* South */ 290 SPEC|0xD2, BINDFNC, gotobop, /* ^South */ 291 SPEC|0xC3, BINDFNC, backchar, /* West */ 292 SPEC|0xD3, BINDFNC, gotobol, /* ^West */ 293 SPEC|0xC4, BINDFNC, ctrlg, /* Home */ 294 SPEC|0xD4, BINDFNC, gotobob, /* ^Home */ 295 SPEC|0xC5, BINDFNC, filesave, /* Execute */ 296 SPEC|0xD5, BINDFNC, ctrlg, /* ^Execute */ 297 SPEC|0xC6, BINDFNC, insfile, /* Insert */ 298 SPEC|0xD6, BINDFNC, ctrlg, /* ^Insert */ 299 SPEC|0xC7, BINDFNC, forwdel, /* Delete */ 300 SPEC|0xD7, BINDFNC, killregion, /* ^Delete */ 301 SPEC|0xC8, BINDFNC, backpage, /* Previous */ 302 SPEC|0xD8, BINDFNC, prevwind, /* ^Previous */ 303 SPEC|0xC9, BINDFNC, forwpage, /* Next */ 304 SPEC|0xD9, BINDFNC, nextwind, /* ^Next */ 305 SPEC|0xCB, BINDFNC, ctrlg, /* Erase */ 306 SPEC|0xDB, BINDFNC, ctrlg, /* ^Erase */ 307 SPEC|0xDC, BINDFNC, ctrlg, /* ^Tab */ 308 SPEC|0xCD, BINDFNC, ctrlg, /* BackTab */ 309 SPEC|0xDD, BINDFNC, ctrlg, /* ^BackTab */ 310 SPEC|0x80, BINDFNC, ctrlg, /* Indent */ 311 SPEC|0x90, BINDFNC, ctrlg, /* ^Indent */ 312 SPEC|0x81, BINDFNC, ctrlg, /* Page */ 313 SPEC|0x91, BINDFNC, ctrlg, /* ^Page */ 314 SPEC|0x82, BINDFNC, ctrlg, /* Center */ 315 SPEC|0x92, BINDFNC, ctrlg, /* ^Center */ 316 SPEC|0x83, BINDFNC, ctrlg, /* DecTab */ 317 SPEC|0x93, BINDFNC, ctrlg, /* ^DecTab */ 318 SPEC|0x84, BINDFNC, ctrlg, /* Format */ 319 SPEC|0x94, BINDFNC, ctrlg, /* ^Format */ 320 SPEC|0x85, BINDFNC, ctrlg, /* Merge */ 321 SPEC|0x95, BINDFNC, ctrlg, /* ^Merge */ 322 SPEC|0x86, BINDFNC, setmark, /* Note */ 323 SPEC|0x96, BINDFNC, ctrlg, /* ^Note */ 324 SPEC|0x87, BINDFNC, ctrlg, /* Stop */ 325 SPEC|0x97, BINDFNC, ctrlg, /* ^Stop */ 326 SPEC|0x88, BINDFNC, forwsearch, /* Srch */ 327 SPEC|0x98, BINDFNC, backsearch, /* ^Srch */ 328 SPEC|0x89, BINDFNC, sreplace, /* Replac */ 329 SPEC|0x99, BINDFNC, qreplace, /* ^Replac */ 330 SPEC|0x8A, BINDFNC, ctrlg, /* Copy */ 331 SPEC|0x9A, BINDFNC, ctrlg, /* ^Copy */ 332 SPEC|0x8B, BINDFNC, ctrlg, /* Move */ 333 SPEC|0x9B, BINDFNC, ctrlg, /* ^Move */ 334 SPEC|0x8C, BINDFNC, namedcmd, /* Command */ 335 SPEC|0x9C, BINDFNC, spawn, /* ^Command */ 336 SPEC|0x8D, BINDFNC, ctrlg, /* ^ */ 337 SPEC|0x9D, BINDFNC, ctrlg, /* ^^ */ 338 SPEC|0x8E, BINDFNC, ctrlg, /* Blank */ 339 SPEC|0x9E, BINDFNC, ctrlg, /* ^Blank */ 340 SPEC|0x8F, BINDFNC, gotoline, /* GoTo */ 341 SPEC|0x9F, BINDFNC, usebuffer, /* ^GoTo */ 342 #endif 343 344 {CTRL|'?', BINDFNC, backdel}, 345 346 {0, BINDNUL, NULL} 347 }; 348