conf/136336: [termcap] missing entry for "center of keypad" in xterm record

anonymous
Sun Jul 5 07:00:14 UTC 2009


>Number:         136336
>Category:       conf
>Synopsis:       [termcap] missing entry for "center of keypad" in xterm record
>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:   Sun Jul 05 07:00:06 UTC 2009
>Closed-Date:
>Last-Modified:
>Originator:     anonymous
>Release:        FreeBSD 8.0-CURRENT amd64
>Organization:
>Environment:
FreeBSD blah 8.0-CURRENT FreeBSD 8.0-CURRENT #1 r195339M: Sat Jul  4 21:17:30 UTC 2009     blah at blah:/usr/obj/usr/src/sys/BLAH  amd64
>Description:
Under syscons with and without GNU screen center of keypad (produces "5" with numlock) generates \E[E sequence that matches key_b2 capability in cons25 record. The same is true for plain xterm with xterm record. However, with screen center of keypad generates not \E[E but \EOE sequence. This sequence goes like the rest keypad sequences, e.g. ku: \E[A -> \EOA; kl: \E[C -> \EOC. One can enforce xterm to produce what it sees in termcap by `XTerm.keyboardType: tcap' resource. So you have correct mapping again. But this doesn't work because there is *no* entry for \EOE. So you get unchanged \E[E.
>How-To-Repeat:
1. $ xterm -kt tcap
2. turn off numlock
3. type Ctrl+V "center key" -> \E[E

It should be \EOE or whatever and present in termcap file for xterm record.

>Fix:
Workaround: add `termcapinfo xterm* K2=\EOE' to ~/.screenrc. This way one can use termcap binding instead of raw sequence, e.g.
$ screen -X bindkey -k K2 at xmp stuff " "

Another workaround: add :K2=\EOE: to xterm-xfree86 record in /etc/termcap

--- termcap.src.diff begins here ---
Index: share/termcap/termcap.src
===================================================================
--- share/termcap/termcap.src	(revision 195339)
+++ share/termcap/termcap.src	(working copy)
@@ -2809,7 +2809,7 @@ xterm-xfree86|XFree86 xterm:\
 	:k9=\E[20~:k;=\E[21~:F1=\E[23~:F2=\E[24~:\
 	:@7=\EOF:@8=\EOM:kI=\E[2~:\
 	:kh=\EOH:kP=\E[5~:kN=\E[6~:\
-	:ku=\EOA:kd=\EOB:kr=\EOC:kl=\EOD:Km=\E[M:tc=xterm-basic:
+	:ku=\EOA:kd=\EOB:kr=\EOC:kl=\EOD:K2=\EOE:Km=\E[M:tc=xterm-basic:
 #
 # This chunk is used for building the VT220/Sun/PC keyboard variants.
 xterm-basic|xterm common (XFree86):\
--- termcap.src.diff ends here ---

This one fixes GNU screen but not xterm `-kt tcap'.


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


More information about the freebsd-bugs mailing list