commit 907616a0580106e9925f49ae59d9a7f5a1fd136b
parent 1f95c355a929b53865792df04a83ac9b1ac83d91
Author: Arun Prakash Jana <engineerarun@gmail.com>
Date: Wed, 12 May 2021 10:07:29 +0530
Fix #998: remove ^Space keybind
netbsd-curses sends a NULL (key value 0) following the KEY_RESIZE.
The keybind ^Space also issues a 0. It seems even the key ^@ sends
the same. Dropping this ambiguous keybind in favour of alternative
key m (more appropriate for 'm'ark anyway). Keys with value 0 will
now be ignored in the filter function.
Diffstat:
2 files changed, 3 insertions(+), 6 deletions(-)
diff --git a/src/nnn.c b/src/nnn.c
@@ -2935,6 +2935,7 @@ static int filterentries(char *path, char *lastname)
switch (*ch) {
#ifdef KEY_RESIZE
+ case 0: // fallthrough
case KEY_RESIZE:
clearoldprompt();
redraw(path);
@@ -3002,11 +3003,8 @@ static int filterentries(char *path, char *lastname)
break;
/* Handle all control chars in main loop */
- if (*ch < ASCII_MAX && keyname(*ch)[0] == '^' && *ch != '^') {
- if (keyname(*ch)[1] == '@')
- *ch = 'm';
+ if (*ch < ASCII_MAX && keyname(*ch)[0] == '^' && *ch != '^')
goto end;
- }
if (len == 1) {
if (*ch == '?') /* Help and config key, '?' is an invalid regex */
@@ -4590,7 +4588,7 @@ static void show_help(const char *path)
"b^R Rename/dup%-14cr Batch rename\n"
"cz Archive%-17ce Edit file\n"
"c* Toggle exe%-14c> Export list\n"
- "5Space ^J (Un)select%-7cm ^Space Mark range/clear sel\n"
+ "5Space ^J (Un)select%-12cm-m Mark range/clear sel\n"
"ca Select all%-14cA Invert sel\n"
"9p ^P Copy sel here%-8cw ^W Cp/mv sel as\n"
"9v ^V Move sel here%-11cE Edit sel\n"
diff --git a/src/nnn.h b/src/nnn.h
@@ -213,7 +213,6 @@ static struct key bindings[] = {
{ ' ', SEL_SEL },
/* Toggle select multiple files */
{ 'm', SEL_SELMUL },
- { CONTROL(' '), SEL_SELMUL },
/* Select all files in current dir */
{ 'a', SEL_SELALL },
/* Invert selection in current dir */