Timo Aaltonen pushed to branch upstream-unstable at X Strike Force / lib / libxi
Commits:
-
c7584066
by Peter Hutterer at 2017-01-26T11:59:25+10:00
-
c6c38643
by Emil Velikov at 2017-01-26T11:59:25+10:00
-
8ffaac57
by Mihail Konev at 2017-01-26T13:52:49+10:00
-
a1c63925
by Peter Hutterer at 2017-06-14T11:15:01+10:00
-
60ef7bab
by Jeff Smith at 2018-02-06T19:19:44+10:00
-
e7654506
by Raphaël Droz at 2018-10-27T22:17:31+00:00
-
e020870b
by Alan Coopersmith at 2018-11-19T22:23:32-08:00
-
3e38d823
by Alan Coopersmith at 2018-12-07T19:43:13-08:00
-
a42ee93c
by Alexander Bersenev at 2019-06-17T22:56:43+05:00
-
dd5cedb7
by Matt Turner at 2019-06-19T12:40:46-04:00
-
e05da79a
by Matt Turner at 2019-06-19T12:42:33-04:00
17 changed files:
- Makefile.am
- README → README.md
- autogen.sh
- configure.ac
- man/XAllowDeviceEvents.txt
- man/XChangeDeviceDontPropagateList.txt
- man/XGetDeviceMotionEvents.txt
- man/XGrabDevice.txt
- man/XGrabDeviceButton.txt
- man/XGrabDeviceKey.txt
- man/XIChangeHierarchy.txt
- man/XListInputDevices.txt
- man/XSetDeviceFocus.txt
- man/XSetDeviceMode.txt
- man/XSetDeviceValuators.txt
- src/XExtInt.c
- src/XIPassiveGrab.c
Changes:
... | ... | @@ -14,3 +14,5 @@ ChangeLog: |
14 | 14 |
$(CHANGELOG_CMD)
|
15 | 15 |
|
16 | 16 |
dist-hook: ChangeLog INSTALL
|
17 |
+ |
|
18 |
+EXTRA_DIST = README.md
|
1 | 1 |
libXi - library for the X Input Extension
|
2 |
+-----------------------------------------
|
|
2 | 3 |
|
3 | 4 |
All questions regarding this software should be directed at the
|
4 | 5 |
Xorg mailing list:
|
5 | 6 |
|
6 |
- http://lists.freedesktop.org/mailman/listinfo/xorg
|
|
7 |
- |
|
8 |
-Please submit bug reports to the Xorg bugzilla:
|
|
9 |
- |
|
10 |
- https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
|
|
7 |
+ https://lists.x.org/mailman/listinfo/xorg
|
|
11 | 8 |
|
12 | 9 |
The master development code repository can be found at:
|
13 | 10 |
|
14 |
- git://anongit.freedesktop.org/git/xorg/lib/libXi
|
|
11 |
+ https://gitlab.freedesktop.org/xorg/lib/libXi
|
|
15 | 12 |
|
16 |
- http://cgit.freedesktop.org/xorg/lib/libXi
|
|
13 |
+Please submit bug reports and requests to merge patches there.
|
|
17 | 14 |
|
18 | 15 |
For patch submission instructions, see:
|
19 | 16 |
|
20 |
- http://www.x.org/wiki/Development/Documentation/SubmittingPatches
|
|
21 |
- |
|
22 |
-For more information on the git code manager, see:
|
|
23 |
- |
|
24 |
- http://wiki.x.org/wiki/GitPage
|
|
17 |
+ https://www.x.org/wiki/Development/Documentation/SubmittingPatches
|
|
25 | 18 |
|
1 | 1 |
#! /bin/sh
|
2 | 2 |
|
3 |
-srcdir=`dirname $0`
|
|
3 |
+srcdir=`dirname "$0"`
|
|
4 | 4 |
test -z "$srcdir" && srcdir=.
|
5 | 5 |
|
6 | 6 |
ORIGDIR=`pwd`
|
7 |
-cd $srcdir
|
|
7 |
+cd "$srcdir"
|
|
8 | 8 |
|
9 | 9 |
autoreconf -v --install || exit 1
|
10 |
-cd $ORIGDIR || exit $?
|
|
10 |
+cd "$ORIGDIR" || exit $?
|
|
11 |
+ |
|
12 |
+git config --local --get format.subjectPrefix >/dev/null 2>&1 ||
|
|
13 |
+ git config --local format.subjectPrefix "PATCH libXi"
|
|
11 | 14 |
|
12 | 15 |
if test -z "$NOCONFIGURE"; then
|
13 |
- $srcdir/configure "$@"
|
|
16 |
+ exec "$srcdir"/configure "$@"
|
|
14 | 17 |
fi
|
1 | 1 |
|
2 | 2 |
# Initialize Autoconf
|
3 | 3 |
AC_PREREQ([2.60])
|
4 |
-AC_INIT([libXi], [1.7.9],
|
|
5 |
- [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [libXi])
|
|
4 |
+AC_INIT([libXi], [1.7.10],
|
|
5 |
+ [https://gitlab.freedesktop.org/xorg/lib/libXi/issues], [libXi])
|
|
6 | 6 |
AC_CONFIG_SRCDIR([Makefile.am])
|
7 | 7 |
AC_CONFIG_HEADERS([src/config.h])
|
8 | 8 |
|
... | ... | @@ -25,10 +25,10 @@ SYNOPSIS |
25 | 25 |
event_mode
|
26 | 26 |
Specifies the event mode.You can pass AsyncThisDevice,
|
27 | 27 |
SyncThisDevice, ReplayThisDevice, AsyncOtherDevices,
|
28 |
- SyncAll,or AsyncAll.
|
|
28 |
+ SyncAll, or AsyncAll.
|
|
29 | 29 |
|
30 | 30 |
time
|
31 |
- Specifies the time.You can pass either a timestamp or
|
|
31 |
+ Specifies the time. You can pass either a timestamp or
|
|
32 | 32 |
CurrentTime.
|
33 | 33 |
|
34 | 34 |
DESCRIPTION
|
... | ... | @@ -47,7 +47,7 @@ what constant you pass to the event_mode argument. |
47 | 47 |
client, event processing for that device continues as usual. If
|
48 | 48 |
the device is frozen multiple times by the client on behalf of
|
49 | 49 |
multiple separate grabs, AsyncThisDevice thaws for
|
50 |
- all.AsyncThisDevice has no effect if the specified device is
|
|
50 |
+ all. AsyncThisDevice has no effect if the specified device is
|
|
51 | 51 |
not frozen by the client, but the device need not be grabbed by
|
52 | 52 |
the client.
|
53 | 53 |
|
... | ... | @@ -100,7 +100,7 @@ what constant you pass to the event_mode argument. |
100 | 100 |
|
101 | 101 |
AsyncThisDevice, SyncThisDevice, and ReplayThisDevice have no
|
102 | 102 |
effect on the processing of events from the remaining
|
103 |
-devices.AsyncOtherDevices has no effect on the processing of
|
|
103 |
+devices. AsyncOtherDevices has no effect on the processing of
|
|
104 | 104 |
events from the specified device. When the event_mode is
|
105 | 105 |
SyncAll or AsyncAll, the device parameter is ignored.
|
106 | 106 |
|
... | ... | @@ -33,7 +33,7 @@ SYNOPSIS |
33 | 33 |
Specifies a pointer to a list of event classes.
|
34 | 34 |
|
35 | 35 |
mode
|
36 |
- Specifies the mode.You can pass AddToList, or
|
|
36 |
+ Specifies the mode. You can pass AddToList, or
|
|
37 | 37 |
DeleteFromList.
|
38 | 38 |
|
39 | 39 |
count
|
... | ... | @@ -29,7 +29,7 @@ SYNOPSIS |
29 | 29 |
|
30 | 30 |
start, stop
|
31 | 31 |
Specify the time interval in which the events are
|
32 |
- returned from the motionhistory buffer.You can pass a
|
|
32 |
+ returned from the motion history buffer. You can pass a
|
|
33 | 33 |
timestamp or CurrentTime.
|
34 | 34 |
|
35 | 35 |
nevents_return
|
... | ... | @@ -38,8 +38,8 @@ SYNOPSIS |
38 | 38 |
|
39 | 39 |
owner_events
|
40 | 40 |
Specifies a Boolean value that indicates whether
|
41 |
- theevents from the deviceare to be reported as usual or
|
|
42 |
- reported with respect to the grab windowif selected by
|
|
41 |
+ the events from the device are to be reported as usual or
|
|
42 |
+ reported with respect to the grab window if selected by
|
|
43 | 43 |
the event list.
|
44 | 44 |
|
45 | 45 |
event_count
|
... | ... | @@ -48,20 +48,20 @@ SYNOPSIS |
48 | 48 |
|
49 | 49 |
event_list
|
50 | 50 |
Specifies a pointer to a list of event classes that
|
51 |
- indicates which eventsthe client wishes to receive.
|
|
52 |
- These event classes must have beenobtained specifying
|
|
51 |
+ indicates which events the client wishes to receive.
|
|
52 |
+ These event classes must have been obtained specifying
|
|
53 | 53 |
the device being grabbed.
|
54 | 54 |
|
55 | 55 |
this_device_mode
|
56 | 56 |
Specifies further processing of events from this
|
57 |
- device.You can pass GrabModeSyncor GrabModeAsync.
|
|
57 |
+ device. You can pass GrabModeSync or GrabModeAsync.
|
|
58 | 58 |
|
59 | 59 |
other_devices_mode
|
60 | 60 |
Specifies further processing of events from other
|
61 |
- devices.You can pass GrabModeSyncor GrabModeAsync.
|
|
61 |
+ devices.You can pass GrabModeSync or GrabModeAsync.
|
|
62 | 62 |
|
63 | 63 |
time
|
64 |
- Specifies the time.You can pass either a timestamp or
|
|
64 |
+ Specifies the time. You can pass either a timestamp or
|
|
65 | 65 |
CurrentTime.
|
66 | 66 |
|
67 | 67 |
DESCRIPTION
|
... | ... | @@ -109,8 +109,8 @@ DESCRIPTION |
109 | 109 |
and returns GrabFrozen. If the specified time is earlier than
|
110 | 110 |
the last-device-grab time or later than the current X server
|
111 | 111 |
time, it fails and returns GrabInvalidTime. Otherwise, the
|
112 |
- last-device-grab time is set to the specified time (
|
|
113 |
- CurrentTime is replaced by the current X server time).
|
|
112 |
+ last-device-grab time is set to the specified time
|
|
113 |
+ (CurrentTime is replaced by the current X server time).
|
|
114 | 114 |
|
115 | 115 |
If a grabbed device is closed by a client while an active grab
|
116 | 116 |
by that client is in effect, the active grab is released. If
|
... | ... | @@ -49,7 +49,7 @@ SYNOPSIS |
49 | 49 |
|
50 | 50 |
modifier_device
|
51 | 51 |
specifies the device whose modifiers are to be used. If
|
52 |
- the modifier_devicespecified is NULL, the X keyboard
|
|
52 |
+ the modifier_device specified is NULL, the X keyboard
|
|
53 | 53 |
will be used as the modifier_device.
|
54 | 54 |
|
55 | 55 |
grab_window
|
... | ... | @@ -57,8 +57,8 @@ SYNOPSIS |
57 | 57 |
|
58 | 58 |
owner_events
|
59 | 59 |
Specifies a Boolean value that indicates whether the
|
60 |
- deviceevents are to be reported as usual or reported
|
|
61 |
- with respect to the grab windowif selected by the event
|
|
60 |
+ device events are to be reported as usual or reported
|
|
61 |
+ with respect to the grab window if selected by the event
|
|
62 | 62 |
list.
|
63 | 63 |
|
64 | 64 |
event_count
|
... | ... | @@ -69,11 +69,11 @@ SYNOPSIS |
69 | 69 |
|
70 | 70 |
this_device_mode
|
71 | 71 |
Specifies further processing of events from this
|
72 |
- device.You can pass GrabModeSync or GrabModeAsync.
|
|
72 |
+ device. You can pass GrabModeSync or GrabModeAsync.
|
|
73 | 73 |
|
74 | 74 |
other_devices_mode
|
75 | 75 |
Specifies further processing of events from all other
|
76 |
- devices.You can pass GrabModeSync or GrabModeAsync.
|
|
76 |
+ devices. You can pass GrabModeSync or GrabModeAsync.
|
|
77 | 77 |
|
78 | 78 |
DESCRIPTION
|
79 | 79 |
-----------
|
... | ... | @@ -49,7 +49,7 @@ SYNOPSIS |
49 | 49 |
|
50 | 50 |
modifier_device
|
51 | 51 |
Specifies the device whose modifiers are to be used. If
|
52 |
- a modifier_device ofNULL is specified, the X keyboard
|
|
52 |
+ a modifier_device of NULL is specified, the X keyboard
|
|
53 | 53 |
will be used as the modifier_device.
|
54 | 54 |
|
55 | 55 |
grab_window
|
... | ... | @@ -57,8 +57,8 @@ SYNOPSIS |
57 | 57 |
|
58 | 58 |
owner_events
|
59 | 59 |
Specifies a Boolean value that indicates whether the
|
60 |
- deviceevents are to be reported as usual or reported
|
|
61 |
- with respect to the grab windowif selected by the event
|
|
60 |
+ device events are to be reported as usual or reported
|
|
61 |
+ with respect to the grab window if selected by the event
|
|
62 | 62 |
list.
|
63 | 63 |
|
64 | 64 |
event_count
|
... | ... | @@ -70,11 +70,11 @@ SYNOPSIS |
70 | 70 |
|
71 | 71 |
this_device_mode
|
72 | 72 |
Specifies further processing of events from this
|
73 |
- device.You can pass GrabModeSync or GrabModeAsync.
|
|
73 |
+ device. You can pass GrabModeSync or GrabModeAsync.
|
|
74 | 74 |
|
75 | 75 |
other_devices_mode
|
76 | 76 |
Specifies further processing of events from other
|
77 |
- devices.You can pass GrabModeSyncor GrabModeAsync.
|
|
77 |
+ devices. You can pass GrabModeSyncor GrabModeAsync.
|
|
78 | 78 |
|
79 | 79 |
DESCRIPTION
|
80 | 80 |
-----------
|
... | ... | @@ -93,7 +93,7 @@ DESCRIPTION |
93 | 93 |
XIRemoveMasterInfo can generate a BadValue and a BadDevice
|
94 | 94 |
error.
|
95 | 95 |
|
96 |
- XIAttachSlaveInfo attaches device to newMaster. If the device
|
|
96 |
+ XIAttachSlaveInfo attaches device to new_master. If the device
|
|
97 | 97 |
is currently attached to a master device, it is detached from
|
98 | 98 |
the master device and attached to the new master device.
|
99 | 99 |
|
... | ... | @@ -22,11 +22,11 @@ SYNOPSIS |
22 | 22 |
|
23 | 23 |
ndevices_return
|
24 | 24 |
Specifies a pointer to a variable where the number of
|
25 |
- available devices canbe returned.
|
|
25 |
+ available devices can be returned.
|
|
26 | 26 |
|
27 | 27 |
list
|
28 | 28 |
Specifies the list of devices to free. The
|
29 |
- XFreeDeviceList functionfrees the list of available
|
|
29 |
+ XFreeDeviceList function frees the list of available
|
|
30 | 30 |
extension input devices.
|
31 | 31 |
|
32 | 32 |
DESCRIPTION
|
... | ... | @@ -34,29 +34,29 @@ Arguments |
34 | 34 |
changed.
|
35 | 35 |
|
36 | 36 |
focus
|
37 |
- Specifies the window, PointerRoot, FollowKeyboard,or
|
|
37 |
+ Specifies the window, PointerRoot, FollowKeyboard, or
|
|
38 | 38 |
None.
|
39 | 39 |
|
40 | 40 |
focus_return
|
41 |
- Returns the focus window, PointerRoot, FollowKeyboard,or
|
|
41 |
+ Returns the focus window, PointerRoot, FollowKeyboard, or
|
|
42 | 42 |
None.
|
43 | 43 |
|
44 | 44 |
revert_to
|
45 | 45 |
Specifies where the input focus reverts to if the window
|
46 |
- becomes notviewable.You can pass RevertToParent,
|
|
47 |
- RevertToPointerRoot, RevertToFollowKeyboard,or
|
|
46 |
+ becomes not viewable. You can pass RevertToParent,
|
|
47 |
+ RevertToPointerRoot, RevertToFollowKeyboard, or
|
|
48 | 48 |
RevertToNone.
|
49 | 49 |
|
50 | 50 |
revert_to_return
|
51 | 51 |
Returns the current focus state RevertToParent,
|
52 |
- RevertToPointerRoot, RevertToFollowKeyboard,or
|
|
52 |
+ RevertToPointerRoot, RevertToFollowKeyboard, or
|
|
53 | 53 |
RevertToNone.
|
54 | 54 |
|
55 | 55 |
time_return
|
56 | 56 |
Returns the last_focus_time for the device.
|
57 | 57 |
|
58 | 58 |
time
|
59 |
- Specifies the time.You can pass either a timestamp or
|
|
59 |
+ Specifies the time. You can pass either a timestamp or
|
|
60 | 60 |
CurrentTime.
|
61 | 61 |
|
62 | 62 |
DESCRIPTION
|
... | ... | @@ -22,7 +22,7 @@ SYNOPSIS |
22 | 22 |
Specifies the device whose mode is to be changed.
|
23 | 23 |
|
24 | 24 |
mode
|
25 |
- Specifies the mode.You can pass Absolute,or Relative.
|
|
25 |
+ Specifies the mode. You can pass Absolute, or Relative.
|
|
26 | 26 |
|
27 | 27 |
DESCRIPTION
|
28 | 28 |
-----------
|
... | ... | @@ -26,11 +26,11 @@ SYNOPSIS |
26 | 26 |
|
27 | 27 |
valuators
|
28 | 28 |
Specifies a pointer to an array of integer values to be
|
29 |
- used to initialize thedevice valuators.
|
|
29 |
+ used to initialize the device valuators.
|
|
30 | 30 |
|
31 | 31 |
first_valuator
|
32 | 32 |
Specifies the first valuator to be set. Valuators are
|
33 |
- numbered beginning withzero.
|
|
33 |
+ numbered beginning with zero.
|
|
34 | 34 |
|
35 | 35 |
num_valuators
|
36 | 36 |
Specifies the number of valuators to be set.
|
... | ... | @@ -1616,6 +1616,8 @@ size_classes(xXIAnyInfo* from, int nclasses) |
1616 | 1616 |
return len;
|
1617 | 1617 |
}
|
1618 | 1618 |
|
1619 |
+#define FP3232_TO_DOUBLE(x) ((double) (x).integral + (double) (x).frac / (1ULL << 32))
|
|
1620 |
+ |
|
1619 | 1621 |
/* Copy classes from any into to->classes and return the number of bytes
|
1620 | 1622 |
* copied. Memory layout of to->classes is
|
1621 | 1623 |
* [clsptr][clsptr][clsptr][classinfo][classinfo]...
|
... | ... | @@ -1724,10 +1726,9 @@ copy_classes(XIDeviceInfo* to, xXIAnyInfo* from, int *nclasses) |
1724 | 1726 |
cls_lib->number = cls_wire->number;
|
1725 | 1727 |
cls_lib->label = cls_wire->label;
|
1726 | 1728 |
cls_lib->resolution = cls_wire->resolution;
|
1727 |
- cls_lib->min = cls_wire->min.integral;
|
|
1728 |
- cls_lib->max = cls_wire->max.integral;
|
|
1729 |
- cls_lib->value = cls_wire->value.integral;
|
|
1730 |
- /* FIXME: fractional parts */
|
|
1729 |
+ cls_lib->min = FP3232_TO_DOUBLE(cls_wire->min);
|
|
1730 |
+ cls_lib->max = FP3232_TO_DOUBLE(cls_wire->max);
|
|
1731 |
+ cls_lib->value = FP3232_TO_DOUBLE(cls_wire->value);
|
|
1731 | 1732 |
cls_lib->mode = cls_wire->mode;
|
1732 | 1733 |
|
1733 | 1734 |
to->classes[cls_idx++] = any_lib;
|
... | ... | @@ -1748,8 +1749,7 @@ copy_classes(XIDeviceInfo* to, xXIAnyInfo* from, int *nclasses) |
1748 | 1749 |
cls_lib->number = cls_wire->number;
|
1749 | 1750 |
cls_lib->scroll_type= cls_wire->scroll_type;
|
1750 | 1751 |
cls_lib->flags = cls_wire->flags;
|
1751 |
- cls_lib->increment = cls_wire->increment.integral;
|
|
1752 |
- cls_lib->increment += (unsigned int)cls_wire->increment.frac/(double)(1ULL << 32);
|
|
1752 |
+ cls_lib->increment = FP3232_TO_DOUBLE(cls_wire->increment);
|
|
1753 | 1753 |
|
1754 | 1754 |
to->classes[cls_idx++] = any_lib;
|
1755 | 1755 |
}
|
... | ... | @@ -2000,8 +2000,6 @@ wireToTouchOwnershipEvent(xXITouchOwnershipEvent *in, |
2000 | 2000 |
return 1;
|
2001 | 2001 |
}
|
2002 | 2002 |
|
2003 |
-#define FP3232_TO_DOUBLE(x) ((double) (x).integral + (x).frac / (1ULL << 32))
|
|
2004 |
- |
|
2005 | 2003 |
static int
|
2006 | 2004 |
wireToBarrierEvent(xXIBarrierEvent *in, XGenericEventCookie *cookie)
|
2007 | 2005 |
{
|
... | ... | @@ -38,7 +38,8 @@ _XIPassiveGrabDevice(Display* dpy, int deviceid, int grabtype, int detail, |
38 | 38 |
Window grab_window, Cursor cursor,
|
39 | 39 |
int grab_mode, int paired_device_mode,
|
40 | 40 |
Bool owner_events, XIEventMask *mask,
|
41 |
- int num_modifiers, XIGrabModifiers *modifiers_inout)
|
|
41 |
+ int num_modifiers, XIGrabModifiers *modifiers_inout,
|
|
42 |
+ Time time)
|
|
42 | 43 |
{
|
43 | 44 |
xXIPassiveGrabDeviceReq *req;
|
44 | 45 |
xXIPassiveGrabDeviceReply reply;
|
... | ... | @@ -74,6 +75,7 @@ _XIPassiveGrabDevice(Display* dpy, int deviceid, int grabtype, int detail, |
74 | 75 |
req->num_modifiers = num_modifiers;
|
75 | 76 |
req->mask_len = (mask->mask_len + 3)/4;
|
76 | 77 |
req->grab_type = grabtype;
|
78 |
+ req->time = time;
|
|
77 | 79 |
|
78 | 80 |
len = req->mask_len + num_modifiers;
|
79 | 81 |
SetReqLen(req, len, len);
|
... | ... | @@ -118,7 +120,7 @@ XIGrabButton(Display* dpy, int deviceid, int button, |
118 | 120 |
return _XIPassiveGrabDevice(dpy, deviceid, XIGrabtypeButton, button,
|
119 | 121 |
grab_window, cursor, grab_mode,
|
120 | 122 |
paired_device_mode, owner_events, mask,
|
121 |
- num_modifiers, modifiers_inout);
|
|
123 |
+ num_modifiers, modifiers_inout, CurrentTime);
|
|
122 | 124 |
}
|
123 | 125 |
|
124 | 126 |
int
|
... | ... | @@ -130,7 +132,7 @@ XIGrabKeycode(Display* dpy, int deviceid, int keycode, |
130 | 132 |
return _XIPassiveGrabDevice(dpy, deviceid, XIGrabtypeKeycode, keycode,
|
131 | 133 |
grab_window, None, grab_mode, paired_device_mode,
|
132 | 134 |
owner_events, mask, num_modifiers,
|
133 |
- modifiers_inout);
|
|
135 |
+ modifiers_inout, CurrentTime);
|
|
134 | 136 |
}
|
135 | 137 |
|
136 | 138 |
int
|
... | ... | @@ -142,7 +144,7 @@ XIGrabEnter(Display *dpy, int deviceid, Window grab_window, Cursor cursor, |
142 | 144 |
return _XIPassiveGrabDevice(dpy, deviceid, XIGrabtypeEnter, 0,
|
143 | 145 |
grab_window, cursor, grab_mode, paired_device_mode,
|
144 | 146 |
owner_events, mask, num_modifiers,
|
145 |
- modifiers_inout);
|
|
147 |
+ modifiers_inout, CurrentTime);
|
|
146 | 148 |
}
|
147 | 149 |
|
148 | 150 |
int
|
... | ... | @@ -153,7 +155,7 @@ XIGrabFocusIn(Display *dpy, int deviceid, Window grab_window, int grab_mode, |
153 | 155 |
return _XIPassiveGrabDevice(dpy, deviceid, XIGrabtypeFocusIn, 0,
|
154 | 156 |
grab_window, None, grab_mode, paired_device_mode,
|
155 | 157 |
owner_events, mask, num_modifiers,
|
156 |
- modifiers_inout);
|
|
158 |
+ modifiers_inout, CurrentTime);
|
|
157 | 159 |
}
|
158 | 160 |
|
159 | 161 |
int
|
... | ... | @@ -172,7 +174,7 @@ XIGrabTouchBegin(Display *dpy, int deviceid, Window grab_window, |
172 | 174 |
return _XIPassiveGrabDevice(dpy, deviceid, XIGrabtypeTouchBegin, 0,
|
173 | 175 |
grab_window, None, XIGrabModeTouch,
|
174 | 176 |
GrabModeAsync, owner_events, mask,
|
175 |
- num_modifiers, modifiers_inout);
|
|
177 |
+ num_modifiers, modifiers_inout, CurrentTime);
|
|
176 | 178 |
}
|
177 | 179 |
|
178 | 180 |
|