	SUBROUTINE CTLCHR
C	  THIS SUBROUTINE ALLOWS THE USER TO TRANSMIT A RESERVED RT-11
C	  KEYBOARD CHARACTER (EG. ^C, ^O, ^S, ETC.)
C	  BY RE-DEFINING ANOTHER CONTROL CHARACTER TO TAKE ITS PLACE
	COMMON/CTRL/ CTRL(32),IBREAK
	LOGICAL*1 CTRL
C
	WRITE(5,1)
 1	FORMAT($,' Control character: ^')
C	  GET CHARACTER TO BE REDEFINED
 2	INCHAR=ITTING(IDUMMY)
	IF(INCHAR.LT.0) GOTO 2
C	  PRINT ITS UPPER-CASE EQUIVALENT
 3	I=ITTOUR((INCHAR.AND."37)+"100)
	IF(I.LT.0) GOTO 3
C	  IF <CR> OR CTRL/C THEN EXIT
	IF(INCHAR.NE."15.AND.INCHAR.NE."3) GOTO 10
C
 4	CALL ENQUE("15)
	CALL ENQUE("12)
	RETURN
C
 10	WRITE(5,50) "15,"12
 50	FORMAT($,1X,2A1,'Substitute character: ^')
C	  GET SUBSTITUTE CONTROL CHARACTER
 20	J=ITTING(IDUMMY)
	IF(J.LT.0) GOTO 20
C	  PRINT ITS UPPER-CASE EQUIVALENT
	CALL ENQUE((J.AND."37)+"100)
	I=(INCHAR.AND."37)+1
	CTRL(I)=J.AND."37
	GOTO 4
	END
