From a20ebb38184e177f2ead8466f3ef1f131352aba7 Mon Sep 17 00:00:00 2001 From: Andrew Borodin Date: Wed, 23 Dec 2009 16:18:25 +0000 Subject: [PATCH] Ticket #1876: use Ctrl-g key to generate SIGINT signal. Ctrl-g instead of Ctrl-c is used now to generate SIGINT signal. SIGINT signal generating for MC/NCurses library is enabled now. Signed-off-by: Andrew Borodin --- src/tty/tty-ncurses.c | 11 ++++++++--- src/tty/tty-slang.c | 3 +-- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/tty/tty-ncurses.c b/src/tty/tty-ncurses.c index d9072f6d6..76b0f5fb9 100644 --- a/src/tty/tty-ncurses.c +++ b/src/tty/tty-ncurses.c @@ -149,14 +149,17 @@ tty_init (gboolean slow, gboolean ugly_lines) ESCDELAY = 200; #endif /* HAVE_ESCDELAY */ + /* use Ctrl-g to generate SIGINT */ + cur_term->Nttyb.c_cc[VINTR] = CTRL ('g'); /* ^g */ + tcsetattr (cur_term->Filedes, TCSANOW, &cur_term->Nttyb); + tty_start_interrupt_key (); do_enter_ca_mode (); - raw (); + tty_raw_mode (); noecho (); keypad (stdscr, TRUE); nodelay (stdscr, FALSE); - } void @@ -180,12 +183,14 @@ tty_reset_shell_mode (void) void tty_raw_mode (void) { - raw (); + raw (); /* FIXME: uneeded? */ + cbreak (); } void tty_noraw_mode (void) { + nocbreak (); /* FIXME: unneeded? */ noraw (); } diff --git a/src/tty/tty-slang.c b/src/tty/tty-slang.c index 15a662b45..02ba8d33f 100644 --- a/src/tty/tty-slang.c +++ b/src/tty/tty-slang.c @@ -264,8 +264,7 @@ tty_init (gboolean slow, gboolean ugly_lines) tcgetattr (fileno (stdin), &boot_mode); /* 255 = ignore abort char; XCTRL('g') for abort char = ^g */ - /* SLang_init_tty (XCTRL ('c'), 1, 0); */ - SLang_init_tty (255, 1, 0); + SLang_init_tty (XCTRL ('g'), 1, 0); if (ugly_lines) SLtt_Has_Alt_Charset = 0;