diff options
author | Jesse Luehrs <doy@tozt.net> | 2014-04-13 11:40:31 -0400 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2014-04-13 11:40:31 -0400 |
commit | 6bdd1f37f63b3c2579c05d208d8f6cae73c2533f (patch) | |
tree | 54f1184fdb3bf55743a3886a7f288896a814e02d | |
parent | 3aa0d921985b90189cd6db8246a756b951c65f49 (diff) | |
download | runes-6bdd1f37f63b3c2579c05d208d8f6cae73c2533f.tar.gz runes-6bdd1f37f63b3c2579c05d208d8f6cae73c2533f.zip |
handle arrow keys
-rw-r--r-- | window-xlib.c | 20 |
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; } |