From: Chris Allegretta Date: Wed, 4 Jul 2001 16:06:21 +0000 (+0000) Subject: main() - Added Alt-[-[-7,8 support for home/end keys (Jeff Teunissen). X-Git-Tag: v1.1.0~10 X-Git-Url: https://git.wh0rd.org/?a=commitdiff_plain;h=052f9d238e21823f581c06e2cd90d7d4f081e782;p=nano.git main() - Added Alt-[-[-7,8 support for home/end keys (Jeff Teunissen). git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@718 35c25a1d-7b9e-4130-9fde-d3aeb78583b8 --- diff --git a/ChangeLog b/ChangeLog index d35246d5..c1135486 100644 --- a/ChangeLog +++ b/ChangeLog @@ -115,6 +115,7 @@ Cvs code - - Add Alt-whatever-[a-d] support as well as Alt-whatever-[A-D]. main() - Code to silently process "-g" and "-j" (Rocco) + - Added Alt-[-[-7,8 support for home/end keys (Jeff Teunissen). signal_init() - Reorder sigaction calls, use sigfillset() to stop SIGTSTP and SIGCONT from being interrupted, allows suspending nano diff --git a/nano.c b/nano.c index 2f945686..ab457831 100644 --- a/nano.c +++ b/nano.c @@ -2613,8 +2613,27 @@ int main(int argc, char *argv[]) break; case '[': /* Alt-[-[-[A-E], F1-F5 in linux console */ kbinput = wgetch(edit); - if (kbinput >= 'A' && kbinput <= 'E') + switch(kbinput) { + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': kbinput = KEY_F(kbinput - 64); + break; + case 7: + kbinput = KEY_HOME; + break; + case 8: + kbinput = KEY_END; + break; +#ifdef DEBUG + default: + fprintf(stderr, _("I got Alt-[-[-%c! (%d)\n"), + kbinput, kbinput); + break; +#endif + } break; case 'A': case 'B':