Edit-style Zap keymap
Requires ZapMJE, ZapDS, ZapDWExt, ZapUtils...

Key:	Code:	Command:

cSpc	&000	SELREGION
cA	&001	AUTOINDENT
cB	&002	TOBACK
cC	&003	COPYSEL
cD	&004	CHAR 4
cE	&005	CHAR 5
cF	&006	TOFRONT
cG	&007	CANCEL
cH	&008	MJE_HELPCONTEXT
cI	&009	INDIRECT
cJ	&00A	CHAR 10
cK	&00B	CHAR 11
cL	&00C	LEARN
cM	&00D	CHAR 13
cN	&00E	CHAR 14
cO	&00F	OSCLI
cP	&010	CHAR 16
cQ	&011	QUOTE
cR	&012	SEARCHBACK
cS	&013	SEARCHFORWARD
cT	&014	SELECTBUFFER
cU	&015	UNIVERSALARG
cV	&016	MOVESEL
cW	&017	SETWIDTH
cX	&018	CUT
cY	&019	PASTE
cZ	&01A	CLEARSEL
ESC	&01B	ESCAPE
<-|	&01C	DELETE
RET	&01D	RETURN
HOME	&01E	CUP
cDEL	&01F	DELLINE
Ascii	&020-7E	CHAR n
DEL	&07F	DELETE
Ascii	&080-FF	CHAR n
scSpc	&100	UNSPACE
scA	&101	LINENOS 3
scB	&102	BASIC
scC	&103	COMPILE
scD	&104	INSERTDATE
scE	&105	SAVEANDRUN
scF	&106	RUNANDQUIT
scG	&107	TOGGLEWIND
scH	&108	LISTFNS
scI	&109	NEXTTRACK
scJ	&10A	LASTSECTOR
scK	&10B	NEXTSECTOR
scL	&10C	LINENOS 1
scM	&10D	LASTTRACK
scN	&10E	LINENOS 0
scO	&10F	TOGGLEHEX
scP	&110	LINENOS 2
scQ	&111	SWAPCHARS
scR	&112	READONLY
scS	&113	SWAPCASE
scT	&114	INSERTTIME
scU	&115	RUN
scV	&116	DS_RUNAPP
scW	&117	KEEPREGION
scX	&118	CLOSEOTHER
scY	&119	YANK
scZ	&11A	LINEWRAP
sESC	&11B	CANCEL
s<-|	&11C	DELETE
sRET	&11D	RETURN
sHOME	&11E	CUP
scDEL	&11F	CHAR 127
sSpc	&120	CHAR ' '
c[	&12B	CHAR 27
c\	&12C	CHAR 28
c]	&12D	CHAR 29
c-	&12F	FASTUNDO
c0	&130	CHAR 0
c1	&131	CHAR 1
c2	&132	CHAR 2
c3	&133	CHAR 3
c4	&134	CHAR 4
c5	&135	CHAR 5
c6	&136	CHAR 6
c7	&137	CHAR 7
c8	&138	CHAR 8
c9	&139	CHAR 9
cESC	&13B	COMMAND
c<-|	&13C	DELETE
cRET	&13D	RETURNNOINDENT
cHOME	&13E	CUP
sc[	&14B	CHAR 27
sc\	&14C	CHAR 31
sc]	&14D	CHAR 29
sc-	&14F	FULLUNDO
sc0	&150	CHAR 0
sc1	&151	CHAR 1
sc2	&152	CHAR 0
sc3	&153	CHAR 3
sc4	&154	CHAR 4
sc5	&155	CHAR 5
sc6	&156	CHAR 30
sc7	&157	CHAR 7
sc8	&158	CHAR 8
sc9	&159	CHAR 9
scESC	&15B	CHAR 27
sc<-|	&15C	DELETE
scRET	&15D	RETURN
scHOME	&15E	CUP
k/	&161	CHAR '/'
k*	&162	CHAR '*'
k#	&163	CHAR '#'
k-	&164	CHAR '-'
k+	&165	CHAR '+'
ENT	&166	RETURN
k.	&167	CHAR '.'
sDEL	&17F	DELETE
Prt	&180	QUICKPRINT
F1	&181	EXECUTE
F2	&182	FINDFILE
F3	&183	SAVE
F4	&184	SEARCHCUR
F5	&185	GOTO
F6	&186	MJE_ALTERSEL
F7	&187	SEARCHBUF
F8	&188	FULLUNDO
F9	&189	REDO
TAB	&18A	TAB
COPY	&18B	DELETENEXT
LEFT	&18C	LEFT
RIGHT	&18D	RIGHT
DOWN	&18E	DOWN
UP	&18F	UP
sPrt	&190	PRINTFILE
sF1	&191	SPLITLINE
sF2	&192	SWAPWINDOW:TOFRONT
sF3	&193	SAVESEL
sF4	&194	REPLACE
sF5	&195	HELP
sF6	&196	CLEFT:MJE_ALTERSEL:CRIGHT:DOWN:CLEFT:MJE_ALTERSEL
sF7	&197	NEXTMATCH
sF8	&198	RENUMBER
sF9	&199	MJE_HELPTOPIC "Zap_Help.$"
sTAB	&19A	KEYMAP 2
sCOPY	&19B	COPY
sLEFT	&19C	SLEFT
sRIGHT	&19D	SRIGHT
sDOWN	&19E	SDOWN
sUP	&19F	SUP
cPrt	&1A0	OPENPRINTER
cF1	&1A1	JOINLINE
cF2	&1A2	CLOSEWINDOW
cF3	&1A3	QUICKSAVE
cF4	&1A4	NEWVIEW
cF5	&1A5	WORDWRAP
cF6	&1A6	FORMATTEXT
cF7	&1A7	LASTMATCH
cF8	&1A8	BINDTOKEY
cF9	&1A9	HEXASCII
cTAB	&1AA	TABSASSPACES
cCOPY	&1AB	DELLINE
cLEFT	&1AC	CLEFT
cRIGHT	&1AD	CRIGHT
cDOWN	&1AE	CDOWN
cUP	&1AF	CUP
scPrt	&1B0	CLOSEPRINTER
scF1	&1B1	MODEN "Text"
scF2	&1B2	MODEN "Byte"
scF3	&1B3	MODEN "Word"
scF4	&1B4	MODEN "Ascii"
scF5	&1B5	MODEN "Code"
scF6	&1B6	MODEN "Basic"
scF7	&1B7	MODEN "Bastxt"
scF8	&1B8	MODEN "Softwrap"
scF9	&1B9	MODEN "C"
scTAB	&1BA	STRIPSPACES 4
scCOPY	&1BB	DUMPFILE
scLEFT	&1BC	SCLEFT
scRIGHT	&1BD	SCRIGHT
scDOWN	&1BE	SCDOWN
scUP	&1BF	SCUP
k0..9	&1C0-1C9 *&30
F10	&1CA	DELLINE
F11	&1CB	TOGGLEMARK
INS	&1CD	DS_INSERT
sF10	&1DA	DELTOSTART
sF11	&1DB	NEXTMARK
sINS	&1DD	TOGGLEINSERT
cF10	&1EA	DELTOEND
cF11	&1EB	LASTMARK
cINS	&1ED	INDENT
scF10	&1FA	MODEN "Assembler"
scF11	&1FB	KEYMAP 1
scINS	&1FD	OUTDENT

