diff options
author | Nicholas Marriott <nicholas.marriott@gmail.com> | 2013-08-02 08:51:57 +0100 |
---|---|---|
committer | Nicholas Marriott <nicholas.marriott@gmail.com> | 2013-08-02 08:51:57 +0100 |
commit | 7673732c0f6006f2afa5195fc0d8e6032a5580a2 (patch) | |
tree | e99e37286fde81edbb6de648447925cdbde3616c | |
parent | 2dfd3fbd71560aa34cffd2a8de65425876188a4f (diff) | |
download | rtmux-7673732c0f6006f2afa5195fc0d8e6032a5580a2.tar.gz rtmux-7673732c0f6006f2afa5195fc0d8e6032a5580a2.tar.bz2 rtmux-7673732c0f6006f2afa5195fc0d8e6032a5580a2.zip |
Handle input mouse positions <33 (we already can generate them).
-rw-r--r-- | tty-keys.c | 12 |
1 files changed, 9 insertions, 3 deletions
@@ -676,11 +676,17 @@ tty_keys_mouse(struct tty *tty, const char *buf, size_t len, size_t *size) log_debug("mouse input: %.*s", (int) *size, buf); /* Check and return the mouse input. */ - if (b < 32 || x < 33 || y < 33) + if (b < 32) return (-1); b -= 32; - x -= 33; - y -= 33; + if (x >= 33) + x -= 33; + else + x = 256 - x; + if (y >= 33) + y -= 33; + else + y = 256 - y; } else if (buf[2] == '<') { /* Read the three inputs. */ *size = 3; |