diff options
author | Ben Boeckel <MathStuf@gmail.com> | 2011-04-21 13:42:02 -0400 |
---|---|---|
committer | keis <keijser@gmail.com> | 2011-04-23 13:58:54 +0200 |
commit | 24884399671da9da0889809a5ca04ce04eadb72d (patch) | |
tree | e5df53cab685b5e4fc30e7e868df59022a6e4d21 /src/events.c | |
parent | 02fcc0f6527353baf8f376ed6651cfe7c77bf15b (diff) |
Add key events for double and triple clicks
Diffstat (limited to 'src/events.c')
-rw-r--r-- | src/events.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/events.c b/src/events.c index 0ae7a98..3074b34 100644 --- a/src/events.c +++ b/src/events.c @@ -310,12 +310,25 @@ key_to_event(guint keyval, guint state, guint is_modifier, gint mode) { void button_to_event(guint buttonval, guint state, gint mode) { gchar *details; + const char *reps; gchar *modifiers = NULL; /* Get modifier state */ modifiers = get_modifier_mask(state); - details = g_strdup_printf("Button%d", buttonval); + switch (mode) { + case GDK_2BUTTON_PRESS: + reps = "2"; + break; + case GDK_3BUTTON_PRESS: + reps = "3"; + break; + default: + reps = ""; + break; + } + + details = g_strdup_printf("%sButton%d", reps, buttonval); send_event(mode == GDK_BUTTON_PRESS ? KEY_PRESS : KEY_RELEASE, NULL, TYPE_STR, modifiers, TYPE_FORMATTEDSTR, details, NULL); |