Xi: Set the button state on the event during POE.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
parent
b368dd1720
commit
da724e8f1d
|
@ -885,7 +885,7 @@ ProcessOtherEvent(InternalEvent *ev, DeviceIntPtr device)
|
||||||
KeyClassPtr k;
|
KeyClassPtr k;
|
||||||
ValuatorClassPtr v;
|
ValuatorClassPtr v;
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
int state;
|
int state, i;
|
||||||
DeviceIntPtr mouse = NULL, kbd = NULL;
|
DeviceIntPtr mouse = NULL, kbd = NULL;
|
||||||
DeviceEvent *event = (DeviceEvent*)ev;
|
DeviceEvent *event = (DeviceEvent*)ev;
|
||||||
|
|
||||||
|
@ -907,11 +907,14 @@ ProcessOtherEvent(InternalEvent *ev, DeviceIntPtr device)
|
||||||
state = (kbd) ? XkbStateFieldFromRec(&kbd->key->xkbInfo->state) : 0;
|
state = (kbd) ? XkbStateFieldFromRec(&kbd->key->xkbInfo->state) : 0;
|
||||||
state |= (mouse) ? (mouse->button->state) : 0;
|
state |= (mouse) ? (mouse->button->state) : 0;
|
||||||
|
|
||||||
|
for (i = 0; mouse && mouse->button && i < mouse->button->numButtons; i++)
|
||||||
|
if (BitIsOn(mouse->button->down, i))
|
||||||
|
SetBit(event->buttons, i);
|
||||||
|
|
||||||
ret = UpdateDeviceState(device, event);
|
ret = UpdateDeviceState(device, event);
|
||||||
if (ret == DONT_PROCESS)
|
if (ret == DONT_PROCESS)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|
||||||
v = device->valuator;
|
v = device->valuator;
|
||||||
b = device->button;
|
b = device->button;
|
||||||
k = device->key;
|
k = device->key;
|
||||||
|
|
Loading…
Reference in New Issue