Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 9 Feb 2011 10:58:23 +0100 (CET)
From:      Ulrich Spoerlein <uqs@FreeBSD.org>
To:        FreeBSD-gnats-submit@FreeBSD.org
Cc:        ed@FreeBSD.org
Subject:   misc/154609: END key under screen not sending correct code to ncurses apps
Message-ID:  <201102090958.p199wN9R000328@acme.spoerlein.net>
Resent-Message-ID: <201102091000.p19A0NQE008418@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         154609
>Category:       misc
>Synopsis:       END key under screen not sending correct code to ncurses apps
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Feb 09 10:00:22 UTC 2011
>Closed-Date:
>Last-Modified:
>Originator:     Ulrich Spörlein
>Release:        FreeBSD 8.2-PRERELEASE amd64
>Organization:
>Environment:
	
>Description:
Something similar was fixed for the 'xterm' termcap entry a while ago. When
running mutt under screen, the same broken behaviour surfaces.

See

http://lists.freebsd.org/pipermail/freebsd-x11/2007-July/004891.html
http://git.freebsd.your.org/cgit/cgit.cgi/freebsd-head/commit/?id=8549e2650c7f1b0d98665bf5d1c3af16f1d830d3

>How-To-Repeat:
I tried several combinations to get this working, none successful though.

- Put 'term xterm' in screenrc, startup screen $TERMCAP looks suspiciously like the 'screen' entry, not 'xterm'.
- Putting termcap/terminfo/termcapinfo 'xterm ti@:te@:tc=xterm-xfree86:' into .screenrc, same result.
- Unsetting $TERMCAP inside screen, no go
- Overriding the 'screen' entry in .termcap, does nothing

Under linux it also only works when I don't override 'term xterm' in .screenrc.

Using mutt's what-key feature under FreeBSD within screen (no matter the term override):
Char = <Home>, Octal = 406, Decimal = 262   # Home key
Char = <F83>, Octal = 533, Decimal = 347    # End key

FreeBSD/xterm/TERM=xterm (no screen involved)
Char = <Home>, Octal = 406, Decimal = 262
Char = <End>, Octal = 550, Decimal = 360

Under Ubuntu/screen/TERM=screen
Char = <Home>, Octal = 406, Decimal = 262
Char = <End>, Octal = 550, Decimal = 360

Under Ubuntu/screen/TERM=xterm
Char = ~, Octal = 176, Decimal = 126  # Home key
Char = ~, Octal = 176, Decimal = 126  # End key, sic! neither of them DTRT in mutt

Under Ubuntu/xterm/TERM=xterm (no screen involved)
Char = <Home>, Octal = 406, Decimal = 262
Char = <End>, Octal = 550, Decimal = 360

So when in FreeBSD, starting a plain screen(1) I'm left with the following termcap:

% echo $TERMCAP
SC|screen|VT 100/ANSI X3.64 virtual terminal:\
        :DO=\E[%dB:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:bs:bt=\E[Z:\
        :cd=\E[J:ce=\E[K:cl=\E[H\E[J:cm=\E[%i%d;%dH:ct=\E[3g:\
        :do=^J:nd=\E[C:pt:rc=\E8:rs=\Ec:sc=\E7:st=\EH:up=\EM:\
        :le=^H:bl=^G:cr=^M:it#8:ho=\E[H:nw=\EE:ta=^I:is=\E)0:\
        :li#54:co#160:am:xn:xv:LP:sr=\EM:al=\E[L:AL=\E[%dL:\
        :cs=\E[%i%d;%dr:dl=\E[M:DL=\E[%dM:dc=\E[P:DC=\E[%dP:\
        :im=\E[4h:ei=\E[4l:mi:IC=\E[%d@:ks=\E[?1h\E=:\
        :ke=\E[?1l\E>:vi=\E[?25l:ve=\E[34h\E[?25h:vs=\E[34l:\
        :ti=\E[?1049h:te=\E[?1049l:us=\E[4m:ue=\E[24m:so=\E[3m:\
        :se=\E[23m:md=\E[1m:mr=\E[7m:me=\E[m:ms:\
        :Co#8:pa#64:AF=\E[3%dm:AB=\E[4%dm:op=\E[39;49m:AX:G0:\
        :as=\E(0:ae=\E(B:\
        :ac=\140\140aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~..--++,,hhII00:\
        :k0=\E[10~:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:\
        :k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:\
        :F1=\E[23~:F2=\E[24~:kb=^H:kh=\E[1~:@1=\E[1~:kH=\E[4~:\
        :@7=\E[4~:kN=\E[6~:kP=\E[5~:kI=\E[2~:kD=\E[3~:ku=\EOA:\
        :kd=\EOB:kr=\EOC:kl=\EOD:km:

While Ubuntu has this one:

% echo $TERMCAP
SC|screen|VT 100/ANSI X3.64 virtual terminal:\
        :DO=\E[%dB:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:bs:bt=\E[Z:\
        :cd=\E[J:ce=\E[K:cl=\E[H\E[J:cm=\E[%i%d;%dH:ct=\E[3g:\
        :do=^J:nd=\E[C:pt:rc=\E8:rs=\Ec:sc=\E7:st=\EH:up=\EM:\
        :le=^H:bl=^G:cr=^M:it#8:ho=\E[H:nw=\EE:ta=^I:is=\E)0:\
        :li#60:co#155:am:xn:xv:LP:sr=\EM:al=\E[L:AL=\E[%dL:\
        :cs=\E[%i%d;%dr:dl=\E[M:DL=\E[%dM:dc=\E[P:DC=\E[%dP:\
        :im=\E[4h:ei=\E[4l:mi:IC=\E[%d@:ks=\E[?1h\E=:\
        :ke=\E[?1l\E>:vi=\E[?25l:ve=\E[34h\E[?25h:vs=\E[34l:\
        :ti=\E[?1049h:te=\E[?1049l:us=\E[4m:ue=\E[24m:so=\E[3m:\
        :se=\E[23m:mb=\E[5m:md=\E[1m:mr=\E[7m:me=\E[m:ms:\
        :Co#8:pa#64:AF=\E[3%dm:AB=\E[4%dm:op=\E[39;49m:AX:\
        :vb=\Eg:G0:as=\E(0:ae=\E(B:\
        :ac=\140\140aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~..--++,,hhII00:\
        :po=\E[5i:pf=\E[4i:k0=\E[10~:k1=\EOP:k2=\EOQ:k3=\EOR:\
        :k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:\
        :k9=\E[20~:k;=\E[21~:F1=\E[23~:F2=\E[24~:F3=\EO2P:\
        :F4=\EO2Q:F5=\EO2R:F6=\EO2S:F7=\E[15;2~:F8=\E[17;2~:\
        :F9=\E[18;2~:FA=\E[19;2~:kb=:K2=\EOE:kB=\E[Z:\
        :*4=\E[3;2~:*7=\E[1;2F:#2=\E[1;2H:#3=\E[2;2~:#4=\E[1;2D:\
        :%c=\E[6;2~:%e=\E[5;2~:%i=\E[1;2C:kh=\E[1~:@1=\E[1~:\
        :kH=\E[4~:@7=\E[4~:kN=\E[6~:kP=\E[5~:kI=\E[2~:kD=\E[3~:\
        :ku=\EOA:kd=\EOB:kr=\EOC:kl=\EOD:km:


>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201102090958.p199wN9R000328>