+ static KeyBindingTree *grabbed_key = NULL;
+
+ if (e->type == Event_X_KeyRelease) {
+ if (grabbed_key) {
+ if (!(grabbed_key->state & e->data.x.e->xkey.state)) {
+ grabbed_key->action->data.cycle.final = TRUE;
+ grabbed_key->action->func(&grabbed_key->action->data);
+ grab_keyboard(FALSE);
+ grabbed_key = FALSE;
+ }
+ }
+ return;
+ }
+