Comment 34 for bug 96676

Revision history for this message
Alexey Borzenkov (snaury) wrote : Re: [feisty] function keys don't work in gnome-terminal

I'd like to second steviant's request. For a long time this bug forced me to use konsole instead of gnome-terminal, just for ability to press Shift+F4. Unfortunately with konsole Shift+Left/Shift+Right don't work (which work under gnome-terminal), so editing text files is not of much use. It's really annoying that I can get one part of a functionality with only one terminal and the other half only with other. :-/

I've just downloaded ncurses sources and finally found why Thomas Dickey's example didn't make sense (and didn't compile). There's no xterm-xf86-v44. Ubuntu actually uses xterm-debian. So the first attempt was like this:

$ cat >myxterm.ti
xterm|X11 terminal emulator with correct kf-sequences,
  kf13=\EO1;2P,
  kf14=\EO1;2Q,
  kf15=\EO1;2R,
  kf16=\EO1;2S,
  use=xterm-debian,
^D
$ tic myxterm.ti
$ mc

And then I figured that now Shift+F2 acts like Shift+F4. Either Midnight Commander expects kf14 to be Shift+F4 (which doesn't seem to be correct, I'll show later why), or something is fishy here. Now I made it like this:

$ cat >myxterm.ti
xterm|X11 terminal emulator with correct kf-sequences,
  kf11=\EO1;2P,
  kf12=\EO1;2Q,
  kf13=\EO1;2R,
  kf14=\EO1;2S,
  use=xterm-debian,
^D
$ tic myxterm.ti
$ mc

Now it works in mc, but it seems extremely, EXTREMELY, wrong to me.

What do I actually see when I run konsole and try pressing Shift+F1..F4?

$ cat
^[O2P^[O2Q^[O2R^[O2S
$ echo $TERM
xterm

Now, if you look at xterm+pcfkeys in ncurses-5.6+20070716/debian/xterm.ti you'll see that ^[O2S (Shift+F4) is mapped to kf16, yet when I press Shift+F4 in Midnight in konsole, it works correctly! So what's exactly happening? I clearly can't sanely map kf11...kf14 to be Shift+F1...F4 just for midnight (I assume something else will likely break then). How do I make Shift+F1...F4 work like they work in konsole?