sk0..9	&1D0-1D9 *&32
ck0..9	&1E0-1E9 *&32
sck0..9	&1F0-1F9 *&31
sksym	&171-177 *&161
cksym	&121-127 *&161
scksym	&141-147 *&161

sk#	&173	DS_EVALH
sk+	&175	DS_UEVAL
sENT	&176	DS_EVAL
ck#	&123	WC
cENT	&126	RETURNNOINDENT
sck#	&143	KEYMAP 3
sckENT	&146	FILTERSEL

Specially for Risc PC users who don't have the keypad #:
sk-	&174	*&173
ck-	&124	*&123
sck-	&144	*&143

Key map variables

Default key map &400	0
Map 1 range	&401	&41	&195 (Null)
Map 2 range	&402	&0D	&195 (Null)
Map 3 range	&403	&22	&195 (Null)


Alternate keymaps:


1: Mode selection (scF11)

cEsc	&1013B	COMMAND
sF5	&10195	HELP
A	&10041	MODEN "ASCII"
B	&10042	MODEN "BASIC"
C	&10043	MODEN "C"
E	&10045	MODEN "Email"
K	&1004B	MODEN "Taskwindow"
L	&1004C	MODEN "LaTeX"
M	&1004D	MODEN "MailMode"
P	&10050	MODEN "Pascal"
S	&10053	MODEN "SAsm"
T	&10054	MODEN "Text"
W	&10057	MODEN "Word"
X	&10058	MODEN "BASTXT"
a	&10061	MODEN "Assembler"
b	&10062	MODEN "Byte"
c	&10063	MODEN "Code"
w	&10077	MODEN "SoftWrap"


2: Miscellaneous (sTab)

cEsc	&2013B	COMMAND
sF5	&20195	HELP
cM	&2000D	MINIMISEMEMORY
Ret	&2001D	CRLF
Spc	&20020	TABDISPLAY 1
1	&20031	FONTTYPE 0
2	&20032	FONTTYPE 5
A	&20041	TABDISPLAY 2
C	&20043	TABMODE 2
D	&20044	TABDISPLAY 3
E	&20045	TABMODE 1
F	&20046	FINDFILE
H	&20048	MJE_GENERATEHEADER
N	&2004E	TABDISPLAY 0
S	&20053	FONTTYPE 1
T	&20054	TABSASSPACES
U	&20055	TABMODE 0
b	&20062	BLOCKID
d	&2006C	DEFBLOCK
f	&20066	FIRSTBLOCK
h	&20068	OPENCH
i	&2006E	FINDID
m	&2006D	MODBRK
o	&20070	OPENREF
scSpc	&20100	STRIPSPACES 3


