From: nir.tzachar on
From: Nir Tzachar <nir.tzachar(a)gmail.com>

Previous patch was missing a '~' in F7.

When $TERM=xterm,xterm-color,vt220 map function keys properly.

Signed-off-by: Nir Tzachar <nir.tzachar(a)gmail.com>
---
scripts/kconfig/nconf.c | 23 ++++++++++++++++++++---
1 files changed, 20 insertions(+), 3 deletions(-)

diff --git a/scripts/kconfig/nconf.c b/scripts/kconfig/nconf.c
index c6feb41..a641a66 100644
--- a/scripts/kconfig/nconf.c
+++ b/scripts/kconfig/nconf.c
@@ -1537,13 +1537,13 @@ int main(int ac, char **av)

/* Initialize curses */
initscr();
- /* set color theme */
- set_colors();
-
cbreak();
noecho();
keypad(stdscr, TRUE);
curs_set(0);
+ /* set color theme */
+ set_colors();
+

if (COLS < 75 || LINES < 20) {
endwin();
@@ -1552,6 +1552,23 @@ int main(int ac, char **av)
return 1;
}

+ const char *term = getenv("TERM");
+ if (strcmp(term, "xterm") == 0 ||
+ strcmp(term, "xterm-color") == 0 ||
+ strcmp(term, "vt220") == 0) {
+ define_key("\033[H", KEY_HOME);
+ define_key("\033[F", KEY_END);
+ define_key("\033OP", KEY_F(1));
+ define_key("\033OQ", KEY_F(2));
+ define_key("\033OR", KEY_F(3));
+ define_key("\033OS", KEY_F(4));
+ define_key("\033[16~", KEY_F(5));
+ define_key("\033[17~", KEY_F(6));
+ define_key("\033[18~", KEY_F(7));
+ define_key("\033[19~", KEY_F(8));
+ define_key("\033[20~", KEY_F(9));
+ }
+
notimeout(stdscr, FALSE);
ESCDELAY = 1;

--
1.6.4.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Sam Ravnborg on
On Sun, Aug 08, 2010 at 08:11:00PM +0300, nir.tzachar(a)gmail.com wrote:
> From: Nir Tzachar <nir.tzachar(a)gmail.com>
>
> Previous patch was missing a '~' in F7.
>
> When $TERM=xterm,xterm-color,vt220 map function keys properly.
>
> Signed-off-by: Nir Tzachar <nir.tzachar(a)gmail.com>
> ---
> scripts/kconfig/nconf.c | 23 ++++++++++++++++++++---
> 1 files changed, 20 insertions(+), 3 deletions(-)
>
> diff --git a/scripts/kconfig/nconf.c b/scripts/kconfig/nconf.c
> index c6feb41..a641a66 100644
> --- a/scripts/kconfig/nconf.c
> +++ b/scripts/kconfig/nconf.c
> @@ -1537,13 +1537,13 @@ int main(int ac, char **av)
>
> /* Initialize curses */
> initscr();
> - /* set color theme */
> - set_colors();
> -
> cbreak();
> noecho();
> keypad(stdscr, TRUE);
> curs_set(0);
> + /* set color theme */
> + set_colors();
> +
>
> if (COLS < 75 || LINES < 20) {
> endwin();
> @@ -1552,6 +1552,23 @@ int main(int ac, char **av)
> return 1;
> }
>
> + const char *term = getenv("TERM");
> + if (strcmp(term, "xterm") == 0 ||
> + strcmp(term, "xterm-color") == 0 ||
> + strcmp(term, "vt220") == 0) {
> + define_key("\033[H", KEY_HOME);
> + define_key("\033[F", KEY_END);
> + define_key("\033OP", KEY_F(1));
> + define_key("\033OQ", KEY_F(2));
> + define_key("\033OR", KEY_F(3));
> + define_key("\033OS", KEY_F(4));

I had to change the above to "\033[11~", "\033[12~" etc, then it worked.
My terminal emulation is xterm and I did not try any other.

Sam

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/