Mercurial > hg > Members > kono > nitros9-code
view 3rdparty/packages/uemacs/uemain.h @ 3215:195c09cade21
Updated MMC Driver makefile so it will have place holders for
dsk, dskclean, and dskcopy so that make does not error out when
chaining into the driver tree to build disk images where applicable.
author | David Ladd <drencor-xeen@users.sourceforge.net> |
---|---|
date | Wed, 20 Dec 2017 16:07:36 -0600 |
parents | a51439f6b206 |
children |
line wrap: on
line source
/* Main header */ #ifdef MAINTABLE int currow; /* Working cursor row */ int curcol; /* Working cursor column */ int fillcol; /* Current fill column */ int thisflag; /* Flags, this command */ int lastflag; /* Flags, last command */ int curgoal; /* Goal column */ BUFFER *curbp; /* Current buffer */ WINDOW *curwp; /* Current window */ BUFFER *bheadp; /* BUFFER listhead */ WINDOW *wheadp; /* WINDOW listhead */ BUFFER *blistp; /* Buffer list BUFFER */ short kbdm[NKBDM] = {CTLX|')'}; /* Macro */ short *kbdmip; /* Input for above */ short *kbdmop; /* Output for above */ char pat[NPAT]; /* Pattern */ #else extern int currow; /* Working cursor row */ extern int curcol; /* Working cursor column */ extern int fillcol; /* Current fill column */ extern int thisflag; /* Flags, this command */ extern int lastflag; /* Flags, last command */ extern int curgoal; /* Goal column */ extern BUFFER *curbp; /* Current buffer */ extern WINDOW *curwp; /* Current window */ extern BUFFER *bheadp; /* BUFFER listhead */ extern WINDOW *wheadp; /* WINDOW listhead */ extern BUFFER *blistp; /* Buffer list BUFFER */ extern short kbdm[]; /* Macro */ extern short *kbdmip; /* Input for above */ extern short *kbdmop; /* Output for above */ extern char pat[]; /* Pattern */ #endif typedef struct { short k_code; /* Key code */ int (*k_fp)(); /* Routine to handle it */ } KEYTAB; /* * Command table. * This table is *roughly* in ASCII order, left to right across the * characters of the command. This expains the funny location of the * control-X commands. */ #ifdef MAINTABLE extern int ctrlg(); /* Abort out of things */ extern int quit(); /* Quit */ extern int ctlxlp(); /* Begin macro */ extern int ctlxrp(); /* End macro */ extern int ctlxe(); /* Execute macro */ extern int fileread(); /* Get a file, read only */ extern int filevisit(); /* Get a file, read write */ extern int filewrite(); /* Write a file */ extern int filesave(); /* Save current file */ extern int filename(); /* Adjust file name */ extern int getccol(); /* Get current column */ extern int gotobol(); /* Move to start of line */ extern int forwchar(); /* Move forward by characters */ extern int gotoeol(); /* Move to end of line */ extern int backchar(); /* Move backward by characters */ extern int forwline(); /* Move forward by lines */ extern int backline(); /* Move backward by lines */ extern int forwpage(); /* Move forward by pages */ extern int backpage(); /* Move backward by pages */ extern int gotobob(); /* Move to start of buffer */ extern int gotoeob(); /* Move to end of buffer */ extern int setfillcol(); /* Set fill column. */ extern int setmark(); /* Set mark */ extern int swapmark(); /* Swap "." and mark */ extern int forwsearch(); /* Search forward */ extern int backsearch(); /* Search backwards */ extern int showcpos(); /* Show the cursor position */ #ifndef OS9 extern int nextwind(); /* Move to the next window */ extern int prevwind(); /* Move to the previous window */ extern int onlywind(); /* Make current window only one */ extern int splitwind(); /* Split current window */ extern int mvdnwind(); /* Move window down */ extern int mvupwind(); /* Move window up */ extern int enlargewind(); /* Enlarge display window. */ extern int shrinkwind(); /* Shrink window. */ extern int listbuffers(); /* Display list of buffers */ extern int usebuffer(); /* Switch a window to a buffer */ extern int killbuffer(); /* Make a buffer go away. */ #endif extern int reposition(); /* Reposition window */ extern int refresh(); /* Refresh the screen */ extern int twiddle(); /* Twiddle characters */ extern int tab(); /* Insert tab */ extern int newline(); /* Insert CR-LF */ extern int indent(); /* Insert CR-LF, then indent */ extern int openline(); /* Open up a blank line */ extern int deblank(); /* Delete blank lines */ extern int quote(); /* Insert literal */ extern int backword(); /* Backup by words */ extern int forwword(); /* Advance by words */ extern int forwdel(); /* Forward delete */ extern int backdel(); /* Backward delete */ extern int killer(); /* Kill forward */ extern int yank(); /* Yank back from killbuffer. */ extern int upperword(); /* Upper case word. */ extern int lowerword(); /* Lower case word. */ extern int upperregion(); /* Upper case region. */ extern int lowerregion(); /* Lower case region. */ extern int capword(); /* Initial capitalize word. */ extern int delfword(); /* Delete forward word. */ extern int delbword(); /* Delete backward word. */ extern int killregion(); /* Kill region. */ extern int copyregion(); /* Copy region to kill buffer. */ extern int spawncli(); /* Run CLI in a subjob. */ extern int spawn(); /* Run a command in a subjob. */ extern int quickexit(); /* low keystroke style exit. */ KEYTAB keytab[] = { CTRL|'@', setmark, CTRL|'A', gotobol, CTRL|'B', backchar, CTRL|'C', spawncli, /* Run CLI in subjob. */ CTRL|'D', forwdel, CTRL|'E', gotoeol, CTRL|'F', forwchar, CTRL|'G', ctrlg, CTRL|'H', backdel, CTRL|'I', tab, CTRL|'J', indent, CTRL|'K', killer, CTRL|'L', refresh, CTRL|'M', newline, CTRL|'N', forwline, CTRL|'O', openline, CTRL|'P', backline, CTRL|'Q', quote, /* Often unreachable */ CTRL|'R', backsearch, CTRL|'S', forwsearch, /* Often unreachable */ CTRL|'T', twiddle, CTRL|'V', forwpage, CTRL|'W', killregion, CTRL|'Y', yank, CTRL|'Z', quickexit, /* quick save and exit */ #ifndef OS9 CTLX|CTRL|'B', listbuffers, #endif CTLX|CTRL|'C', quit, /* Hard quit. */ CTLX|CTRL|'F', filename, CTLX|CTRL|'L', lowerregion, CTLX|CTRL|'O', deblank, #ifndef OS9 CTLX|CTRL|'N', mvdnwind, CTLX|CTRL|'P', mvupwind, #endif CTLX|CTRL|'R', fileread, CTLX|CTRL|'S', filesave, /* Often unreachable */ CTLX|CTRL|'U', upperregion, #ifndef OS9 CTLX|CTRL|'V', filevisit, #endif CTLX|CTRL|'W', filewrite, CTLX|CTRL|'X', swapmark, #ifndef OS9 CTLX|CTRL|'Z', shrinkwind, #endif CTLX|'!', spawn, /* Run 1 command. */ CTLX|'=', showcpos, CTLX|'(', ctlxlp, CTLX|')', ctlxrp, #ifndef OS9 CTLX|'1', onlywind, CTLX|'2', splitwind, CTLX|'B', usebuffer, #endif CTLX|'E', ctlxe, CTLX|'F', setfillcol, #ifndef OS9 CTLX|'K', killbuffer, CTLX|'N', nextwind, CTLX|'P', prevwind, CTLX|'Z', enlargewind, #endif META|CTRL|'H', delbword, META|'!', reposition, META|'.', setmark, META|'>', gotoeob, META|'<', gotobob, META|'B', backword, META|'C', capword, META|'D', delfword, META|'F', forwword, META|'L', lowerword, META|'U', upperword, META|'V', backpage, #ifndef OS9 META|'W', copyregion, #endif META|0x7F, delbword, 0x7F, backdel, 0, 0 /* Signals end of table */ }; #else extern KEYTAB keytab[]; #endif #define NKEYTAB (sizeof(keytab)/sizeof(keytab[0])) #ifdef 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 /* #define NULL 0 */