[comp.terminals] VT-240 Terminal attributes question

eam@soleil.UUCP (Ed A. Mills) (04/17/89)

Does anyone know why the blink attribute goes away when a QIOW is pending
on the terminal?  This is particulary annoying since the cursor disappears
when waiting for keyboard input.

Also, does anyone know how to stop this annoying characteristic?

Ed Mills
Harris Semiconductor
Melbourne, FL  32901

leichter@CS.YALE.EDU (Jerry Leichter (LEICHTER-JERRY@CS.YALE.EDU)) (04/17/89)

In article <662@soleil.UUCP>, eam@soleil.UUCP (Ed A. Mills) writes...
>Does anyone know why the blink attribute goes away when a QIOW is pending
>on the terminal?  This is particulary annoying since the cursor disappears
>when waiting for keyboard input.
> 
>Also, does anyone know how to stop this annoying characteristic?
> 

It's kind of tough to explain "why this happens" when it *doesn't* happen - at
least I've never seen it happen on any VT240 or RSX or VMS (I assume RSX or
VMS since I know of no other OS's which using QIOW's) I've ever seen.

If the QIO being done is a "read with prompt" and the prompt string contains
an escape sequence to disable the cursor, I suppose that would do it.  (Does
the VT240 actually HAVE such a sequence?  Hmm, I guess if it doesn't you could
switch to ReGIS mode, which I think does let you turn off the cursor.)

							-- Jerry

eam@soleil.UUCP (Ed A. Mills) (04/18/89)

Maybe some more detail would help:

Running VMS 5.0, and using a VT-241 (VT-240 compatible 
I'd like to think...) terminal, using STARLET as the environment, 
try the following in Pascal .  Check the syntax, since I haven't
compiled this text...

**********************************************************************

[INHERIT ('wherever starlet is...')]
Program Blink_Off(input, output);

{utility for temporarily turning off blink attributes all over the
screen until you press a key}

Var channel: [WORD] 0..65535;
  operation: integer;
  x        : char;

Begin
{initialize, using STARLET values...}
operation := IO$READVBLK + IO$M_NOECHO;

{write the blinking characters...}
Writeln(chr(27), '[5m', 'CAT');
Writeln('MOUSE');
Write('DOG', chr(27), '[m');

{attempt to flush the lazy-buffer, to see the DOG prompt, 
this command doesn't work , but that's another topic...}
$FLUSH('TT');

{assign the IO channel}
$Assign('TT', channel);

{do the call, and watch cat & mouse stop blinking. Also note that you don't
have a cursor anymore....}
$QIOW(, CHANNEL, operation, , , , x, 1, ,);
{note that the attribute comes back after you press a key}

{deassign}
$deassgn(channel);

End.
{DOG prompt finally appears}
*******************************************************************************

I'd be interested if this works on your system.  I've also seen it on VT-320's
and VT-240's as well.

Ed Mills
Harris Semiconductor
Melbourne, FL  32901
(407)724-7266