This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[PATCH] Intercept and handle Delete/Home/End keys in the TUI
- From: Patrick Palka <patrick at parcs dot ath dot cx>
- To: gdb-patches at sourceware dot org
- Cc: Patrick Palka <patrick at parcs dot ath dot cx>
- Date: Wed, 3 Jun 2015 19:28:51 -0400
- Subject: [PATCH] Intercept and handle Delete/Home/End keys in the TUI
- Authentication-results: sourceware.org; auth=none
These keys are mapped by wgetch() to special ncurses-specific values and
are otherwise passed through to readline, to no useful effect.
This patch intercepts these keys in the TUI and gives them their
expected function.
gdb/ChangeLog:
* tui/tui-command.c: Include "readline/readline.h".
(tui_dispatch_ctrl_char): Handle KEY_DC, KEY_HOME and KEY_END.
---
gdb/tui/tui-command.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/gdb/tui/tui-command.c b/gdb/tui/tui-command.c
index 03ec076..84ba2b7 100644
--- a/gdb/tui/tui-command.c
+++ b/gdb/tui/tui-command.c
@@ -27,6 +27,7 @@
#include "tui/tui-command.h"
#include "gdb_curses.h"
+#include "readline/readline.h"
/*****************************************
** STATIC LOCAL FUNCTIONS FORWARD DECLS **
******************************************/
@@ -76,6 +77,15 @@ tui_dispatch_ctrl_char (unsigned int ch)
case KEY_LEFT:
tui_scroll_right (win_info, 1);
break;
+ case KEY_DC:
+ rl_delete (1, ch);
+ break;
+ case KEY_HOME:
+ rl_point = 0;
+ break;
+ case KEY_END:
+ rl_point = rl_end;
+ break;
case '\f':
break;
default:
--
2.4.2.387.gf86f31a.dirty