C FUNCTION TBkeyinput() IMPLICIT NONE REAL x, y INTEGER IRTN, NCNT, IFLG, IRBTN, kb, kbhit LOGICAL TBkeyinput COMMON /TBPARAMS/kb NCNT = -1 CALL GWKYBRD(IRTN, kb, NCNT, IFLG, -1) CALL GWMOUSE(IRTN, IRBTN, x, y) IF(kb .NE. 0) THEN TBkeyinput = .TRUE. ELSE IF(kbhit() .NE. 0) THEN TBkeyinput = .TRUE. ELSE IF(IRBTN .NE. 0) THEN kb = ICHAR('s') TBkeyinput = .TRUE. ELSE IF(IRTN .NE. 0) THEN kb = ICHAR(' ') TBkeyinput = .TRUE. ELSE TBkeyinput = .FALSE. ENDIF ENDIF END C SUBROUTINE TBgetkey(k) IMPLICIT NONE INTEGER k, kb, kbhit, kbgetch COMMON /TBPARAMS/kb k = 0 IF(kb .NE. 0) THEN k = kb kb = 0 ELSE DO WHILE(kbhit() .NE. 0) k = kbgetch(0) ENDDO ENDIF END C BLOCKDATA tb COMMON /TBPARAMS/kb DATA kb/0/ END