This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] Intercept and handle Delete/Home/End keys in the TUI


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]