aboutsummaryrefslogtreecommitdiff
path: root/tty-keys.c
diff options
context:
space:
mode:
authorNicholas Marriott <nicholas.marriott@gmail.com>2014-04-15 00:33:56 +0100
committerNicholas Marriott <nicholas.marriott@gmail.com>2014-04-15 00:33:56 +0100
commit4abc8f717a5a786a4dd9e4f24d64ec76b0829993 (patch)
treed52bbbd572c1fb638ac60e75a43d92ede1955155 /tty-keys.c
parent8e1cef404022422f9f57c72d139f19a82a70a791 (diff)
parent57c514d2f85f9d1c81601bae32131f1cd2948422 (diff)
downloadrtmux-4abc8f717a5a786a4dd9e4f24d64ec76b0829993.tar.gz
rtmux-4abc8f717a5a786a4dd9e4f24d64ec76b0829993.tar.bz2
rtmux-4abc8f717a5a786a4dd9e4f24d64ec76b0829993.zip
Merge branch 'master' of ssh://git.code.sf.net/p/tmux/tmux-code
Diffstat (limited to 'tty-keys.c')
-rw-r--r--tty-keys.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/tty-keys.c b/tty-keys.c
index 9dbe4503..42f2da40 100644
--- a/tty-keys.c
+++ b/tty-keys.c
@@ -749,6 +749,15 @@ tty_keys_mouse(struct tty *tty, const char *buf, size_t len, size_t *size)
m->x = x;
m->y = y;
if (b & MOUSE_MASK_WHEEL) {
+ if (b & MOUSE_MASK_SHIFT)
+ m->scroll = 1;
+ else
+ m->scroll = 3;
+ if (b & MOUSE_MASK_META)
+ m->scroll *= 3;
+ if (b & MOUSE_MASK_CTRL)
+ m->scroll *= 3;
+
b &= MOUSE_MASK_BUTTONS;
if (b == 0)
m->wheel = MOUSE_WHEEL_UP;
@@ -756,9 +765,9 @@ tty_keys_mouse(struct tty *tty, const char *buf, size_t len, size_t *size)
m->wheel = MOUSE_WHEEL_DOWN;
m->event = MOUSE_EVENT_WHEEL;
} else if ((b & MOUSE_MASK_BUTTONS) == 3) {
- if (~m->event & MOUSE_EVENT_DRAG && x == m->x && y == m->y) {
+ if (~m->event & MOUSE_EVENT_DRAG && x == m->x && y == m->y)
m->event = MOUSE_EVENT_CLICK;
- } else
+ else
m->event = MOUSE_EVENT_DRAG;
m->event |= MOUSE_EVENT_UP;
} else {