#define READ(handle,buffer,length) Read(handle,buffer,length) #define WRITE(handle,buffer,length) Write(handle,buffer,length) #define KEY(c1,c2,c3,c4) (ULONG *)(((c1<<24)&0xFF000000)|((c2<<16)&0x00FF0000)|((c3<<8)&0x0000FF00)|(c4&0x000000FF)) #define STR(st) (ULONG *)st #define VAL(val) (ULONG *)(val) #define NULKEY KEY(0,0,0,0) #define DPF_O 1 #define DPF_R 1 #define DPF_L 2 #define DPF_H 3 #define DPF_A 4 #define DPF_D 5 #define CORN (1<<0) #define ITA8 (1<<1) #define PLEQ (1<<2) #define UFCR (1<<3) #define UNCR (1<<4) #define LFCR (1<<5) #define LNCR (1<<6) #define AQSW (1<<7) #define REPC 7 struct st_10 { UBYTE lenght1,start1,lenght2,start2; UBYTE code1,term1,code2; }; struct st_12 { UBYTE lenght1,start1,lenght2,start2; UBYTE code1,term1,code2,c2,term2; }; struct st_23 { UBYTE lenght1,start1,lenght2,start2; UBYTE code1,c1,term1,code2,c21,c22,term2; }; struct st_33 { UBYTE lenght1,start1,lenght2,start2; UBYTE code1,c11,c12,term1,code2,c21,c22,term2; }; struct st_03 { UBYTE lenght1,start1,lenght2,start2; UBYTE code1,code2,c21,c22,term2; }; struct st_31 { UBYTE lenght1,start1,lenght2,start2; UBYTE slenght1,sstart1,slenght2,sstart2; UBYTE code1,c11,c12,term1,code2,c21,c22,term2; UBYTE scode1,sc1,scode2,sc2; }; #define ss3_10(name,c1,a1) struct st_10 name = { 2,4,1,6,SS3,c1,a1 } #define ss3_12(name,c1,a1) struct st_12 name = { 2,4,3,6,SS3,c1,SS3,a1,'~' } #define csi_12(name,c1,a1) struct st_12 name = { 2,4,3,6,CSI,c1,CSI,a1,'~' } #define csi_23(name,c1,a1,a2) struct st_23 name = { 3,4,4,7,CSI,c1,'~',CSI,a1,a2,'~' } #define csi_33(name,c1,c2,a1,a2) struct st_33 name = { 4,4,4,8,CSI,c1,c2,'~',CSI,a1,a2,'~' } #define csi_03(name,c1,a1,a2) struct st_03 name = { 1,4,4,5,c1,CSI,a1,a2,'~' } #define css_31(name,c1,c2,a1,a2,ss) struct st_31 name = { 4,8,4,12,2,16,2,18,CSI,c1,c2,'~',CSI,a1,a2,'~',SS3,ss,SS3,ss } #define MKEY(na,a1,a2,l1,l2,l3,l4,l5,l6,u1,u2,u3,u4,u5,u6) UBYTE na[] = { DPF_MOD,16,DPF_MOD,22,0,a1,0,a2,0,u1-'A'+1,0,u1-'A'+1,0,u1-'A'+129,0,u1-'A'+129,l1,l2,l3,l4,l5,l6,u1,u2,u3,u4,u5,u6 } extern UBYTE akey[],ekey[],ikey[],okey[],nkey[],ukey[]; extern UBYTE aoacc[],ahacc[],rlacc[],laacc[],hdacc[],lhacc[], hlacc[],dhacc[],daacc[],rdacc[],caacc[],ital8[]; #define QR 255 struct map { ULONG **keymap; char *id; char *desc; }; extern UBYTE lotypes[],hitypes[]; extern ULONG *lokeymap[],*hikeymap[]; extern ULONG *ag_map[]; extern ULONG *bf_map[]; extern ULONG *br_map[]; extern ULONG *cf_map[]; extern ULONG *dn_map[]; extern ULONG *du_map[]; extern ULONG *fi_map[]; extern ULONG *fl_map[]; extern ULONG *ic_map[]; extern ULONG *it_map[]; extern ULONG *no_map[]; extern ULONG *po_map[]; extern ULONG *sf_map[]; extern ULONG *sg_map[]; extern ULONG *sp_map[]; extern ULONG *sw_map[]; extern ULONG *us_map[];