From f1f9a00cda728eabd833e81e14cc7606bb34986a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C5=99emysl=20Janouch?= Date: Wed, 22 Oct 2014 22:23:01 +0200 Subject: Add support for setting the mouse protocol --- termo.h | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'termo.h') diff --git a/termo.h b/termo.h index d24dccd..ee24d87 100644 --- a/termo.h +++ b/termo.h @@ -121,6 +121,26 @@ enum termo_mouse_event TERMO_MOUSE_RELEASE }; +// You will want to handle GPM (incompatible license) and FreeBSD's sysmouse +// yourself. http://www.monkey.org/openbsd/archive/tech/0009/msg00018.html + +enum +{ + TERMO_MOUSE_PROTO_NONE = 0, + TERMO_MOUSE_PROTO_VT200 = 1 << 0, + TERMO_MOUSE_PROTO_UTF8 = 1 << 1 | TERMO_MOUSE_PROTO_VT200, + TERMO_MOUSE_PROTO_SGR = 1 << 2 | TERMO_MOUSE_PROTO_VT200, + TERMO_MOUSE_PROTO_RXVT = 1 << 3 | TERMO_MOUSE_PROTO_VT200 +}; + +typedef enum termo_mouse_tracking termo_mouse_tracking_t; +enum termo_mouse_tracking +{ + TERMO_MOUSE_TRACKING_NORMAL, + TERMO_MOUSE_TRACKING_DRAG, + TERMO_MOUSE_TRACKING_ANY +}; + enum { TERMO_KEYMOD_SHIFT = 1 << 0, @@ -209,6 +229,13 @@ size_t termo_get_buffer_remaining (termo_t *tk); void termo_canonicalise (termo_t *tk, termo_key_t *key); +int termo_get_mouse_proto (termo_t *tk); +int termo_set_mouse_proto (termo_t *tk, int proto); +int termo_guess_mouse_proto (termo_t *tk); + +termo_mouse_tracking_t termo_get_mouse_tracking_mode (termo_t *tk); +int termo_set_mouse_tracking_mode (termo_t *tk, termo_mouse_tracking_t mode); + termo_result_t termo_getkey (termo_t *tk, termo_key_t *key); termo_result_t termo_getkey_force (termo_t *tk, termo_key_t *key); termo_result_t termo_waitkey (termo_t *tk, termo_key_t *key); -- cgit v1.2.3