diff --git a/x.c b/x.c index e600128..135f856 100644 --- a/x.c +++ b/x.c @@ -396,8 +396,9 @@ mouseaction(XEvent *e, uint release) for (ms = mshortcuts; ms < mshortcuts + LEN(mshortcuts); ms++) { if (ms->release == release && - ms->button == e->xbutton.button && - match(ms->mod, e->xbutton.state & ~forcemousemod)) { + ms->button == e->xbutton.button && + (match(ms->mod, e->xbutton.state) || /* exact or forced */ + match(ms->mod, e->xbutton.state & ~forcemousemod))) { ms->func(&(ms->arg)); return 1; }