aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2014-04-13 11:40:31 -0400
committerJesse Luehrs <doy@tozt.net>2014-04-13 11:40:31 -0400
commit6bdd1f37f63b3c2579c05d208d8f6cae73c2533f (patch)
tree54f1184fdb3bf55743a3886a7f288896a814e02d
parent3aa0d921985b90189cd6db8246a756b951c65f49 (diff)
downloadrunes-6bdd1f37f63b3c2579c05d208d8f6cae73c2533f.tar.gz
runes-6bdd1f37f63b3c2579c05d208d8f6cae73c2533f.zip
handle arrow keys
-rw-r--r--window-xlib.c20
1 files changed, 19 insertions, 1 deletions
diff --git a/window-xlib.c b/window-xlib.c
index 958bb26..2d54187 100644
--- a/window-xlib.c
+++ b/window-xlib.c
@@ -214,7 +214,25 @@ static void runes_window_backend_process_event(uv_work_t *req, int status)
break;
}
- runes_pty_backend_write(t, buf, chars);
+ if (chars) {
+ runes_pty_backend_write(t, buf, chars);
+ }
+ else if (sym) {
+ switch (sym) {
+ case XK_Up:
+ runes_pty_backend_write(t, "\e[A", 3);
+ break;
+ case XK_Down:
+ runes_pty_backend_write(t, "\e[B", 3);
+ break;
+ case XK_Right:
+ runes_pty_backend_write(t, "\e[C", 3);
+ break;
+ case XK_Left:
+ runes_pty_backend_write(t, "\e[D", 3);
+ break;
+ }
+ }
free(buf);
break;
}