/* EBIND: Initial default key to function bindings for MicroEMACS 3.7 */ /* * Command table. * This table is *roughly* in ASCII order, left to right across the * characters of the command. This explains the funny location of the * control-X commands. */ KEYTAB keytab[NBINDS] = { {CTRL|'A', gotobol}, {CTRL|'B', backchar}, {CTRL|'C', insspace}, {CTRL|'D', forwdel}, {CTRL|'E', gotoeol}, {CTRL|'F', forwchar}, {CTRL|'G', ctrlg}, {CTRL|'H', backdel}, {CTRL|'I', tab}, {CTRL|'J', indent}, {CTRL|'K', killtext}, {CTRL|'L', refresh}, {CTRL|'M', newline}, {CTRL|'N', forwline}, {CTRL|'O', openline}, {CTRL|'P', backline}, {CTRL|'Q', quote}, {CTRL|'R', backsearch}, {CTRL|'S', forwsearch}, {CTRL|'T', twiddle}, {CTRL|'U', unarg}, {CTRL|'V', forwpage}, {CTRL|'W', killregion}, {CTRL|'X', cex}, {CTRL|'Y', yank}, {CTRL|'Z', backpage}, {CTRL|']', meta}, {CTLX|CTRL|'B', listbuffers}, {CTLX|CTRL|'C', quit}, /* Hard quit. */ #if AEDIT {CTLX|CTRL|'D', detab}, {CTLX|CTRL|'E', entab}, #endif {CTLX|CTRL|'F', filefind}, {CTLX|CTRL|'I', insfile}, {CTLX|CTRL|'L', lowerregion}, {CTLX|CTRL|'M', delmode}, {CTLX|CTRL|'N', mvdnwind}, {CTLX|CTRL|'O', deblank}, {CTLX|CTRL|'P', mvupwind}, {CTLX|CTRL|'R', fileread}, {CTLX|CTRL|'S', filesave}, #if AEDIT {CTLX|CTRL|'T', trim}, #endif {CTLX|CTRL|'U', upperregion}, {CTLX|CTRL|'V', viewfile}, {CTLX|CTRL|'W', filewrite}, {CTLX|CTRL|'X', swapmark}, {CTLX|CTRL|'Z', shrinkwind}, {CTLX|'?', deskey}, {CTLX|'!', spawn}, {CTLX|'@', pipecmd}, {CTLX|'#', filter}, {CTLX|'=', showcpos}, {CTLX|'(', ctlxlp}, {CTLX|')', ctlxrp}, {CTLX|'^', enlargewind}, {CTLX|'0', delwind}, {CTLX|'1', onlywind}, {CTLX|'2', splitwind}, {CTLX|'A', setvar}, {CTLX|'B', usebuffer}, {CTLX|'C', spawncli}, #if BSD {CTLX|'D', bktoshell}, #endif {CTLX|'E', ctlxe}, {CTLX|'F', setfillcol}, {CTLX|'K', killbuffer}, {CTLX|'M', setmode}, {CTLX|'N', filename}, {CTLX|'O', nextwind}, {CTLX|'P', prevwind}, #if ISRCH {CTLX|'R', risearch}, {CTLX|'S', fisearch}, #endif {CTLX|'W', resize}, {CTLX|'X', nextbuffer}, {CTLX|'Z', enlargewind}, #if WORDPRO {META|CTRL|'C', wordcount}, #endif #if PROC {META|CTRL|'E', execproc}, #endif #if CFENCE {META|CTRL|'F', getfence}, #endif {META|CTRL|'H', delbword}, {META|CTRL|'K', unbindkey}, {META|CTRL|'L', reposition}, {META|CTRL|'M', delgmode}, {META|CTRL|'N', namebuffer}, {META|CTRL|'R', qreplace}, {META|CTRL|'S', newsize}, {META|CTRL|'T', newwidth}, {META|CTRL|'V', scrnextdw}, #if WORDPRO {META|CTRL|'W', killpara}, #endif {META|CTRL|'Z', scrnextup}, {META|' ', setmark}, {META|'?', help}, {META|'!', reposition}, {META|'.', setmark}, {META|'>', gotoeob}, {META|'<', gotobob}, {META|'~', unmark}, #if APROP {META|'A', apro}, #endif {META|'B', backword}, {META|'C', capword}, {META|'D', delfword}, #if CRYPT {META|'E', setkey}, #endif {META|'F', forwword}, {META|'G', gotoline}, {META|'K', bindtokey}, {META|'L', lowerword}, {META|'M', setgmode}, #if WORDPRO {META|'N', gotoeop}, {META|'P', gotobop}, {META|'Q', fillpara}, #endif {META|'R', sreplace}, #if BSD {META|'S', bktoshell}, #endif {META|'U', upperword}, {META|'V', backpage}, {META|'W', copyregion}, {META|'X', namedcmd}, {META|'Z', quickexit}, {META|0x7F, delbword}, #if NeWS {SPEC|0, setcursor}, /* mouse support */ {SPEC|1, newsadjustmode},/* quiet mode setting */ /* top fkeys */ {SPEC|96, filefind}, {SPEC|97, fileread}, {SPEC|98, insfile}, {SPEC|99, viewfile}, {SPEC|100, filesave}, {SPEC|101, filewrite}, {SPEC|102, filename}, {SPEC|103, copyregion}, {SPEC|104, unarg}, /* right function keys */ {SPEC|80, backpage}, {SPEC|81, gotobob}, {SPEC|82, risearch}, {SPEC|83, forwpage}, {SPEC|84, gotoeob}, {SPEC|85, fisearch}, {SPEC|86, gotobol}, {SPEC|87, backline}, {SPEC|88, gotoeol}, {SPEC|89, backchar}, {SPEC|90, setmark}, {SPEC|91, forwchar}, {SPEC|92, backword}, {SPEC|93, forwline}, {SPEC|94, forwword}, #endif #if MSDOS & (HP150 == 0) & (WANGPC == 0) & (HP110 == 0) {SPEC|CTRL|'_', forwhunt}, {SPEC|CTRL|'S', backhunt}, {SPEC|71, gotobob}, {SPEC|72, backline}, {SPEC|73, backpage}, {SPEC|75, backchar}, {SPEC|77, forwchar}, {SPEC|79, gotoeob}, {SPEC|80, forwline}, {SPEC|81, forwpage}, {SPEC|82, insspace}, {SPEC|83, forwdel}, {SPEC|115, backword}, {SPEC|116, forwword}, #if WORDPRO {SPEC|132, gotobop}, {SPEC|118, gotoeop}, #endif {SPEC|84, cbuf1}, {SPEC|85, cbuf2}, {SPEC|86, cbuf3}, {SPEC|87, cbuf4}, {SPEC|88, cbuf5}, {SPEC|89, cbuf6}, {SPEC|90, cbuf7}, {SPEC|91, cbuf8}, {SPEC|92, cbuf9}, {SPEC|93, cbuf10}, #endif #if HP150 {SPEC|32, backline}, {SPEC|33, forwline}, {SPEC|35, backchar}, {SPEC|34, forwchar}, {SPEC|44, gotobob}, {SPEC|46, forwpage}, {SPEC|47, backpage}, {SPEC|82, nextwind}, {SPEC|68, openline}, {SPEC|69, killtext}, {SPEC|65, forwdel}, {SPEC|64, ctlxe}, {SPEC|67, refresh}, {SPEC|66, reposition}, {SPEC|83, help}, {SPEC|81, deskey}, #endif #if HP110 {SPEC|0x4b, backchar}, {SPEC|0x4d, forwchar}, {SPEC|0x48, backline}, {SPEC|0x50, forwline}, {SPEC|0x43, help}, {SPEC|0x73, backword}, {SPEC|0x74, forwword}, {SPEC|0x49, backpage}, {SPEC|0x51, forwpage}, {SPEC|84, cbuf1}, {SPEC|85, cbuf2}, {SPEC|86, cbuf3}, {SPEC|87, cbuf4}, {SPEC|88, cbuf5}, {SPEC|89, cbuf6}, {SPEC|90, cbuf7}, {SPEC|91, cbuf8}, #endif #if AMIGA {SPEC|'?', help}, {SPEC|'A', backline}, {SPEC|'B', forwline}, {SPEC|'C', forwchar}, {SPEC|'D', backchar}, {SPEC|'T', backpage}, {SPEC|'S', forwpage}, {SPEC|'a', backword}, {SPEC|'`', forwword}, {SPEC|'P', cbuf1}, {SPEC|'Q', cbuf2}, {SPEC|'R', cbuf3}, {SPEC|'S', cbuf4}, {SPEC|'T', cbuf5}, {SPEC|'U', cbuf6}, {SPEC|'V', cbuf7}, {SPEC|'W', cbuf8}, {SPEC|'X', cbuf9}, {SPEC|'Y', cbuf10}, {127, forwdel}, #endif #if ST520 {SPEC|'b', help}, {SPEC|'H', backline}, {SPEC|'P', forwline}, {SPEC|'M', forwchar}, {SPEC|'K', backchar}, {SPEC|'t', setmark}, {SPEC|'a', yank}, {SPEC|'R', insspace}, {SPEC|'G', gotobob}, {127, forwdel}, {SPEC|84, cbuf1}, {SPEC|85, cbuf2}, {SPEC|86, cbuf3}, {SPEC|87, cbuf4}, {SPEC|88, cbuf5}, {SPEC|89, cbuf6}, {SPEC|90, cbuf7}, {SPEC|91, cbuf8}, {SPEC|92, cbuf9}, {SPEC|93, cbuf10}, #endif #if WANGPC SPEC|0xE0, quit, /* Cancel */ SPEC|0xE1, help, /* Help */ SPEC|0xF1, help, /* ^Help */ SPEC|0xE3, ctrlg, /* Print */ SPEC|0xF3, ctrlg, /* ^Print */ SPEC|0xC0, backline, /* North */ SPEC|0xD0, gotobob, /* ^North */ SPEC|0xC1, forwchar, /* East */ SPEC|0xD1, gotoeol, /* ^East */ SPEC|0xC2, forwline, /* South */ SPEC|0xD2, gotobop, /* ^South */ SPEC|0xC3, backchar, /* West */ SPEC|0xD3, gotobol, /* ^West */ SPEC|0xC4, ctrlg, /* Home */ SPEC|0xD4, gotobob, /* ^Home */ SPEC|0xC5, filesave, /* Execute */ SPEC|0xD5, ctrlg, /* ^Execute */ SPEC|0xC6, insfile, /* Insert */ SPEC|0xD6, ctrlg, /* ^Insert */ SPEC|0xC7, forwdel, /* Delete */ SPEC|0xD7, killregion, /* ^Delete */ SPEC|0xC8, backpage, /* Previous */ SPEC|0xD8, prevwind, /* ^Previous */ SPEC|0xC9, forwpage, /* Next */ SPEC|0xD9, nextwind, /* ^Next */ SPEC|0xCB, ctrlg, /* Erase */ SPEC|0xDB, ctrlg, /* ^Erase */ SPEC|0xDC, ctrlg, /* ^Tab */ SPEC|0xCD, ctrlg, /* BackTab */ SPEC|0xDD, ctrlg, /* ^BackTab */ SPEC|0x80, ctrlg, /* Indent */ SPEC|0x90, ctrlg, /* ^Indent */ SPEC|0x81, ctrlg, /* Page */ SPEC|0x91, ctrlg, /* ^Page */ SPEC|0x82, ctrlg, /* Center */ SPEC|0x92, ctrlg, /* ^Center */ SPEC|0x83, ctrlg, /* DecTab */ SPEC|0x93, ctrlg, /* ^DecTab */ SPEC|0x84, ctrlg, /* Format */ SPEC|0x94, ctrlg, /* ^Format */ SPEC|0x85, ctrlg, /* Merge */ SPEC|0x95, ctrlg, /* ^Merge */ SPEC|0x86, setmark, /* Note */ SPEC|0x96, ctrlg, /* ^Note */ SPEC|0x87, ctrlg, /* Stop */ SPEC|0x97, ctrlg, /* ^Stop */ SPEC|0x88, forwsearch, /* Srch */ SPEC|0x98, backsearch, /* ^Srch */ SPEC|0x89, sreplace, /* Replac */ SPEC|0x99, qreplace, /* ^Replac */ SPEC|0x8A, ctrlg, /* Copy */ SPEC|0x9A, ctrlg, /* ^Copy */ SPEC|0x8B, ctrlg, /* Move */ SPEC|0x9B, ctrlg, /* ^Move */ SPEC|0x8C, namedcmd, /* Command */ SPEC|0x9C, spawn, /* ^Command */ SPEC|0x8D, ctrlg, /* ^ */ SPEC|0x9D, ctrlg, /* ^^ */ SPEC|0x8E, ctrlg, /* Blank */ SPEC|0x9E, ctrlg, /* ^Blank */ SPEC|0x8F, gotoline, /* GoTo */ SPEC|0x9F, usebuffer, /* ^GoTo */ #endif {0x7F, backdel}, /* special internal bindings */ SPEC|META|'W', wrapword, /* called on word wrap */ SPEC|META|'C', nullproc, /* every command input */ SPEC|META|'R', nullproc, /* on file read */ {0, NULL} }; #if RAINBOW #include "rainbow.h" /* * Mapping table from the LK201 function keys to the internal EMACS character. */ short lk_map[][2] = { Up_Key, CTRL+'P', Down_Key, CTRL+'N', Left_Key, CTRL+'B', Right_Key, CTRL+'F', Shift+Left_Key, META+'B', Shift+Right_Key, META+'F', Control+Left_Key, CTRL+'A', Control+Right_Key, CTRL+'E', Prev_Scr_Key, META+'V', Next_Scr_Key, CTRL+'V', Shift+Up_Key, META+'<', Shift+Down_Key, META+'>', Cancel_Key, CTRL+'G', Find_Key, CTRL+'S', Shift+Find_Key, CTRL+'R', Insert_Key, CTRL+'Y', Options_Key, CTRL+'D', Shift+Options_Key, META+'D', Remove_Key, CTRL+'W', Shift+Remove_Key, META+'W', Select_Key, CTRL+'@', Shift+Select_Key, CTLX+CTRL+'X', Interrupt_Key, CTRL+'U', Keypad_PF2, META+'L', Keypad_PF3, META+'C', Keypad_PF4, META+'U', Shift+Keypad_PF2, CTLX+CTRL+'L', Shift+Keypad_PF4, CTLX+CTRL+'U', Keypad_1, CTLX+'1', Keypad_2, CTLX+'2', Do_Key, CTLX+'E', Keypad_4, CTLX+CTRL+'B', Keypad_5, CTLX+'B', Keypad_6, CTLX+'K', Resume_Key, META+'!', Control+Next_Scr_Key, CTLX+'N', Control+Prev_Scr_Key, CTLX+'P', Control+Up_Key, CTLX+CTRL+'P', Control+Down_Key, CTLX+CTRL+'N', Help_Key, CTLX+'=', Shift+Do_Key, CTLX+'(', Control+Do_Key, CTLX+')', Keypad_0, CTLX+'Z', Shift+Keypad_0, CTLX+CTRL+'Z', Main_Scr_Key, CTRL+'C', Keypad_Enter, CTLX+'!', Exit_Key, CTLX+CTRL+'C', Shift+Exit_Key, CTRL+'Z' }; #define lk_map_size (sizeof(lk_map)/2) #endif