+ ButtonBindingList::iterator it, end = _buttons[i].end();
+ for (it = _buttons[i].begin(); it != end; ++it)
+ if (grab)
+ otk::OBDisplay::grabButton((*it)->binding.key,
+ (*it)->binding.modifiers, win, false,
+ ButtonPressMask | ButtonMotionMask |
+ ButtonReleaseMask, mode, GrabModeAsync,
+ None, None, false);
+ else
+ otk::OBDisplay::ungrabButton((*it)->binding.key,
+ (*it)->binding.modifiers, win);
+ }
+}
+
+void OBBindings::fireButton(ButtonData *data)
+{
+ printf("but.mods %d.%d\n", data->button, data->state);
+
+ if (data->context == MC_Window) {
+ // these are grabbed in Sync mode to allow the press to be normal to the
+ // client
+ XAllowEvents(otk::OBDisplay::display, ReplayPointer, data->time);