diff options
-rw-r--r-- | README | 3 | ||||
-rw-r--r-- | src/vte.c | 11 |
2 files changed, 10 insertions, 4 deletions
@@ -22,7 +22,8 @@ out how to do those yet. - Most commands specific to Xterm or dtterm are recognized, but very few of their behaviors are implemented. -- Alternate charset support (usually needed for line-drawing) isn't done yet. +- Portions of the alternate charset support (usually used for line-drawing) + aren't done yet, but most of it is. - Certain termcap-specific commands aren't implemented yet. There are enough to run ls, vim, less, and probably emacs and mutt, but more need to be implemented. @@ -2622,6 +2622,7 @@ vte_terminal_key_press(GtkWidget *widget, GdkEventKey *event) unsigned char *normal = NULL; size_t normal_length = 0; unsigned char *special = NULL; + struct termios tio; g_return_val_if_fail(widget != NULL, FALSE); g_return_val_if_fail(VTE_IS_TERMINAL(widget), FALSE); @@ -2635,11 +2636,15 @@ vte_terminal_key_press(GtkWidget *widget, GdkEventKey *event) } /* Map the key to a sequence name if we can. */ switch (event->keyval) { -#if 0 case GDK_BackSpace: - special = "kb"; + /* Use the tty's erase character. */ + if (tcgetattr(terminal->pvt->pty_master, + &tio) != -1) { + normal = g_strdup_printf("%c", + tio.c_cc[VERASE]); + normal_length = 1; + } break; -#endif case GDK_Delete: special = "kD"; break; |