PC character set (0x00 to 0x1f) and ncurses

Robert L. Harris <bob@microprograms.com> wrote:

The plot thickens.

If I use (for example) waddch(window, ‘\031’ | A_ALTCHARSET), I get the
desired effect most of the time.

what does infocmp show for your terminal? (I keep looking at the ‘qnx’ entry,
which wouldn’t work properly w/o some changes).

BEL, BS, HT, CR, LF, and FF do not display the IBM graphics.

waddch(window, ‘\033’ | A_ALTCHARSET) yields the desired character (left
arrow) plus a “}”.

I would think printing ‘\033’ would be a problem in any case, since it
would normally begin an escape sequence. There may be some special case
where QNX is ignoring it, of course - a malformed sequence may/may not
echo the unrecognized characters, according to the implementation (usually
the final characters that aren’t recognized are echoed).


Thomas E. Dickey <dickey@radix.net> <dickey@herndon4.his.com>
http://dickey.his.com
ftp://dickey.his.com

To add a side comment to this thread…

I was only able to get correct keyboard input and character output by using
‘qansi’ as a terminal type.
in sysinit.x: ‘Dev.ansi -A’ and ‘TERM=qansi’. Straight qnx or ansi never worked
properly for me.

Thomas Dickey wrote:

Robert L. Harris <> bob@microprograms.com> > wrote:

The plot thickens.

If I use (for example) waddch(window, ‘\031’ | A_ALTCHARSET), I get the
desired effect most of the time.

what does infocmp show for your terminal? (I keep looking at the ‘qnx’ entry,
which wouldn’t work properly w/o some changes).

BEL, BS, HT, CR, LF, and FF do not display the IBM graphics.

waddch(window, ‘\033’ | A_ALTCHARSET) yields the desired character (left
arrow) plus a “}”.

I would think printing ‘\033’ would be a problem in any case, since it
would normally begin an escape sequence. There may be some special case
where QNX is ignoring it, of course - a malformed sequence may/may not
echo the unrecognized characters, according to the implementation (usually
the final characters that aren’t recognized are echoed).


Thomas E. Dickey <> dickey@radix.net> > <> dickey@herndon4.his.com
http://dickey.his.com
ftp://dickey.his.com

Ken Recchia <rectech@nctimes.net> wrote:

To add a side comment to this thread…

I was only able to get correct keyboard input and character output by using
‘qansi’ as a terminal type.
in sysinit.x: ‘Dev.ansi -A’ and ‘TERM=qansi’. Straight qnx or ansi never worked
properly for me.

I don’t have a copy of the terminfo (or termcap) description for that.
What I have in ncurses (note that there’s no smacs or rmacs strings):

Reconstructed via infocmp from file: /usr/share/terminfo/q/qnx

