C*****************************************************************************
C	Keystroke handling routines for DM
C  Version 6.x				            August, 1986
C	Dale E. Coy
C	Los Alamos National Laboratory
C	(505) 667-3270
C
C*****************************************************************************
	Subroutine Special_Keys

	Implicit Integer*4 (A - Z)
	Include 'Common.Dat'
C-------------------------------------------------------------------

C	---- It's a "special" character command

	If (Terminator .LT. SMG$K_TRM_UP) then
		Call Keypad_Keys

	Else If (Terminator .GT. SMG$K_TRM_RIGHT) then
		Call Function_Keys

C-------------------------------------------------------------------C  
C   Otherwise, it's an arrow key....	
C	ARROW (CURSOR CONTROL) KEYS BEGIN EITHER WITH CSI OR SS3,
C	BUT HAVE THE SAME FOLLOWING CHARACTER.  THEREFORE, PROCESS
C	THEM ALL TOGETHER.
C-------------------------------------------------------------------C


C}{}{}{}      {ESC}{[}{A} =  Up Arrow Key
C}{}{}{}      {ESC}{O}{A} =  Up Arrow Key
         Else If (Terminator .EQ. SMG$K_TRM_UP) then
 		Call UpArrow ! Was it <UP ARROW> ?


C}{}{}{}      {ESC}{[}{B} =  Down Arrow Key
C}{}{}{}      {ESC}{O}{B} =  Down Arrow Key
         Else If (Terminator .EQ. SMG$K_TRM_DOWN) then
		Call DnArrow ! Was it <DOWN ARROW>?


C		LEFT AND RIGHT ARROW ARE IGNORED

C	 Else If (Terminator .EQ. SMG$K_TRM_LEFT) then

C	 Else If (Terminator .EQ. SMG$K_TRM_RIGHT) then


	 END IF


	Return
	End
