backspace reimplemented
it should work now
This commit is contained in:
parent
60505314a4
commit
2e81b185e2
12
cowterm.c
12
cowterm.c
@ -1070,13 +1070,11 @@ static void key_press_cb(XKeyEvent *event, void *data) {
|
|||||||
if (keysym == XK_Return || keysym == XK_KP_Enter) {
|
if (keysym == XK_Return || keysym == XK_KP_Enter) {
|
||||||
write(*master, "\r", 1); // Shell handles return
|
write(*master, "\r", 1); // Shell handles return
|
||||||
} else if (keysym == XK_BackSpace) {
|
} else if (keysym == XK_BackSpace) {
|
||||||
if (cursor_x > 0) {
|
write(*master, "\177", 1); // Shell handles backspace
|
||||||
write(*master, "\b \b", 3); // Shell handles backspace
|
} else if (cursor_y > 0) {
|
||||||
} else if (cursor_y > 0) {
|
char seq[8];
|
||||||
char seq[8];
|
snprintf(seq, sizeof(seq), "\033[A\033[%dC", term_cols);
|
||||||
snprintf(seq, sizeof(seq), "\033[A\033[%dC", term_cols);
|
write(*master, seq, strlen(seq));
|
||||||
write(*master, seq, strlen(seq));
|
|
||||||
}
|
|
||||||
} else if (keysym == XK_Left) {
|
} else if (keysym == XK_Left) {
|
||||||
if (cursor_x > 0) {
|
if (cursor_x > 0) {
|
||||||
write(*master, "\033[D", 3);
|
write(*master, "\033[D", 3);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user