Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Julien Cristau <jcristau@debian.org>
and ProximityOut are registered.
.PP
.TP 8
and ProximityOut are registered.
.PP
.TP 8
-.B --test-xi2
-Register for a number of XI2 events and display them. This option does not
-take a device argument.
+.B --test-xi2 [\fIdevice\fP]
+Register for a number of XI2 events and display them. If a device is given,
+only events on this device are displayed.
.PP
.TP 8
.B --create-master \fIprefix\fP [sendCore] [enable]
.PP
.TP 8
.B --create-master \fIprefix\fP [sendCore] [enable]
{
XIEventMask mask;
Window win;
{
XIEventMask mask;
Window win;
list(display, argc, argv, name, desc);
list(display, argc, argv, name, desc);
+ if (argc >= 1) {
+ XIDeviceInfo *info;
+ info = xi2_find_device_info(display, argv[0]);
+ deviceid = info->deviceid;
+ }
win = create_win(display);
/* Select for motion events */
win = create_win(display);
/* Select for motion events */
- mask.deviceid = XIAllDevices;
+ mask.deviceid = (deviceid == -1) ? XIAllDevices : deviceid;
mask.mask_len = XIMaskLen(XI_RawMotion);
mask.mask = calloc(mask.mask_len, sizeof(char));
XISetMask(mask.mask, XI_ButtonPress);
mask.mask_len = XIMaskLen(XI_RawMotion);
mask.mask = calloc(mask.mask_len, sizeof(char));
XISetMask(mask.mask, XI_ButtonPress);
XISetMask(mask.mask, XI_Leave);
XISetMask(mask.mask, XI_FocusIn);
XISetMask(mask.mask, XI_FocusOut);
XISetMask(mask.mask, XI_Leave);
XISetMask(mask.mask, XI_FocusIn);
XISetMask(mask.mask, XI_FocusOut);
- XISetMask(mask.mask, XI_HierarchyChanged);
+ if (mask.deviceid == XIAllDevices)
+ XISetMask(mask.mask, XI_HierarchyChanged);
XISetMask(mask.mask, XI_PropertyEvent);
XISelectEvents(display, win, &mask, 1);
XMapWindow(display, win);
XISetMask(mask.mask, XI_PropertyEvent);
XISelectEvents(display, win, &mask, 1);
XMapWindow(display, win);
XIUngrabKeycode(display, 3, 24 /* q */, win, nmods - 2, &modifiers[2]);
}
XIUngrabKeycode(display, 3, 24 /* q */, win, nmods - 2, &modifiers[2]);
}
- mask.deviceid = XIAllMasterDevices;
+ mask.deviceid = (deviceid == -1) ? XIAllMasterDevices : deviceid;
memset(mask.mask, 0, mask.mask_len);
XISetMask(mask.mask, XI_RawKeyPress);
XISetMask(mask.mask, XI_RawKeyRelease);
memset(mask.mask, 0, mask.mask_len);
XISetMask(mask.mask, XI_RawKeyPress);
XISetMask(mask.mask, XI_RawKeyRelease);