/* ALIAS DE TOUCHES POUR LA FONCTION ROWREAD */ #define INTSTOP_1\ INT_HANDLER save_int_1;\ INT_HANDLER save_int_5;\ INT_HANDLER autoint_bkp; #define INTSTOP_2\ autoint_bkp=GetIntVec(AUTO_INT_6);\ SetIntVec(AUTO_INT_6,DUMMY_HANDLER);\ save_int_1=GetIntVec(AUTO_INT_1);\ SetIntVec(AUTO_INT_1,DUMMY_HANDLER);\ save_int_5=GetIntVec(AUTO_INT_5);\ SetIntVec(AUTO_INT_5,DUMMY_HANDLER); #define INTRESTART\ SetIntVec(AUTO_INT_5, save_int_5);\ SetIntVec(AUTO_INT_1, save_int_1);\ SetIntVec(AUTO_INT_6,autoint_bkp); #define _ANYKEY _rowread(255) #define ROWCOL(a,b) ((_rowread(~((short)1<<a)))&(1<<b)) #define BOTH(a) (CALCULATOR?_92P##a:_89##a) #define WAITKEYPRESSED(a) while(!a);while(a) #define WAITKEYUP(a) while(a) #define WAITKEYDOWN(a) while(!a) #define ONLY89 (!CALCULATOR) #define ONLY92P (CALCULATOR) #define EXCLUSIVE(a,b) (a?(b): (0) ) //exemple : EXCLUSIVE(ONLY89,_89_KEY_RIGHT), retounes 0 si c'est pas bon //touches 92plus #define _92P_KEY_ANY ((_rowread((short)0xFFF9)&0xFE)||(_rowread((short)0xFD07)&0xFF)||(_rowread((short)0xFEFF)&0x7F)) #define _92P_KEY_ENTER (ROWCOL(9,1)||ROWCOL(6,6)) #define _92P_KEY_DOWN ROWCOL(0,7) #define _92P_KEY_RIGHT ROWCOL(0,6) #define _92P_KEY_UP ROWCOL(0,5) #define _92P_KEY_LEFT ROWCOL(0,4) #define _92P_KEY_HAND ROWCOL(0,3) #define _92P_KEY_SHIFT ROWCOL(0,2) #define _92P_KEY_DIAMOND ROWCOL(0,1) #define _92P_KEY_2ND ROWCOL(0,0) #define _92P_KEY_PAD3 ROWCOL(1,7) #define _92P_KEY_PAD2 ROWCOL(1,6) #define _92P_KEY_PAD1 ROWCOL(1,5) #define _92P_KEY_F8 ROWCOL(1,4) #define _92P_KEY_ALPHAW ROWCOL(1,3) #define _92P_KEY_ALPHAS ROWCOL(1,2) #define _92P_KEY_ALPHAZ ROWCOL(1,1) #define _92P_KEY_PAD6 ROWCOL(2,7) #define _92P_KEY_PAD5 ROWCOL(2,6) #define _92P_KEY_PAD4 ROWCOL(2,5) #define _92P_KEY_F3 ROWCOL(2,4) #define _92P_KEY_ALPHAE ROWCOL(2,3) #define _92P_KEY_ALPHAD ROWCOL(2,2) #define _92P_KEY_ALPHAX ROWCOL(2,1) #define _92P_KEY_PAD9 ROWCOL(3,7) #define _92P_KEY_PAD8 ROWCOL(3,6) #define _92P_KEY_PAD7 ROWCOL(3,5) #define _92P_KEY_F7 ROWCOL(3,4) #define _92P_KEY_ALPHAR ROWCOL(3,3) #define _92P_KEY_ALPHAF ROWCOL(3,2) #define _92P_KEY_ALPHAC ROWCOL(3,1) #define _92P_KEY_STO ROWCOL(3,0) #define _92P_KEY_VIR ROWCOL(4,7) #define _92P_KEY_OPAR ROWCOL(4,6) #define _92P_KEY_CPAR ROWCOL(4,5) #define _92P_KEY_F2 ROWCOL(4,4) #define _92P_KEY_ALPHAT ROWCOL(4,3) #define _92P_KEY_ALPHAG ROWCOL(4,2) #define _92P_KEY_ALPHAV ROWCOL(4,1) #define _92P_KEY_SPACE ROWCOL(4,0) #define _92P_KEY_TAN ROWCOL(5,7) #define _92P_KEY_COS ROWCOL(5,6) #define _92P_KEY_SIN ROWCOL(5,5) #define _92P_KEY_F6 ROWCOL(5,4) #define _92P_KEY_ALPHAY ROWCOL(5,3) #define _92P_KEY_ALPHAH ROWCOL(5,2) #define _92P_KEY_ALPHAB ROWCOL(5,1) #define _92P_KEY_DIVIDE ROWCOL(5,0) #define _92P_KEY_ALPHAP ROWCOL(6,7) #define _92P_KEY_ENTER2 ROWCOL(6,6) #define _92P_KEY_LN ROWCOL(6,5) #define _92P_KEY_F1 ROWCOL(6,4) #define _92P_KEY_ALPHAU ROWCOL(6,3) #define _92P_KEY_ALPHAJ ROWCOL(6,2) #define _92P_KEY_ALPHAN ROWCOL(6,1) #define _92P_KEY_SQR ROWCOL(6,0) #define _92P_KEY_MUL ROWCOL(7,7) #define _92P_KEY_APPS ROWCOL(7,6) #define _92P_KEY_CLEAR ROWCOL(7,5) #define _92P_KEY_F5 ROWCOL(7,4) #define _92P_KEY_ALPHAI ROWCOL(7,3) #define _92P_KEY_ALPHAK ROWCOL(7,2) #define _92P_KEY_ALPHAM ROWCOL(7,1) #define _92P_KEY_EQUAL ROWCOL(7,0) #define _92P_KEY_ESC ROWCOL(8,6) #define _92P_KEY_MODE ROWCOL(8,5) #define _92P_KEY_ADD ROWCOL(8,4) #define _92P_KEY_ALPHAO ROWCOL(8,3) #define _92P_KEY_ALPHAL ROWCOL(8,2) #define _92P_KEY_THETA ROWCOL(8,1) #define _92P_KEY_BACK ROWCOL(8,0) #define _92P_KEY_NEGAT ROWCOL(9,7) #define _92P_KEY_DOT ROWCOL(9,6) #define _92P_KEY_PAD0 ROWCOL(9,5) #define _92P_KEY_F4 ROWCOL(9,4) #define _92P_KEY_ALPHAQ ROWCOL(9,3) #define _92P_KEY_ALPHAA ROWCOL(9,2) #define _92P_KEY_ENTER1 ROWCOL(9,1) #define _92P_KEY_SUB ROWCOL(9,0)
[edit]Edité par janjan2 le 03-04-2002 à 14:53:23[/edit]