curses

Ephrayim J. Naiman naiman at pegasus.UUCP
Thu Jun 27 07:48:37 AEST 1985


In-Reply-To: your article <571 at umd5.UUCP>
<munch, munch>

> I posted flames on the same point.  Curses does not support input translation.
> Instead, there is a terminal-independant input language for each of the Unix
> screen editors.  While this setup may have some merit (once you learn it you
> can use any available terminal) I have a Pascal screen editor that I run on
> Univac 1100 and IBM 370 systems that I would like to also support Unix.  This
> screen editor operates by catching the keystrokes and updating an incore image
> of the current screen.  Thus, it MUST know what each keystroke is doing to the
> screen...

I don't understand.  The curses I have does getch's fine, it even
interprets function keys and allows you to turn off echo so that only your
application echoes what it wants to.

> For example, when you are in column one, what does a left arrow do?  On many
> terminals it does nothing, on many more it goes to column 80 of the previous
> line, on some it goes to column 80 of the SAME line.  What does an up arrow
> do on line one?  Unix finesses all these questions by refusing to echo the
> character in these situations.  On mainframes without smart echo, one does not
> have that handy copout.  Thus, in addition to the simple question of what code
> does each key generate, these little quirks must all be represented in the
> database.
> 
> One additional example.  On many terminals, when you do an insert-line 
> operation, the cursor is left wherever it was.  But, on the Heathkit, the
> cursor is returned to column one!  If you REALLY want to see some brain-
> damage, look at the insert mode on the Datamedia 2000/3000 line.

Almost all these capabilities are defined in my terminfo.
If you'd like to discuss give me a call.
-- 

==> Ephrayim J. Naiman @ AT&T Information Systems Laboratories (201) 576-6259
Paths: [ihnp4, allegra, mtuxo, maxvax, cbosgd, lzmi, ...]!pegasus!naiman



More information about the Comp.unix mailing list