hp termcap - 1st cut
Posted in 1996
Pholks, Carleton wanted one, and I've been putting it off for a couple of years, and I needed one so.... I essentially modifed the termcap entry as provided in $INFORMIXDIR/etc. The first 5 lines are from that entry, the rest I added. Properly I should re-order them, but will wait until after the fallout. I added a bunch of capabilties which I cannot imagine will ever be used and I can't think of a way to test some of them offhand. The big ones that I have tested are: color Next / Prev page keys (my users kept hitting these - hence why I bothered). Insert / Delete lines Function keys 1-8 Attributes (dim, reverse, underline - Informix doesn't have a DIM attribute, and my hpterm sessions don't support blink, so I remapped blink to dim). kC, kD, kL, kE, kS - Clear screen, del char, del line, clear eol, and clear eos. These appear to work nicely in vi (excepting clear eos - which vi doesn't want to use - it just refreshes) kI, kA, kN, kP - Ins character, Ins line, key next, key prev. I also added: NL, lh, lw - label specifications LF, LO - soft labels on/off ll - down home (;-)) as, ae - start and end alternate character set - been driving me batty trying to get it to grab the line draw characters. sf, sr - scroll text up/down some of these you will never notice since code will just use the sequence instead of doing it the old way - it might even be slower - hey you can always delete it. I followed the term0 guidelines, so these new entries should work for any hp terminal. I have been testing the color with mixed results. Many of the colors appear to be reversed (Yellow and Red for example) - any ideas? I also haven't solved the magic cookie glitch (where borders and attributes write to the end of the line - wiping out all data) - and of course I am still struggling with getting the alternate character set to be found so that I can use the line drawing characters to draw the border. I'm afraid that's really all I have time to work on at this point. If anyone has any bright ideas on how to address any of these issues let me know and I'll attempt to correct them. If you want code to program the function keys let me know, I worked up some quick and dirty code which programs them that I can share. without further ado. h4|hp|hp2645|2645|hp2640b|2640b|hp 264x series:\\ :if=/usr/lib/tabset/stdcrt:\\ :ms:al=\\EL:am:bs:cd=\\EJ:ce=\\EK:ch=\\E&a%dC:cl=\\EH\\EJ:cm=6\\E&a%r%dc%dY:\\ :co#80:cv=\\E&a%dY:da:db:dc=\\EP:dl=\\EM:ei=\\ER:im=\\EQ:\\ :kb=^H:ku=\\EA:kd=\\EB:kl=\\ED:kr=\\EC:kh=\\Eh:ks=\\E&s1A:ke=\\E&s0A:\\ :li#24:mi:ml=\\El:mu=\\Em:nd=\\EC:pt:se=\\E&d@:so=\\E&dJ:\\ :Nl=8:lh=2:lw=8:ll=\\EF:as=^N:ae=^O:\\ :mb=\\E&dA:md=\\E&dJ:mh=\\E&dH:mr=\\E&dB:me=\\E&d@:\\ :ic=\\EQ:kC=\\Eh\\EJ:kD=\\EP:kL=\\EM:kE=\\EK:kS=\\EJ:\\ :kI=\\EQ:kA=\\EL:kN=\\E[U:kP=\\E[U:\\ :LF=\\E&j@:LO=\\E&jB:sf=\\ES:sr=\\ET:\\ :us=\\E&dD:ue=\\E&d@:up=\\EA:xs:\\ :i1=\\E&v1a1b1c0i1a1b1i1a1c2i1a3i1b1c4i1b5i1c6i7I:\\ :kg=\\EV:kf=\\EU:ki=\\EL:kj=\\EM:\\ :k0=\\Ep:k1=\\Eq:k2=\\Er:k3=\\Es:k4=\\Et:k5=\\Eu:k6=\\Ev:k7=\\Ew:\\ :ZG#0:ZA=\\E&d%'@'%?%p3%t%{8}%+%;%?%p4%t%{4}%+%;%?%p2%t%{2}%+%;%c\\E&v%p1%dS: #ZA = #E&d # attribute intro #%'@' # push normal onto stack #%?%p3%t%{8}%+%; # if blink (remapped to dim) push 8 and add #%?%p4%t%{4}%+%; # if Underscore push 4 and add #%?%p2%t%{2}%+%; # if rvideo push 2 and add #%c: # pop stack and go. # # using this method, blink would be %{1}%+ # but wait - we haven't added clor yet! so the last line above is really #%c # # color init #E&v #%p1 # pushes p1 onto stack #%cS: # pop it off, add an 'S' cheers j. _____________________________________________________________________________ Jack Parker - Hewlett Packard, DMD/IS Boise, Idaho, USA jparker@hpbs3645.boi.hp.com _____________________________________________________________________________ "I'm with the IRS, I'm here to help you" _____________________________________________________________________________ Any opinions expressed herein are my own and not those of my employers. _____________________________________________________________________________