+ XSync(display, False);
+
+ {
+ int modifiers[] = {0, 0x10, 0x1, 0x11};
+ int nmods = sizeof(modifiers)/sizeof(modifiers[0]);
+
+ mask.deviceid = 2;
+ memset(mask.mask, 0, 2);
+ SetBit(mask.mask, XI_KeyPress);
+ SetBit(mask.mask, XI_KeyRelease);
+ SetBit(mask.mask, XI_ButtonPress);
+ SetBit(mask.mask, XI_Motion);
+ XIGrabButton(display, 2, 1, win, None, GrabModeAsync, GrabModeAsync,
+ False, &mask, nmods, modifiers);
+ XIGrabKeysym(display, 3, 0x71, win, GrabModeAsync, GrabModeAsync,
+ False, &mask, nmods, modifiers);
+ XIUngrabButton(display, 3, 1, win, nmods - 2, &modifiers[2]);
+ XIUngrabKeysym(display, 3, 0x71, win, nmods - 2, &modifiers[2]);
+ }