qnx|qnx4|qnx console,
daisy, km, mir, msgr, xhpa, xt,
colors#8, cols#80, it#4, lines#25, ncv#3, pairs#8,
acsc=O\333a\261j\331k\277l\332m\300n\305o\337q\304s\334t\303u\264v\301w\302x\263,
bel=^G, blink=\E{, bold=\E<, civis=\Ey0, clear=\EH\EJ,
cnorm=\Ey1, cr=^M, cub1=^H, cud1=^J, cuf1=\EC,
cup=\EY%p1%’ ‘%+%c%p2%’ ‘%+%c, cuu1=\EA, cvvis=\Ey2,
dch1=\Ef, dl1=\EF, ed=\EJ, el=\EK, home=\EH, ht=^I, ich1=\Ee,
il1=\EE, ind=^J, kBEG=\377\356, kCAN=\377\263,
kCMD=\377\267, kCPY=\377\363, kCRT=\377\364,
kDL=\377\366, kEND=\377\301, kEOL=\377\311,
kEXT=\377\367, kFND=\377\370, kHLP=\377\371,
kHOM=\377\260, kIC=\377\340, kLFT=\377\264,
kMOV=\377\306, kMSG=\377\304, kNXT=\377\272,
kOPT=\377\372, kPRT=\377\275, kPRV=\377\262,
kRDO=\377\315, kRES=\377\374, kRIT=\377\266,
kRPL=\377\373, kSAV=\377\307, kSPD=\377\303,
kUND=\377\337, kbeg=\377\300, kcan=\377\243, kcbt=\377\0,
kclo=\377\343, kclr=\377\341, kcmd=\377\245,
kcpy=\377\265, kcrt=\377\305, kctab=\377\237,
kcub1=\377\244, kcud1=\377\251, kcuf1=\377\246,
kcuu1=\377\241, kdch1=\377\254, kdl1=\377\274,
ked=\377\314, kel=\377\310, kend=\377\250, kent=\377\320,
kext=\377\270, kf1=\377\201, kf10=\377\212,
kf11=\377\256, kf12=\377\257, kf13=\377\213,
kf14=\377\214, kf15=\377\215, kf16=\377\216,
kf17=\377\217, kf18=\377\220, kf19=\377\221,
kf2=\377\202, kf20=\377\222, kf21=\377\223,
kf22=\377\224, kf23=\377\333, kf24=\377\334,
kf25=\377\225, kf26=\377\226, kf27=\377\227,
kf28=\377\230, kf29=\377\231, kf3=\377\203,
kf30=\377\232, kf31=\377\233, kf32=\377\234,
kf33=\377\235, kf34=\377\236, kf35=\377\276,
kf36=\377\277, kf37=\377\321, kf38=\377\322,
kf39=\377\323, kf4=\377\204, kf40=\377\324,
kf41=\377\325, kf42=\377\326, kf43=\377\327,
kf44=\377\330, kf45=\377\331, kf46=\377\332,
kf47=\377\316, kf48=\377\317, kf5=\377\205, kf6=\377\206,
kf7=\377\207, kf8=\377\210, kf9=\377\211, kfnd=\377\346,
khlp=\377\350, khome=\377\240, khts=\377\342,
kich1=\377\253, kil1=\377\273, kind=\377\261,
kmov=\377\351, kmrk=\377\355, kmsg=\377\345,
knp=\377\252, knxt=\377\312, kopn=\377\357,
kopt=\377\353, kpp=\377\242, kprt=\377\255,
kprv=\377\302, krdo=\377\336, kref=\377\354,
kres=\377\360, krfr=\377\347, kri=\377\271,
krmir=\377\313, krpl=\377\362, krst=\377\352,
ksav=\377\361, kslt=\377\247, kspd=\377\335,
ktbc=\377\344, kund=\377\365, mvpa=\E!%p1%02d, op=\ER,
rep=\Eg%p2%’ '%+%c%p1%c, rev=\E(, ri=\EI, rmcup=\Eh\ER,
rmso=\E), rmul=\E], rs1=\ER, setb=\E@%p1%Pb%gb%gf%d%d,
setf=\E@%p1%Pf%gb%gf%d%d, sgr0=\E}\E]\E>\E), smcup=\Ei,
smso=\E(, smul=\E[,

\

Thomas E. Dickey <dickey@radix.net> <dickey@herndon4.his.com>
http://dickey.his.com
ftp://dickey.his.com

hessling mark <hesslinm@pigeon.qut.edu.au> writes:

Xiaodan Tang <> xtang@ottawa.com> > wrote:
[snip]

: So next port, I am going to drop the mouse support on
: “qnxm” terminal (is any body still using it? I doubt).

Yes, I rely on the mouse support, for THE and Rexx/Curses under QNX. I’m
using ncurses 4.2.

I still use qnxm mouse support in Photon for Emacs mouse support.


Andrew Thomas, President, Cogent Real-Time Systems Inc.
2430 Meadowpine Boulevard, Suite 105, Mississauga, Ontario, Canada L5N 6S2
Email: andrew@cogent.ca WWW: http://www.cogent.ca

Ken Recchia <rectech@nctimes.net> wrote:

To add a side comment to this thread…

I was only able to get correct keyboard input and character output by using
‘qansi’ as a terminal type. in sysinit.x: ‘Dev.ansi -A’ and ‘TERM=qansi’.
Straight qnx or ansi never worked properly for me.

I have a copy of the qnx terminfo from before ncurses 4.2 which does
have those (qansi, etc) entries, but they weren’t part of the 4.2 port
for some reason. qansi does have rmacs/smacs entries - which would
apply to the character set mapping. (I didn’t check on the other
differences such as function keys).


Thomas E. Dickey <dickey@radix.net> <dickey@herndon4.his.com>
http://dickey.his.com
ftp://dickey.his.com

For completeness here is qansi:

qansi

qansi|QNX ansi with console writes,
am, hs, eslok, xon, xhpa, daisy,
cols#80, it#8, lines#25, wsl#80, colors#8, pairs#64, ncv#19,
cbt=\E[Z, bel=^g, cr=\r, csr=\E[%i%p1%d;%p2%dr, tbc=\E[2g,
clear=\E[2J\E[H, el=\E[K, ed=\E[J, hpa=\E[%i%p1%dG,
cup=\E[%i%p1%d;%p2%dH$<5>, cud1=\E[B, home=\E[H,
civis=\E[?25l, cub1=\E[D, cnorm=\E[?25h\E[?12l, cuf1=\E[C,
ll=\E[99H, cuu1=\E[A, dch1=\E[P, dl1=\E[1M, dsl=\E[r,
smacs=\E[12m, blink=\E[5m, bold=\E[1m, dim=\E[2m,
invis=\E[9m, rev=\E[7m, smso=\E[7m, smul=\E[4m,
ech=\E[%p1%dX, rmacs=\E[10m, sgr0=\E[m, rmso=\E[27m,
rmul=\E[24m, flash=\E[?5h$<200>\E[?5l, fsl=\E[?6h\E8,
is2=\E>\E[?1l\E[?7h\E[0;10;39;49m, is3=\E(B\E)0, ich1=\E[1@,
il1=\E[1L, kbs=\b, ktbc=\ENd, kclr=\ENa, kctab=\E[z,
kdch1=\E[P, kdl1=\E[p, kcud1=\E[B, kf1=\EOP, kf10=\EOY,
kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\EOU, kf7=\EOV,
kf8=\EOW, kf9=\EOX, khome=\E[H, kich1=\E[@, kil1=\E[`,
kcub1=\E[D, knp=\E[U, kpp=\E[V, kcuf1=\E[C, kind=\E[a,
kri=\E[b, khts=\ENb, kcuu1=\E[A, nel=\EE, dch=\E[%p1%dP,
dl=\E[%p1%dM, cud=\E[%p1%dB, ich=\E[%p1%d@, indn=\E[%p1%dS,
il=\E[%p1%dL, cub=\E[%p1%dD, cuf=\E[%p1%dC, rin=\E[%p1%dT,
cuu=\E[%p1%dA, rep=%p1%c\E[%p2%{1}%-%db,
rs1=^o\E[?7h\E[0;39;49m$<2>\E>\E[?1l,
rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, ind=\E[S, ri=\E[T,
sgr=\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%t;7%;%?%p7%t;8%;m%?%p9%t\E[12m%e\E[10m%;,

hts=\EH, ht=\t, tsl=\E7\E1;24r\E[?6l\E[25;%i%p1%dH,
acsc=a1fxgqh0jYk?lZm@nEo_p_qDr\s\tCu4vAwBx3yszr{c}^|~zIhO[,
kcbt=\E[Z, smam=\E[?7h, rmam=\E[?7l, kcan=\E[S, kclo=\ENc,
kcmd=\E[G, kcpy=\E[g, kend=\E[Y, kext=\E[y, kfnd=\ENf,
khlp=\ENh, kmrk=\ENm, kmsg=\ENe, kmov=\ENi, kopn=\ENo,
kopt=\ENk, kref=\ENl, krfr=\ENg, krpl=\ENr, krst=\ENj,
kres=\ENp, ksav=\ENq, kund=\ENu, kBEG=\ENn, kCAN=\E[s,
kCMD=\E[t, kCPY=\ENs, kCRT=\ENt, kDL=\ENv, kslt=\E[T,
kEXT=\ENw, kFND=\ENx, kHLP=\ENy, kHOM=\E[h, kLFT=\E[d,
kNXT=\E[u, kOPT=\ENz, kPRV=\E[v, kRIT=\E[c, kf11=\EOZ,
kf12=\EOA, kf13=\EOp, kf14=\EOq, kf15=\EOr, kf16=\EOs,
kf17=\EOt, kf18=\EOu, kf19=\EOv, kf20=\EOw, kf21=\EOx,
kf22=\EOy, kf23=\EOz, kf24=\EOa, kf25=\E[1~, kf26=\E[2~,
kf27=\E[3~, kf28=\E[4~, kf29=\E[5~, kf30=\E[6~, kf31=\E[7~,
kf32=\E[8~, kf33=\E[9~, kf34=\E[10~, kf35=\E[11~,
kf36=\E[12~, kf37=\E[17~, kf38=\E[18~, kf39=\E[19~,
kf40=\E[20~, kf41=\E[21~, kf42=\E[22~, kf43=\E[23~,
kf44=\E[24~, kf45=\E[25~, kf46=\E[26~, kf47=\E[27~,
kf48=\E[28~, el1=\E[1K\E[X, op=\E[39;49m,
setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,


Thomas Dickey wrote:

Ken Recchia <> rectech@nctimes.net> > wrote:
To add a side comment to this thread…

I was only able to get correct keyboard input and character output by using
‘qansi’ as a terminal type. in sysinit.x: ‘Dev.ansi -A’ and ‘TERM=qansi’.
Straight qnx or ansi never worked properly for me.

I have a copy of the qnx terminfo from before ncurses 4.2 which does
have those (qansi, etc) entries, but they weren’t part of the 4.2 port
for some reason. qansi does have rmacs/smacs entries - which would
apply to the character set mapping. (I didn’t check on the other
differences such as function keys).


Thomas E. Dickey <> dickey@radix.net> > <> dickey@herndon4.his.com
http://dickey.his.com
ftp://dickey.his.com