diff options
author | Nicholas Marriott <nicm@openbsd.org> | 2013-03-22 10:33:50 +0000 |
---|---|---|
committer | Nicholas Marriott <nicm@openbsd.org> | 2013-03-22 10:33:50 +0000 |
commit | 67b4d5b6094c8845af344d1386bb3fed86f54b5a (patch) | |
tree | e199e17567f0ee470f202006cfc699bdc8134712 /tmux.h | |
parent | ad760b3bf702801eaa121715f2a283526d614913 (diff) |
Support the latest theory for mouse input, this is enabled/disabled with
SM/RM 1006 and is similar in style to SGR input: \033[<b;x;yM or
\033[b;x;ym. From Egmont Koblinger.
Diffstat (limited to 'tmux.h')
-rw-r--r-- | tmux.h | 10 |
1 files changed, 9 insertions, 1 deletions
@@ -665,7 +665,8 @@ struct mode_key_table { #define MODE_MOUSE_BUTTON 0x40 #define MODE_MOUSE_ANY 0x80 #define MODE_MOUSE_UTF8 0x100 -#define MODE_BRACKETPASTE 0x200 +#define MODE_MOUSE_SGR 0x200 +#define MODE_BRACKETPASTE 0x400 #define ALL_MOUSE_MODES (MODE_MOUSE_STANDARD|MODE_MOUSE_BUTTON|MODE_MOUSE_ANY) @@ -1153,6 +1154,9 @@ LIST_HEAD(tty_terms, tty_term); * - bits 3, 4 and 5 are for keys * - bit 6 is set for dragging * - bit 7 for buttons 4 and 5 + * + * With the SGR 1006 extension the released button becomes known. Store these + * in separate fields and store the value converted to the old format in xb. */ struct mouse_event { u_int xb; @@ -1165,6 +1169,10 @@ struct mouse_event { u_int ly; u_int sy; + u_int sgr; /* whether the input arrived in SGR format */ + u_int sgr_xb; /* only for SGR: the unmangled button */ + u_int sgr_rel; /* only for SGR: whether it is a release event */ + u_int button; u_int clicks; |