mirror of
https://gitlab.freedesktop.org/xorg/xserver.git
synced 2025-12-20 08:10:03 +01:00
xkb: only post a XTest release if the XTest device has the button down
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 5daa442fe1)
This commit is contained in:
parent
b3b7be7d49
commit
bc4c3158ba
1 changed files with 7 additions and 2 deletions
|
|
@ -732,9 +732,14 @@ ProcessPointerEvent(InternalEvent *ev, DeviceIntPtr mouse)
|
||||||
if (rc != Success)
|
if (rc != Success)
|
||||||
ErrorF("[xkb] bad sourceid '%d' on button release event.\n",
|
ErrorF("[xkb] bad sourceid '%d' on button release event.\n",
|
||||||
event->sourceid);
|
event->sourceid);
|
||||||
else if (!IsXTestDevice(source, GetMaster(dev, MASTER_POINTER)))
|
else if (!IsXTestDevice(source, GetMaster(dev, MASTER_POINTER))) {
|
||||||
|
DeviceIntPtr xtest_device;
|
||||||
|
|
||||||
|
xtest_device = GetXTestDevice(GetMaster(dev, MASTER_POINTER));
|
||||||
|
if (button_is_down(xtest_device, ev->device_event.detail.button, BUTTON_PROCESSED))
|
||||||
XkbFakeDeviceButton(dev, FALSE, event->detail.key);
|
XkbFakeDeviceButton(dev, FALSE, event->detail.key);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (xkbi)
|
if (xkbi)
|
||||||
xkbi->lockedPtrButtons &= ~(1 << (event->detail.key & 0x7));
|
xkbi->lockedPtrButtons &= ~(1 << (event->detail.key & 0x7));
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue