Annotation of freem_fileman/DIR0K.m, revision 1.1.1.1
1.1 snw 1: DIR0K ;SFISC/MKO-GET KEYS FOR FIELD EDITOR ;08:42 AM 30 Aug 1994
2: ;;21.0;VA FileMan;;Dec 28, 1994
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 S @("K="_$P(T,";",2))
33: I DIR0(DIR0P_"IN")'[(U_K) D
34: . S DIR0(DIR0P_"IN")=DIR0(DIR0P_"IN")_U_K
35: . S DIR0(DIR0P_"OUT")=DIR0(DIR0P_"OUT")_$P(T,";")_";"
36: ;
37: Q
38: GENMAP ;General field editor key sequences
39: ;;RIGHT;AR
40: ;;LEFT;AL
41: ;;JRT;F1_AR
42: ;;JLT;F1_AL
43: ;;FDE;F1_F1_AR
44: ;;FDB;F1_F1_AL
45: ;;WRT;F1_" "
46: ;;WRT;$C(12)
47: ;;WLT;$C(10)
48: ;;DEL;REMOVE
49: ;;DEL;F2
50: ;;CLR;F1_"D"
51: ;;CLR;$C(21)
52: ;;DEOF;F1_F2
53: ;;DLW;$C(23)
54: ;;CR;$C(13)
55: ;;UP;AU
56: ;;DOWN;AD
57: ;;TAB;$C(9)
58: ;;RPM;F3
59: ;;BS;$C(127)
60: ;;BS;$C(8)
61: ;;
62: SMMAP ;ScreenMan specific key sequences
63: ;;FDL;F4
64: ;;NB;F1_F4
65: ;;NP;F1_AD
66: ;;NP;NEXTSC
67: ;;PP;F1_AU
68: ;;PP;PREVSC
69: ;;HLP;F1_"H"
70: ;;SEL;F1_"L"
71: ;;EX;F1_"E"
72: ;;QT;F1_"Q"
73: ;;CL;F1_"C"
74: ;;SV;F1_"S"
75: ;;RF;F1_"R"
76: ;;ZM;F1_"Z"
77: ;;
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>