Escape sequence for Function keys - terminfo

Having a doubt on how Function keys are mapped.

  1. In my HPUX box my infocmp shows that kf1 (F1 key mapping) is not mapped. But somehow I am able to use an Informix form which requires navigation using F1 keys.
vt100-w|vt100-w-am|dec vt100 132 cols (w/advanced video),
        bce, bw, ccc, chts, cpix, crxm, da, daisy, db, eo,
        eslok, gn, hc, hls, hs, hz, in, km, lpix, mc5i, mir,
        msgr, ndscr, npc, nrrmc, nxon, os, sam, ul, xhp,
        xhpa, xon, xsb, xt, xvpa,
        cols#132, lines#24, vt#3,
        bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25I,
        clear=\E[2J\E[H, cnorm=\E[?25h, cr=\r,
        csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=\E[D,
        cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C,
        cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
        cvvis=\E[?25h, dch=\E[%p1%dP, dch1=\E[1P,
        dl=\E[%p1%dM, dl1=\E[1M, ed=\E[0J, el=\E[0K,
        home=\E[1;1H, ht=\t, hts=\EH, il=\E[%p1%dL, il1=\E[1L,
        ind=\n, kbs=\177, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC,
        kcuu1=\EOA, knp=\E[U, kpp=\E[V, rc=\E8, rev=\E[7m,
        rmir=\E[4l, rmkx=\E[?1l, rmso=\E[m, rmul=\E[m,
        rs2=\E>\E[?3h\E[?4l\E[?5l\E[?8h, sc=\E7,
        sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m,
        sgr0=\E[0m, smir=\E[4h, smkx=\E[?1h, smso=\E[7m,
        smul=\E[4m, tbc=\E[3g,
  1. My attempts to send F1 command to the form from a script has all failed (was able to send cursor down command cud1 etc):
    a. echo "^[Oa"  (verified that escape seq is Oa by using ^V)
     b. tput kf1  
  \(obviously because kf1 is not mapped\)

Had an interesting observation while I tee'd the stdin. Can add if needed. Please shed some light on how this works.

The short answer is that Informix or whatever is very likely using a graphics library called curses. ncurses is the current name for the library. It is written in C.
If you want a graphical user interface, with no programming, and maybe function key mapping, set up an xterm.

Are you on the system console? You need to elaborate on how you connect - example: over ssh using putty - if you want to get help doing GUI.

You can also use interfaces like putty, or use the stty to do some of what you seem to want.

So - please tell us what you want to do.

If you are using a telnet client of any sort (putty is most common), then you could have the mapping being done by that application. It is also possible that Informix does its own mapping (been a while since I played with Informix), which may be why you are able to do things inside the database that you can't do outside the database since the function key macros and library calls wouldn't be the same.

Thanks for your reply. I am using TeraTerm but the Terminal type is just vt100. And the form restricts us from opening it in any other terminal mode other than vt100. I had tried xterm and vt220.

When I use Putty the function keys do not work. So as you guys said there might be some mapping being done by the Terminal emulator TeraTerm. But even if terminal emulator does some mapping wouldnt it fall as the responsibility of the terminfo database to map those sequences to the correct keys/capabilities.

I will definitely read up on ncurses, had skipped it even though it came up here and there.