aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/os/input.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/nvim/os/input.c')
-rw-r--r--src/nvim/os/input.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/nvim/os/input.c b/src/nvim/os/input.c
index 4d50f1dc92..d5e29900e9 100644
--- a/src/nvim/os/input.c
+++ b/src/nvim/os/input.c
@@ -215,15 +215,19 @@ static unsigned int handle_mouse_event(char **ptr, uint8_t *buf,
unsigned int bufsize)
{
int mouse_code = 0;
+ int type = 0;
if (bufsize == 3) {
mouse_code = buf[2];
+ type = buf[1];
} else if (bufsize == 6) {
// prefixed with K_SPECIAL KS_MODIFIER mod
mouse_code = buf[5];
+ type = buf[4];
}
- if (!((mouse_code >= KE_LEFTMOUSE && mouse_code <= KE_RIGHTRELEASE)
+ if (type != KS_EXTRA
+ || !((mouse_code >= KE_LEFTMOUSE && mouse_code <= KE_RIGHTRELEASE)
|| (mouse_code >= KE_MOUSEDOWN && mouse_code <= KE_MOUSERIGHT))) {
return bufsize;
}