1

On some of my newer Ubuntus, the number keypad /, *, -, and + keys don't work. If I quit tmux and just use a regular ol' Putty SSH session, they do.

  • Ubuntu 14 tmux 1.8 works
  • Ubuntu 16 tmux 2.1 works
  • Ubuntu 18 tmux 2.6 doesn't work

Is there an option I can use in a tmux.conf file to restore that behavior?

I briefly RTFM and don't see pertinent info. Searching the man page for "number" returns too many results, as does "star" (false positive "start")

Edit: Added output of infocmp

Keys working in regular Putty SSH session

root@U18 :~# infocmp # '/', '*', '-', '+' working
#       Reconstructed via infocmp from file: /lib/terminfo/x/xterm
xterm|xterm-debian|X11 terminal emulator,
        am, 
        bce, 
        km, 
        mc5i, 
        mir, 
        msgr, 
        npc, 
        xenl,
        colors#8, 
        cols#80, 
        it#8, 
        lines#24, 
        pairs#64,
        acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
        bel=^G, 
        blink=\E[5m, 
        bold=\E[1m, 
        cbt=\E[Z, 
        civis=\E[?25l,
        clear=\E[H\E[2J, 
        cnorm=\E[?12l\E[?25h, 
        cr=\r,
        csr=\E[%i%p1%d;%p2%dr, 
        cub=\E[%p1%dD, 
        cub1=^H,
        cud=\E[%p1%dB, 
        cud1=\n, 
        cuf=\E[%p1%dC, 
        cuf1=\E[C,
        cup=\E[%i%p1%d;%p2%dH, 
        cuu=\E[%p1%dA, 
        cuu1=\E[A,
        cvvis=\E[?12;25h, 
        dch=\E[%p1%dP, 
        dch1=\E[P, 
        dim=\E[2m,
        dl=\E[%p1%dM, 
        dl1=\E[M, 
        ech=\E[%p1%dX, 
        ed=\E[J, 
        el=\E[K,
        el1=\E[1K, 
        flash=\E[?5h$<100/>\E[?5l, 
        home=\E[H,
        hpa=\E[%i%p1%dG, 
        ht=^I, 
        hts=\EH, 
        ich=\E[%p1%d@,
        il=\E[%p1%dL, 
        il1=\E[L, 
        ind=\n, 
        indn=\E[%p1%dS,
        invis=\E[8m, 
        is2=\E[!p\E[?3;4l\E[4l\E>, 
        kDC=\E[3;2~,
        kEND=\E[1;2F, 
        kHOM=\E[1;2H, 
        kIC=\E[2;2~, 
        kLFT=\E[1;2D,
        kNXT=\E[6;2~, 
        kPRV=\E[5;2~, 
        kRIT=\E[1;2C, 
        kb2=\EOE, 
        kbs=^?,
        kcbt=\E[Z, 
        kcub1=\EOD, 
        kcud1=\EOB, 
        kcuf1=\EOC, 
        kcuu1=\EOA,
        kdch1=\E[3~, 
        kend=\EOF, 
        kent=\EOM, 
        kf1=\EOP, 
        kf10=\E[21~,
        kf11=\E[23~, 
        kf12=\E[24~, 
        kf13=\E[1;2P, 
        kf14=\E[1;2Q,
        kf15=\E[1;2R, 
        kf16=\E[1;2S, 
        kf17=\E[15;2~, 
        kf18=\E[17;2~,
        kf19=\E[18;2~, 
        kf2=\EOQ, 
        kf20=\E[19;2~, 
        kf21=\E[20;2~,
        kf22=\E[21;2~, 
        kf23=\E[23;2~, 
        kf24=\E[24;2~,
        kf25=\E[1;5P, 
        kf26=\E[1;5Q, 
        kf27=\E[1;5R, 
        kf28=\E[1;5S,
        kf29=\E[15;5~, 
        kf3=\EOR, 
        kf30=\E[17;5~, 
        kf31=\E[18;5~,
        kf32=\E[19;5~, 
        kf33=\E[20;5~, 
        kf34=\E[21;5~,
        kf35=\E[23;5~, 
        kf36=\E[24;5~, 
        kf37=\E[1;6P, 
        kf38=\E[1;6Q,
        kf39=\E[1;6R, 
        kf4=\EOS, 
        kf40=\E[1;6S, 
        kf41=\E[15;6~,
        kf42=\E[17;6~, 
        kf43=\E[18;6~, 
        kf44=\E[19;6~,
        kf45=\E[20;6~, 
        kf46=\E[21;6~, 
        kf47=\E[23;6~,
        kf48=\E[24;6~, 
        kf49=\E[1;3P, 
        kf5=\E[15~, 
        kf50=\E[1;3Q,
        kf51=\E[1;3R, 
        kf52=\E[1;3S, 
        kf53=\E[15;3~, 
        kf54=\E[17;3~,
        kf55=\E[18;3~, 
        kf56=\E[19;3~, 
        kf57=\E[20;3~,
        kf58=\E[21;3~, 
        kf59=\E[23;3~, 
        kf6=\E[17~, 
        kf60=\E[24;3~,
        kf61=\E[1;4P, 
        kf62=\E[1;4Q, 
        kf63=\E[1;4R, 
        kf7=\E[18~,
        kf8=\E[19~, 
        kf9=\E[20~, 
        khome=\EOH, 
        kich1=\E[2~,
        kind=\E[1;2B, 
        kmous=\E[M, 
        knp=\E[6~, 
        kpp=\E[5~,
        kri=\E[1;2A, 
        mc0=\E[i, 
        mc4=\E[4i, 
        mc5=\E[5i, 
        meml=\El,
        memu=\Em, 
        op=\E[39;49m, 
        rc=\E8, 
        rep=%p1%c\E[%p2%{1}%-%db,
        rev=\E[7m, 
        ri=\EM, 
        rin=\E[%p1%dT, 
        ritm=\E[23m, 
        rmacs=\E(B,
        rmam=\E[?7l, 
        rmcup=\E[?1049l\E[23;0;0t, 
        rmir=\E[4l,
        rmkx=\E[?1l\E>, 
        rmm=\E[?1034l, 
        rmso=\E[27m, 
        rmul=\E[24m,
        rs1=\Ec, 
        rs2=\E[!p\E[?3;4l\E[4l\E>, 
        sc=\E7,
        setab=\E[4%p1%dm, 
        setaf=\E[3%p1%dm,
        setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
        setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
        sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m,
        sgr0=\E(B\E[m, 
        sitm=\E[3m, 
        smacs=\E(0, 
        smam=\E[?7h,
        smcup=\E[?1049h\E[22;0;0t, 
        smir=\E[4h, 
        smkx=\E[?1h\E=,
        smm=\E[?1034h, 
        smso=\E[7m, 
        smul=\E[4m, 
        tbc=\E[3g,
        u6=\E[%i%d;%dR, 
        u7=\E[6n, 
        u8=\E[?%[;0123456789]c,
        u9=\E[c, 
        vpa=\E[%i%p1%dd,

Keys not working within tmux in regular Putty SSH session

root@U18 :~# infocmp # '/', '*', '-', '+' working
#       Reconstructed via infocmp from file: /lib/terminfo/s/screen
screen|VT 100/ANSI X3.64 virtual terminal,
        am, 
        km, 
        mir, 
        msgr, 
        xenl,
        colors#8, 
        cols#80, 
        it#8, 
        lines#24, 
        ncv@, 
        pairs#64,
        acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
        bel=^G, 
        blink=\E[5m, 
        bold=\E[1m, 
        cbt=\E[Z, 
        civis=\E[?25l,
        clear=\E[H\E[J, 
        cnorm=\E[34h\E[?25h, 
        cr=\r,
        csr=\E[%i%p1%d;%p2%dr, 
        cub=\E[%p1%dD, 
        cub1=^H,
        cud=\E[%p1%dB, 
        cud1=\n, 
        cuf=\E[%p1%dC, 
        cuf1=\E[C,
        cup=\E[%i%p1%d;%p2%dH, 
        cuu=\E[%p1%dA, 
        cuu1=\EM,
        cvvis=\E[34l, 
        dch=\E[%p1%dP, 
        dch1=\E[P, 
        dim=\E[2m,
        dl=\E[%p1%dM, 
        dl1=\E[M, 
        ed=\E[J, 
        el=\E[K, 
        el1=\E[1K,
        enacs=\E(B\E)0, 
        flash=\Eg, 
        home=\E[H, 
        hpa=\E[%i%p1%dG,
        ht=^I, 
        hts=\EH, 
        ich=\E[%p1%d@, 
        il=\E[%p1%dL, 
        il1=\E[L,
        ind=\n, 
        indn=\E[%p1%dS, 
        is2=\E)0, 
        kbs=^?, 
        kcbt=\E[Z,
        kcub1=\EOD, 
        kcud1=\EOB, 
        kcuf1=\EOC, 
        kcuu1=\EOA,
        kdch1=\E[3~, 
        kend=\E[4~, 
        kf1=\EOP, 
        kf10=\E[21~,
        kf11=\E[23~, 
        kf12=\E[24~, 
        kf2=\EOQ, 
        kf3=\EOR, 
        kf4=\EOS,
        kf5=\E[15~, 
        kf6=\E[17~, 
        kf7=\E[18~, 
        kf8=\E[19~, 
        kf9=\E[20~,
        khome=\E[1~, 
        kich1=\E[2~, 
        kmous=\E[M, 
        knp=\E[6~, 
        kpp=\E[5~,
        nel=\EE, 
        op=\E[39;49m, 
        rc=\E8, 
        rev=\E[7m, 
        ri=\EM, 
        rmacs=^O,
        rmcup=\E[?1049l, 
        rmir=\E[4l, 
        rmkx=\E[?1l\E>, 
        rmso=\E[23m,
        rmul=\E[24m, 
        rs2=\Ec\E[?1000l\E[?25h, 
        sc=\E7,
        setab=\E[4%p1%dm, 
        setaf=\E[3%p1%dm,
        sgr=\E[0%?%p6%t;1%;%?%p1%t;3%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;m%?%p9%t\016%e\017%;,
        sgr0=\E[m\017, 
        smacs=^N, 
        smcup=\E[?1049h, 
        smir=\E[4h,
        smkx=\E[?1h\E=, 
        smso=\E[3m, 
        smul=\E[4m, 
        tbc=\E[3g,
        vpa=\E[%i%p1%dd,
1

You can change the settings of PuTTy :
Terminal → Keyboard → The Function keys and keypad → Select "Xterm R6".

It worked for me !
(Thanks to Thomas Dickey for the informations regarding PuTTy and Xterm).

  • This did it for me. I haven't changed that setting for any other Putty bookmarks and it just stopped working. It seems newer OSs there was a change somewhere. – user208145 Feb 7 at 20:52
1

The terminal description probably enables keypad application mode. If you use infocmp to display the terminal description, that's the smkx (set) and rmkx (reset) capabilities.

For example

smkx=\E[?1h\E=,
rmkx=\E[?1l\E>,

and in xterm's control sequences documentation, the latter part is seen (ESC is represented in terminfo as \E):

ESC =     Application Keypad (DECKPAM).

ESC >     Normal Keypad (DECKPNM), VT100.

You could (in principle) modify that using tic to recompile the output of infocmp after editing it to your tastes, but that's fairly standard...

If you were asking about xterm, that's discussed in its FAQ. PuTTY's faq has little or no useful information about terminal descriptions. (PuTTY is not xterm — see description).

  • Putty has an option named "Disable application keypad mode", but I've compared that option to other bookmarks and the settings have been identical, so I ruled that out as an option. As stated, the num key math operators worked in previous versions of tmux, and they work when not in a tmux session. infocmp does output different data when in a tmux session versus a standard putty session. I've updated my question to include this difference. There is no "rmkx" value defined – user208145 Oct 12 '18 at 22:28
  • 1
    tmux uses the outer (xterm) terminal description to initialize the terminal, which (unless you've disabled the feature...) will make the keypad send escape sequences which don't appear in the inner (screen), and are discarded. – Thomas Dickey Oct 12 '18 at 22:59
  • So I would have to add the key sequences to the inner terminal description? That's what you were talking about with "...modify that using tic to recompile ..."? – user208145 Oct 12 '18 at 23:18
  • 1
    not exactly - see source code. Sounds like PuTTY and tmux don't agree on what's happening. – Thomas Dickey Oct 13 '18 at 0:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.