diff --git a/config-verify.c b/config-verify.c index 6a5278b..ae6e41d 100644 --- a/config-verify.c +++ b/config-verify.c @@ -164,6 +164,8 @@ conf_verify_on_click(keychain_t *chain, const struct yml_node *node) {"left", false, &conf_verify_string}, {"middle", false, &conf_verify_string}, {"right", false, &conf_verify_string}, + {"wheel-up", false, &conf_verify_string}, + {"wheel-down", false, &conf_verify_string}, {NULL, false, NULL}, }; diff --git a/config.c b/config.c index b2e131c..956eba9 100644 --- a/config.c +++ b/config.c @@ -160,6 +160,10 @@ conf_to_particle(const struct yml_node *node, struct conf_inherit inherited) on_click_templates[MOUSE_BTN_MIDDLE] = template; else if (strcmp(key, "right") == 0) on_click_templates[MOUSE_BTN_RIGHT] = template; + else if (strcmp(key, "wheel-up") == 0) + on_click_templates[MOUSE_BTN_WHEEL_UP] = template; + else if (strcmp(key, "wheel-down") == 0) + on_click_templates[MOUSE_BTN_WHEEL_DOWN] = template; else assert(false); } diff --git a/particle.c b/particle.c index ea4bb62..16eb738 100644 --- a/particle.c +++ b/particle.c @@ -161,6 +161,8 @@ exposable_default_on_mouse(struct exposable *exposable, struct bar *bar, [MOUSE_BTN_MIDDLE] = "middle", [MOUSE_BTN_RIGHT] = "right", [MOUSE_BTN_COUNT] = "count", + [MOUSE_BTN_WHEEL_UP] = "wheel-up", + [MOUSE_BTN_WHEEL_DOWN] = "wheel-down", }; LOG_DBG("on_mouse: exposable=%p, event=%s, btn=%s, x=%d, y=%d (on-click=%s)", exposable, event == ON_MOUSE_MOTION ? "motion" : "click", diff --git a/particle.h b/particle.h index 4e449f3..4ca520f 100644 --- a/particle.h +++ b/particle.h @@ -17,6 +17,8 @@ enum mouse_button { MOUSE_BTN_LEFT, MOUSE_BTN_MIDDLE, MOUSE_BTN_RIGHT, + MOUSE_BTN_WHEEL_UP, + MOUSE_BTN_WHEEL_DOWN, MOUSE_BTN_COUNT, };