input: give more detailed feedback when an unbound key is struck
parent
eb871e72f5
commit
e0c4f9c5fe
|
@ -332,7 +332,8 @@ char *do_browser(char *path, DIR *dir)
|
|||
} else if (func == do_exit) {
|
||||
/* Exit from the file browser. */
|
||||
break;
|
||||
}
|
||||
} else
|
||||
unbound_key(kbinput);
|
||||
}
|
||||
titlebar(NULL);
|
||||
edit_refresh();
|
||||
|
|
|
@ -161,7 +161,8 @@ void do_help(void)
|
|||
} else if (func == do_exit) {
|
||||
/* Exit from the help viewer. */
|
||||
break;
|
||||
}
|
||||
} else
|
||||
unbound_key(kbinput);
|
||||
}
|
||||
|
||||
if (old_no_help) {
|
||||
|
|
19
src/nano.c
19
src/nano.c
|
@ -1563,6 +1563,22 @@ void terminal_init(void)
|
|||
#endif
|
||||
}
|
||||
|
||||
/* Say that an unbound key was struck, and if possible which one. */
|
||||
void unbound_key(int code)
|
||||
{
|
||||
if (func_key)
|
||||
statusbar(_("Unbound key"));
|
||||
else if (meta_key) {
|
||||
if (0x60 < code && code < 0x7B)
|
||||
code -= 0x20;
|
||||
statusbar(_("Unbound key: M-%c"), code);
|
||||
} else if (code < 0x20)
|
||||
statusbar(_("Unbound key: ^%c"), code + 0x40);
|
||||
else
|
||||
statusbar(_("Unbound key: %c"), code);
|
||||
beep();
|
||||
}
|
||||
|
||||
/* Read in a character, interpret it as a shortcut or toggle if
|
||||
* necessary, and return it.
|
||||
* If allow_funcs is FALSE, don't actually run any functions associated
|
||||
|
@ -1612,8 +1628,7 @@ int do_input(bool allow_funcs)
|
|||
* function key, and it's not a shortcut or toggle, throw it out. */
|
||||
if (!have_shortcut) {
|
||||
if (is_ascii_cntrl_char(input) || meta_key || func_key) {
|
||||
statusbar(_("Unknown Command"));
|
||||
beep();
|
||||
unbound_key(input);
|
||||
meta_key = FALSE;
|
||||
func_key = FALSE;
|
||||
input = ERR;
|
||||
|
|
|
@ -498,6 +498,7 @@ void enable_signals(void);
|
|||
void disable_flow_control(void);
|
||||
void enable_flow_control(void);
|
||||
void terminal_init(void);
|
||||
void unbound_key(int code);
|
||||
int do_input(bool allow_funcs);
|
||||
#ifndef DISABLE_MOUSE
|
||||
int do_mouse(void);
|
||||
|
|
Loading…
Reference in New Issue