[comp.lang.c] Help! Reading SUN keyboard chars in SUN FORTRAN

kjm100@csc.anu.oz (08/01/90)

31 July 1990

*** Attention: SUN FORTRAN/C/OS gurus ***

I would be very grateful if anyone could tell me how to read keyboard 
characters --- one at a time without echoing those characters to the 
terminal --- within a SUN FORTRAN program.  One would think that using 
the integer function GETC would do the trick but no ...

Specific application:

   I have written a CCD stellar photometry package (see Mighell 1989, 
   Mon. Not. R. astr. Soc. 238:807-833) which currently runs on VAX VMS 
   systems. Since the big VAX at Mount Stromlo will be removed in November 
   I am currently trying to port the package over to SUN machines.  

   My program reads the coordinates from a Tektronix 4010 crosshairs 
   (GIN mode) without echoing the cryptic Tektronix 4010 codes back 
   to the graphics terminal.  This is easy to do within VAX FORTRAN 
   but is apparently very difficult within SUN FORTRAN.  

Plea for help:

   Surely this problem was solved a long time ago in SUNland but the terse
   SUN documentation makes a lone scientist long for the rather verbose 
   VAX user manuals.

   Apparently it is possible to overide the standard terminal definitions 
   of the SUN operating system within a SUN C program but how can this be 
   done within SUN FORTRAN?


*** ANY help would be greatly appreciated!!! ***


--------------------------------------+----------------------------------------
Kenneth John Mighell                  | 
Mount Stromlo Observatory             |   INTERNET: MIGHELL@MSO.ANU.OZ.AU
Private Bag                           |
Post Office Weston Creek, ACT 2611    |  Telephone: +61-6-2490230 or 2490234
AUSTRALIA                             |    Telefax: +61-6-2490233 
--------------------------------------+----------------------------------------

-- 

--------------------------------------+----------------------------------------
Kenneth John Mighell                  | 
Mount Stromlo Observatory             |   INTERNET: MIGHELL@MSO.ANU.OZ.AU
Private Bag                           |
Post Office Weston Creek, ACT 2611    |  Telephone: +61-6-2490230 or 2490234
AUSTRALIA                             |    Telefax: +61-6-2490233 
--------------------------------------+----------------------------------------

kurtk@vice.ICO.TEK.COM (Kurt Krueger) (08/01/90)

<Mailer bounced my reply, so ... it can't find oz>

In article <2586.26b69527@csc.anu.oz> you write:


   My program reads the coordinates from a Tektronix 4010 crosshairs 
   (GIN mode) without echoing the cryptic Tektronix 4010 codes back 
   to the graphics terminal.


I presume that the 'graphics terminal' is indeed the Tek terminal.  If it's
a 4010, there should be a strap on one of the boards that sets what is
called 'bypass cancel'.  The terminal itself supresses echo from the host,
after GIN, until it receives a specific, selectable, character.  This is
called 'bypass' mode.  Usually this character is a CR or a LF.

If you have a newer terminal (41xx, 42xx, etc), there will be a setup mode
command to set this character.  You can use ANY ascii character.

BYPASSCANCEL 10

sets LF.  If the character is NULL, you have no bypass cancel and thus the
terminal WON'T even go into bypass mode (since if it did, it would never
come out ... clever, those engineers!).  That might be your problem, that
you are not entering bypass mode.

Your other bet it to communicate with Unix and issue the equivalent of

stty -echo

We've survived very well for umpteen years with the bypass mode feature.
Sorry I can't tell you which board has the straps, I haven't used a real
4010 for quite a few years now.  If it's something newer, like a 4014, I
might be able to find one around here.  Or even a manual for it.

________________________________________________________________________________
					|
kurtk@vice.ICO.TEK.COM (Kurt Krueger)	| Everything runs on smoke.  When the
  Electrical Simulation Group 		| smoke leaks out, it stops working.
    D.S. 59-432  (503) 627-4363		|
________________________________________|_______________________________________