3: C/Pascal/Assembler - Preprocessor and comments (sc#)

cEsc	&3013B	COMMAND
sF5	&30195	KEYMAP 3:HELP
"	&30022	MJE_IFMODE "C,Pascal:CLEFT:INSERT ""#include """""":CRIGHT:INSERT """""""":RETURN"
*	&3002A	MJE_UNCOMMENTLINE
/	&3002F	MJE_COMMENTLINE
<	&3003C	MJE_IFMODE "C,Pascal:CLEFT:INSERT ""#include <"":CRIGHT:INSERTGS "">|J"""
A	&30041	MJE_IFMODE "C:CLEFT:INSERTGS ""#pragma asm|J"""
D	&30044	MJE_IFMODE "C,Pascal:CLEFT:INSERTGS ""#define """
E	&30045	MJE_ENDIF
H	&30048	MJE_SWAPTOHEADER
I	&30049	MJE_IFMODE "C,Pascal:CLEFT:INSERT ""#if """:MJE_IFMODE "Assembler:CLEFT:INSERT "" [ """
a	&30061	MJE_IFMODE "C:CLEFT:INSERTGS ""#pragma endasm|J"""
e	&30065	MJE_IFMODE "C,Pascal:CLEFT:INSERTGS ""#else|J""":MJE_IFMODE "Assembler:CLEFT:INSERT "" |"":RETURN"
{	&3007B	MJE_OPENCOMMENT
}	&3007D	MJE_CLOSECOMMENT
DOWN	&3018E	MJE_NEXTFUNC
UP	&3018F	MJE_LASTFUNC


Search macros:

Macro0	&200	\d	\[0-9]
Macro1	&201	\a	\[A-Za-z_]
Macro2	&202	\s	\[\9\32]\%


Other variables:

Standard date format		&300	%dy %mo %ce%yr
Standard time format		&301	%24:%mi:%se
Default font			&302	Corpus.Medium
End of file gap (lines)		&303	4
Font size (pts)			&304	12
Font char top reduction (pixs)	&305	1
Font char bot reduction (pixs)	&306	1
Quick print EOL string (GS)	&307	|J|M
Left cursor indent (chars)	&308	4
Right cursor indent (chars)	&309	4
Top cursor indent (chars)	&30A	2
Bottom cursor indent (chars)	&30B	2
Window left margin (os)		&30C	0
Window right margin (os)	&30D	2
Type of file created on SELECT	&30E	&FFF
Type of file created on ADJUST	&30F	&FFB
Font char left reduction (pixs) &310	1
Font char right reduction (pix) &311	1
Minibuffer size (chars)		&314	&80
Default indent string		&315	>
Cursor flash on time (cs)	&316	50
Cursor flash off time (cs)	&317	50
Min auto-width width (char)	&318	4
Max auto-width width (char)	&319	256
Default low-res bitmap font	&31A	08x08.SysDS
Default hi-res bitmap (YEig=1)	&31B	08x06.C


Paths:
(search wildcards can be used)
(-1 filetype = anything - the 5xx numbers don't matter)

&500	&FFF	\#\*.\(c\|cc\|c++\|cpp\|h\).\o\*	+C
&501	&FFF	\#\*/\(C\|CC\|C++\|CPP\)		+C
&503	&FFF	\#\*\(.s.\o\*\|/S\)			+Assembler
&504	&FFF	\#\*\(.p.\o\*\|/PAS\)			+Pascal
&505	&FFF	\#\*.\(TTFN_Work\|Re-edit\)		+Email
&506	&FFF	\#\*.\(tex.\o\*\|tex\)			+LaTeX

File types:
(+ means load without shift, paths checked first if above)
(mode names can be followed by a list of commands eg Text:Down)

BobFile		&104A	C
BobTask		&104A	C
BobProj		&104A	C
BobPTask	&104A	C
SNA		&1CEE	Byte:StartAddr 16357
Z80		&1CEF	Byte
Draw file	&1AFF	Word
BBC ROM		&1BBC	Byte
Template	&1FEC	Ascii
Palette		&1FED	Byte:SetWidth "6"
Printout	&1FF4	Ascii
BBC font	&1FF7	Byte:SetWidth "10"
Sprite		&1FF9	Word
DOS		&1FE4	+Text
Obey		&1FEB	Text
Template	&1FEC	Ascii
Text BASIC	&1FD1	BASTXT
Printout	&1FF4	Ascii
Absolute	&1FF8	Code
Module		&1FFA	Code
BASIC		&1FFB	BASIC
Utility		&1FFC	Code
Data		&1FFD	Word
Text		&1FFF	+Text
Untyped		&2000	Byte
