diff options
author | Paul LeoNerd Evans <leonerd@leonerd.org.uk> | 2009-11-24 01:22:55 +0000 |
---|---|---|
committer | Paul LeoNerd Evans <leonerd@leonerd.org.uk> | 2009-11-24 01:22:55 +0000 |
commit | 2ba9849ab536645f621e311f7afa48e5199055d1 (patch) | |
tree | a8f9e1e7c75aedf3fb2488b58731002f8fe854c3 | |
parent | 513e0ac59bf1b2d381cac2202b45236e7f751c3e (diff) | |
download | termo-2ba9849ab536645f621e311f7afa48e5199055d1.tar.gz termo-2ba9849ab536645f621e311f7afa48e5199055d1.tar.xz termo-2ba9849ab536645f621e311f7afa48e5199055d1.zip |
Public interface for MOUSE support
-rw-r--r-- | termkey.c | 4 | ||||
-rw-r--r-- | termkey.h.in | 7 |
2 files changed, 10 insertions, 1 deletions
@@ -920,6 +920,10 @@ size_t termkey_snprint_key(TermKey *tk, char *buffer, size_t len, TermKeyKey *ke case TERMKEY_TYPE_FUNCTION: l = snprintf(buffer + pos, len - pos, "F%d", key->code.number); break; + case TERMKEY_TYPE_MOUSE: + l = snprintf(buffer + pos, len - pos, "MOUSE(0x%02x,%d,%d)", + key->code.mouse.buttons, key->code.mouse.line, key->code.mouse.col); + break; } if(l <= 0) return pos; diff --git a/termkey.h.in b/termkey.h.in index eebfeff..ae11856 100644 --- a/termkey.h.in +++ b/termkey.h.in @@ -89,7 +89,8 @@ typedef enum { typedef enum { TERMKEY_TYPE_UNICODE, TERMKEY_TYPE_FUNCTION, - TERMKEY_TYPE_KEYSYM + TERMKEY_TYPE_KEYSYM, + TERMKEY_TYPE_MOUSE, } TermKeyType; typedef enum { @@ -111,6 +112,10 @@ typedef struct { long codepoint; // TERMKEY_TYPE_UNICODE int number; // TERMKEY_TYPE_FUNCTION TermKeySym sym; // TERMKEY_TYPE_KEYSYM + struct { + short buttons; + short col, line; + } mouse; // TERMKEY_TYPE_MOUSE } code; int modifiers; |