File:  [Coherent Logic Development] / freem_fileman / USER / DIR0K.m
Revision 1.1: download - view: text, annotated - select for diffs
Mon Apr 28 14:13:21 2025 UTC (3 months ago) by snw
Branches: MAIN
CVS tags: HEAD
Restructure repository

    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>