xref: /onnv-gate/usr/src/cmd/terminfo/heath.ti (revision 0:68f95e015346)
1*0Sstevel@tonic-gate#
2*0Sstevel@tonic-gate# CDDL HEADER START
3*0Sstevel@tonic-gate#
4*0Sstevel@tonic-gate# The contents of this file are subject to the terms of the
5*0Sstevel@tonic-gate# Common Development and Distribution License, Version 1.0 only
6*0Sstevel@tonic-gate# (the "License").  You may not use this file except in compliance
7*0Sstevel@tonic-gate# with the License.
8*0Sstevel@tonic-gate#
9*0Sstevel@tonic-gate# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10*0Sstevel@tonic-gate# or http://www.opensolaris.org/os/licensing.
11*0Sstevel@tonic-gate# See the License for the specific language governing permissions
12*0Sstevel@tonic-gate# and limitations under the License.
13*0Sstevel@tonic-gate#
14*0Sstevel@tonic-gate# When distributing Covered Code, include this CDDL HEADER in each
15*0Sstevel@tonic-gate# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16*0Sstevel@tonic-gate# If applicable, add the following below this CDDL HEADER, with the
17*0Sstevel@tonic-gate# fields enclosed by brackets "[]" replaced with your own identifying
18*0Sstevel@tonic-gate# information: Portions Copyright [yyyy] [name of copyright owner]
19*0Sstevel@tonic-gate#
20*0Sstevel@tonic-gate# CDDL HEADER END
21*0Sstevel@tonic-gate#
22*0Sstevel@tonic-gate#	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T
23*0Sstevel@tonic-gate#	  All Rights Reserved
24*0Sstevel@tonic-gate
25*0Sstevel@tonic-gate
26*0Sstevel@tonic-gate#ident	"%Z%%M%	%I%	%E% SMI"	/* SVr4.0 1.6	*/
27*0Sstevel@tonic-gate# # --------------------------------
28*0Sstevel@tonic-gate#
29*0Sstevel@tonic-gate# heath: HEATHKIT and ZENITH
30*0Sstevel@tonic-gate#
31*0Sstevel@tonic-gate# Manufacturer:	HEATHKIT and ZENITH
32*0Sstevel@tonic-gate# Class:	I
33*0Sstevel@tonic-gateh19-a|heath-ansi|heathkit-a|heathkit h19 ansi mode,
34*0Sstevel@tonic-gate	cr=^M, cud1=^J, ind=^J, bel=^G, il1=\E[1L$<1*>, am, cub1=^H, ed=\E[J,
35*0Sstevel@tonic-gate	el=\E[K, clear=\E[2J, cup=\E[%i%p1%d;%p2%dH, cols#80,
36*0Sstevel@tonic-gate	dch1=\E[1P, dl1=\E[1M$<1*>, cud1=\E[1B,
37*0Sstevel@tonic-gate	rmir=\E[4l, home=\E[H, smir=\E[4h, lines#24, mir,
38*0Sstevel@tonic-gate	cuf1=\E[1C, smacs=\E[10m, rmacs=\E[11m, msgr, ht=^I, it#8,
39*0Sstevel@tonic-gate	rmso=\E[0m, smso=\E[7m, cuu1=\E[1A, cvvis=\E[>4h, cnorm=\E[>4l,
40*0Sstevel@tonic-gate	kbs=^h, kcuu1=\E[1A, kcud1=\E[1B, kcub1=\E[1D, kcuf1=\E[1C,
41*0Sstevel@tonic-gate	khome=\E[H,
42*0Sstevel@tonic-gate	kf1=\EOS, kf2=\EOT, kf3=\EOU, kf4=\EOV, kf5=\EOW, lf6=blue,
43*0Sstevel@tonic-gate	lf7=red, lf8=white, kf6=\EOP, kf7=\EOQ, kf8=\EOR,
44*0Sstevel@tonic-gate	ri=\EM, is2=\E<\E[>1;2;3;4;5;6;7;8;9l\E[0m\E[11m\E[?7h,
45*0Sstevel@tonic-gateh19-bs|heathkit w/keypad shifted,
46*0Sstevel@tonic-gate	smkx=\Et, rmkx=\Eu, use=h19-b,
47*0Sstevel@tonic-gateh19-smul|heathkit w/keypad shifted/underscore cursor,
48*0Sstevel@tonic-gate	smkx=\Et, rmkx=\Eu, use=h19-u,
49*0Sstevel@tonic-gateh19|heath|h19-b|heathkit|heath-19|z19|zenith|heathkit h19,
50*0Sstevel@tonic-gate	cr=^M, cud1=^J, ind=^J, bel=^G, il1=\EL$<1*>, am, cub1=^H,
51*0Sstevel@tonic-gate	ed=\EJ, el=\EK, clear=\EE, cup=\EY%p1%' '%+%c%p2%' '%+%c, cols#80,
52*0Sstevel@tonic-gate	dch1=\EN, dl1=\EM$<1*>, cud1=\EB, rmir=\EO, home=\EH, smir=\E@,
53*0Sstevel@tonic-gate	lines#24, mir, cuf1=\EC, smacs=\EF, rmacs=\EG, msgr, ht=^I, it#8,
54*0Sstevel@tonic-gate	ri=\EI, rmso=\Eq, smso=\Ep, cuu1=\EA, cvvis=\Ex4, cnorm=\Ey4,
55*0Sstevel@tonic-gate	kbs=^h, kcuu1=\EA, kcud1=\EB, kcub1=\ED, kcuf1=\EC, khome=\EH,
56*0Sstevel@tonic-gate	kf1=\ES, kf2=\ET, kf3=\EU, kf4=\EV, kf5=\EW,
57*0Sstevel@tonic-gate	lf6=blue, lf7=red, lf8=white, kf6=\EP, kf7=\EQ, kf8=\ER,
58*0Sstevel@tonic-gate	hs, eslok, tsl=\Ej\Ex5\EY8%p1%' '%+%c\Eo\Eo, fsl=\Ek\Ey5,
59*0Sstevel@tonic-gateh19-u|heathkit with underscore cursor,
60*0Sstevel@tonic-gate	cvvis@, cnorm@, use=h19-b,
61*0Sstevel@tonic-gate# Info:
62*0Sstevel@tonic-gate#	This still doesn't work right - something funny is going on
63*0Sstevel@tonic-gate#	with return # and linefeed in the reach program. Apparently
64*0Sstevel@tonic-gate#	cr acts like crlf and lf is ignored. There is a "literal end
65*0Sstevel@tonic-gate#	of line mode" which works right, but this will cause cr's to
66*0Sstevel@tonic-gate#	appear in files that are spooled. This description assumes
67*0Sstevel@tonic-gate#	"normal end of line mode".
68*0Sstevel@tonic-gate#
69*0Sstevel@tonic-gatereach|h89|h89 running reach,
70*0Sstevel@tonic-gate	cr@, cud1=\EB, ind=\r\l, is2=\Ey3\Ev, use=h19-b,
71*0Sstevel@tonic-gatealto-h19|altoh19|altoheath|alto-heath|alto emulating heathkit h19,
72*0Sstevel@tonic-gate	lines#60, il1=\EL, dl1=\EM, use=h19,
73*0Sstevel@tonic-gate# Info:
74*0Sstevel@tonic-gate#	The major problem with the Z29 is that it requires more
75*0Sstevel@tonic-gate#	padding than the Z19. Once again, here's a little termcap
76*0Sstevel@tonic-gate#	entry for it that will do the trick.
77*0Sstevel@tonic-gate#
78*0Sstevel@tonic-gate#	The problem declaring an H19 to be synonomous with a Z29 is that
79*0Sstevel@tonic-gate#	it needs more padding. It especially loses if a program attempts
80*0Sstevel@tonic-gate#	to put the Z29 into insert mode and insert text at 9600 baud. It
81*0Sstevel@tonic-gate#	even loses worse if the program attempts to insert tabs at 9600
82*0Sstevel@tonic-gate#	baud. Adding padding to text that is inserted loses because in
83*0Sstevel@tonic-gate#	order to make the Z29 not die, one must add so much padding that
84*0Sstevel@tonic-gate#	whenever the program tries to use insert mode, the effective
85*0Sstevel@tonic-gate#	rate is about 110 baud.
86*0Sstevel@tonic-gate#
87*0Sstevel@tonic-gate#	What program would want to put the terminal into insert mode
88*0Sstevel@tonic-gate#	and shove stuff at it at 9600 baud you ask?
89*0Sstevel@tonic-gate#
90*0Sstevel@tonic-gate#	Emacs. Emacs seems to want to do the mathematically optimal
91*0Sstevel@tonic-gate#	thing in doing a redisplay rather than the practical thing.
92*0Sstevel@tonic-gate#	When it is about to output a line on top of a line that is
93*0Sstevel@tonic-gate#	already on the screen, instead of just killing to the end of
94*0Sstevel@tonic-gate#	the line and outputing the new line, it compares the old line
95*0Sstevel@tonic-gate#	and the new line and if there are any similarities, it
96*0Sstevel@tonic-gate#	constructs the new line by deleting the text on the old line
97*0Sstevel@tonic-gate#	on the terminal that is already there and then inserting new
98*0Sstevel@tonic-gate#	text into the line to transform it into the new line that is
99*0Sstevel@tonic-gate#	to be displayed. The Z29 does not act kindly to this.
100*0Sstevel@tonic-gate#
101*0Sstevel@tonic-gate#	But don't cry for too long.... There is a solution. You can make
102*0Sstevel@tonic-gate#	a termcap entry for the Z29 that says the Z29 has no insert mode.
103*0Sstevel@tonic-gate#	Then Emacs cannot use it. "Oh, no, but now inserting into a
104*0Sstevel@tonic-gate#	line will be really slow", you say. Well there is a sort of a
105*0Sstevel@tonic-gate#	solution to that too. There is an insert character option on
106*0Sstevel@tonic-gate#	the Z29 that will insert one character. Unfortunately, it
107*0Sstevel@tonic-gate#	involves putting the terminal into ansi mode, inserting the
108*0Sstevel@tonic-gate#	character, and changing it back to H19 mode. All this takes 12
109*0Sstevel@tonic-gate#	characters. Pretty expensive to insert one character, but it
110*0Sstevel@tonic-gate#	works. Either Emacs doesn't try to use its inserting hack when
111*0Sstevel@tonic-gate#	it's only given an insert character ability or the Z29 doesn't
112*0Sstevel@tonic-gate#	require padding with this (the former is probably more likely,
113*0Sstevel@tonic-gate#	but I haven't checked it out).
114*0Sstevel@tonic-gate#
115*0Sstevel@tonic-gatez29|zenith29|z29b|,
116*0Sstevel@tonic-gate	cr=^M, cud1=^J, ind=^J, bel=^G, is2=\E<\E[?2h\Ev, il1=\EL$<1>, am,
117*0Sstevel@tonic-gate	cub1=^H, ed=\EJ$<14>, el=\EK$<1>, clear=\EE$<14>,
118*0Sstevel@tonic-gate	cup=\EY%p1%' '%+%c%p2%' '%+%c,
119*0Sstevel@tonic-gate	cols#80, dch1=\EN$<0.1*>, dl1=\EM$<1>, cud1=\EB, home=\EH,
120*0Sstevel@tonic-gate	ich1=\E<\E[1@\E[?2h$<1>, lines#24, cuf1=\EC,
121*0Sstevel@tonic-gate	rmacs=\EF, smacs=\EG, ind=\n$<2>, msgr, ht=^I, ri=\EI$<2>, rmso=\Eq,
122*0Sstevel@tonic-gate	smso=\Ep, cuu1=\E$<1>A, cvvis=\Ex4, cnorm=\Ey4, kbs=^h, kcuu1=\EA,
123*0Sstevel@tonic-gate	kcud1=\EB, kcub1=\ED, kcuf1=\EC, khome=\EH, kf1=\ES,
124*0Sstevel@tonic-gate	kf2=\ET, kf3=\EU, kf4=\EV, kf5=\EW, kf6=\EP, kf7=\EQ, kf8=\ER,
125*0Sstevel@tonic-gate	kf9=\E0I, kf0=\E~, lf0=home,
126*0Sstevel@tonic-gate	cbt=\E-, smul=\Es8, rmul=\Es0,
127