diff --git a/src/winio.c b/src/winio.c index 1cdb664a4f3aaa3c6ad13a42f149fb64b3348f56..6d48a6c17418217ecab20b236cfd04c619865d31 100644 --- a/src/winio.c +++ b/src/winio.c @@ -1508,20 +1508,20 @@ long get_unicode_kbinput(WINDOW *win, int kbinput) * Ctrl-8 == Ctrl-? */ int get_control_kbinput(int kbinput) { + if ('@' <= kbinput && kbinput <= '_') + return kbinput - '@'; + if ('`' <= kbinput && kbinput <= '~') + return kbinput - '`'; + if ('3' <= kbinput && kbinput <= '7') + return kbinput - 24; + if (kbinput == '?' || kbinput == '8') + return DEL_CODE; if (kbinput == ' ' || kbinput == '2') return 0; - else if (kbinput == '/') + if (kbinput == '/') return 31; - else if ('3' <= kbinput && kbinput <= '7') - return kbinput - 24; - else if (kbinput == '8' || kbinput == '?') - return DEL_CODE; - else if ('@' <= kbinput && kbinput <= '_') - return kbinput - '@'; - else if ('`' <= kbinput && kbinput <= '~') - return kbinput - '`'; - else - return kbinput; + + return kbinput; } /* Read in a stream of characters verbatim, and return the length of the