mirror of
https://gitlab.freedesktop.org/xorg/xserver.git
synced 2026-01-11 04:00:21 +01:00
dmx: core events are always in screen coordinates when passed to GPE.
This fixes input in dmx, the pointer appears at the right positions to the
clients now.
Also mark the spot where we pass in the button state as valuator to GPE
with a FIXME. (??)
Tested-by: Kevin Martin
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit e7c2598f56)
This commit is contained in:
parent
7c9e0b0778
commit
e4edb4f2e6
1 changed files with 4 additions and 4 deletions
|
|
@ -183,7 +183,7 @@ static void enqueueMotion(DevicePtr pDev, int x, int y)
|
|||
|
||||
GetEventList(&events);
|
||||
nevents = GetPointerEvents(events, p, MotionNotify, detail,
|
||||
POINTER_ABSOLUTE, 0, 2, valuators);
|
||||
POINTER_ABSOLUTE | POINTER_SCREEN, 0, 2, valuators);
|
||||
for (i = 0; i < nevents; i++)
|
||||
mieqEnqueue(p, (InternalEvent*)(events + i)->event);
|
||||
return;
|
||||
|
|
@ -688,7 +688,7 @@ void dmxEnqueue(DevicePtr pDev, int type, int detail, KeySym keySym,
|
|||
detail = dmxGetButtonMapping(dmxLocal, detail);
|
||||
GetEventList(&events);
|
||||
nevents = GetPointerEvents(events, p, type, detail,
|
||||
POINTER_ABSOLUTE,
|
||||
POINTER_ABSOLUTE | POINTER_SCREEN,
|
||||
0, /* first_valuator = 0 */
|
||||
0, /* num_valuators = 0 */
|
||||
valuators);
|
||||
|
|
@ -700,9 +700,9 @@ void dmxEnqueue(DevicePtr pDev, int type, int detail, KeySym keySym,
|
|||
GetEventList(&events);
|
||||
valuators[0] = e->xmotion.x;
|
||||
valuators[1] = e->xmotion.y;
|
||||
valuators[2] = e->xmotion.state;
|
||||
valuators[2] = e->xmotion.state; /* FIXME: WTF?? */
|
||||
nevents = GetPointerEvents(events, p, type, detail,
|
||||
POINTER_ABSOLUTE, 0, 3, valuators);
|
||||
POINTER_ABSOLUTE | POINTER_SCREEN, 0, 3, valuators);
|
||||
for (i = 0; i < nevents; i++)
|
||||
mieqEnqueue(p, (InternalEvent*)(events + i)->event);
|
||||
return;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue