| 1 | DIR0K ;SFISC/MKO-GET KEYS FOR FIELD EDITOR ;12:16 PM  15 Feb 1995 | 
|---|
| 2 | ;;22.0;VA FileMan;;Mar 30, 1999 | 
|---|
| 3 | ;Per VHA Directive 10-93-142, this routine should not be modified. | 
|---|
| 4 | ; | 
|---|
| 5 | GETKEY ;Get key sequences | 
|---|
| 6 | N AU,AD,AR,AL,F1,F2,F3,F4,I,K,T | 
|---|
| 7 | N REMOVE,PREVSC,NEXTSC | 
|---|
| 8 | S AU=$P(DDGLKEY,U,2) | 
|---|
| 9 | S AD=$P(DDGLKEY,U,3) | 
|---|
| 10 | S AR=$P(DDGLKEY,U,4) | 
|---|
| 11 | S AL=$P(DDGLKEY,U,5) | 
|---|
| 12 | S F1=$P(DDGLKEY,U,6) | 
|---|
| 13 | S F2=$P(DDGLKEY,U,7) | 
|---|
| 14 | S F3=$P(DDGLKEY,U,8) | 
|---|
| 15 | S F4=$P(DDGLKEY,U,9) | 
|---|
| 16 | S REMOVE=$P(DDGLKEY,U,13) | 
|---|
| 17 | S PREVSC=$P(DDGLKEY,U,14) | 
|---|
| 18 | S NEXTSC=$P(DDGLKEY,U,15) | 
|---|
| 19 | ; | 
|---|
| 20 | S DIR0(DIR0P_"IN")="",DIR0(DIR0P_"OUT")="" | 
|---|
| 21 | ; | 
|---|
| 22 | I DIR0P="C" S I="" F  S I=$O(DIR0MAP(I)) Q:I'=+$P(I,"E")  S T=DIR0MAP(I) D INOUT | 
|---|
| 23 | F I=1:1 S T=$P($T(GENMAP+I),";;",2,999) Q:T=""  D INOUT | 
|---|
| 24 | I DIR0P="" F I=1:1 S T=$P($T(SMMAP+I),";;",2,999) Q:T=""  D INOUT | 
|---|
| 25 | ; | 
|---|
| 26 | S DIR0(DIR0P_"IN")=DIR0(DIR0P_"IN")_U | 
|---|
| 27 | S DIR0(DIR0P_"OUT")=$E(DIR0(DIR0P_"OUT"),1,$L(DIR0(DIR0P_"OUT"))-1) | 
|---|
| 28 | Q | 
|---|
| 29 | ; | 
|---|
| 30 | INOUT ;Set DIR0("IN") and DIR0("OUT") | 
|---|
| 31 | I $P(T,";",2)="KEYDOWN" Q:$P(T,";")=""  S DIR0KD=$P(T,";"),K="KD" | 
|---|
| 32 | E  I $P(T,";",2)="TIMEOUT" Q:$P(T,";")=""  S DIR0TO=$P(T,";"),K="TO" | 
|---|
| 33 | E  S @("K="_$P(T,";",2)) | 
|---|
| 34 | I DIR0(DIR0P_"IN")'[(U_K) D | 
|---|
| 35 | . S DIR0(DIR0P_"IN")=DIR0(DIR0P_"IN")_U_K | 
|---|
| 36 | . S DIR0(DIR0P_"OUT")=DIR0(DIR0P_"OUT")_$P(T,";")_";" | 
|---|
| 37 | ; | 
|---|
| 38 | Q | 
|---|
| 39 | GENMAP ;General field editor key sequences | 
|---|
| 40 | ;;RIGHT;AR | 
|---|
| 41 | ;;LEFT;AL | 
|---|
| 42 | ;;JRT;F1_AR | 
|---|
| 43 | ;;JLT;F1_AL | 
|---|
| 44 | ;;FDE;F1_F1_AR | 
|---|
| 45 | ;;FDB;F1_F1_AL | 
|---|
| 46 | ;;WRT;F1_" " | 
|---|
| 47 | ;;WRT;$C(12) | 
|---|
| 48 | ;;WLT;$C(10) | 
|---|
| 49 | ;;DEL;REMOVE | 
|---|
| 50 | ;;DEL;F2 | 
|---|
| 51 | ;;CLR;F1_"D" | 
|---|
| 52 | ;;CLR;$C(21) | 
|---|
| 53 | ;;DEOF;F1_F2 | 
|---|
| 54 | ;;DLW;$C(23) | 
|---|
| 55 | ;;CR;$C(13) | 
|---|
| 56 | ;;UP;AU | 
|---|
| 57 | ;;DOWN;AD | 
|---|
| 58 | ;;TAB;$C(9) | 
|---|
| 59 | ;;RPM;F3 | 
|---|
| 60 | ;;BS;$C(127) | 
|---|
| 61 | ;;BS;$C(8) | 
|---|
| 62 | ;; | 
|---|
| 63 | SMMAP ;ScreenMan specific key sequences | 
|---|
| 64 | ;;FDL;F4 | 
|---|
| 65 | ;;NB;F1_F4 | 
|---|
| 66 | ;;NP;F1_AD | 
|---|
| 67 | ;;NP;NEXTSC | 
|---|
| 68 | ;;PP;F1_AU | 
|---|
| 69 | ;;PP;PREVSC | 
|---|
| 70 | ;;HLP;F1_"H" | 
|---|
| 71 | ;;SEL;F1_"L" | 
|---|
| 72 | ;;EX;F1_"E" | 
|---|
| 73 | ;;QT;F1_"Q" | 
|---|
| 74 | ;;CL;F1_"C" | 
|---|
| 75 | ;;SV;F1_"S" | 
|---|
| 76 | ;;RF;F1_"R" | 
|---|
| 77 | ;;ZM;F1_"Z" | 
|---|
| 78 | ;; | 
|---|