summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stone <daniel@fooishbar.org>2006-10-25 01:09:19 +0300
committerDaniel Stone <daniels@endtroducing.fooishbar.org>2006-10-25 01:09:19 +0300
commitb9e180e632d04bf685ade9e32bd0b20882794486 (patch)
treece97ef1db9fd1a0f84c48cc75934e63601cc6fb0
parent5b38eb69cdaa154791c7f74e35dbe4d3256b19bd (diff)
port all users to the new DIX motion history API
Port KDrive, Xvfb, and Xnest, as well as the virtual core devices, to the new motion history API. Make GetPointerEvents also update the history.
-rw-r--r--dix/devices.c5
-rw-r--r--dix/getevents.c2
-rw-r--r--hw/kdrive/src/kinput.c6
-rw-r--r--hw/vfb/InitInput.c4
-rw-r--r--hw/xnest/Pointer.c4
5 files changed, 10 insertions, 11 deletions
diff --git a/dix/devices.c b/dix/devices.c
index 86e1e7a25..a5110fffa 100644
--- a/dix/devices.c
+++ b/dix/devices.c
@@ -285,10 +285,9 @@ CorePointerProc(DeviceIntPtr pDev, int what)
case DEVICE_INIT:
for (i = 1; i <= 32; i++)
map[i] = i;
- /* we don't keep history, for now. */
InitPointerDeviceStruct((DevicePtr)pDev, map, 32,
- NULL, (PtrCtrlProcPtr)NoopDDA,
- 0, 2);
+ GetMotionHistory, (PtrCtrlProcPtr)NoopDDA,
+ GetMotionHistorySize(), 2);
pDev->valuator->axisVal[0] = screenInfo.screens[0]->width / 2;
pDev->valuator->lastx = pDev->valuator->axisVal[0];
pDev->valuator->axisVal[1] = screenInfo.screens[0]->height / 2;
diff --git a/dix/getevents.c b/dix/getevents.c
index 8e22ad6a6..0a228cd01 100644
--- a/dix/getevents.c
+++ b/dix/getevents.c
@@ -591,6 +591,8 @@ GetPointerEvents(xEvent *events, DeviceIntPtr pDev, int type, int buttons,
if (first_valuator <= 1 && num_valuators >= (2 - first_valuator))
valuators[1 - first_valuator] = y;
+ updateMotionHistory(pDev, ms, first_valuator, num_valuators, valuators);
+
if (pDev->coreEvents) {
cp->valuator->lastx = x;
cp->valuator->lasty = y;
diff --git a/hw/kdrive/src/kinput.c b/hw/kdrive/src/kinput.c
index 78943e487..724f724db 100644
--- a/hw/kdrive/src/kinput.c
+++ b/hw/kdrive/src/kinput.c
@@ -445,11 +445,10 @@ KdPointerProc(DeviceIntPtr pDevice, int onoff)
}
InitPointerDeviceStruct(pDev, pi->map, pi->nButtons,
- miPointerGetMotionEvents,
+ GetMotionHistory,
(PtrCtrlProcPtr)NoopDDA,
- miPointerGetMotionBufferSize(), pi->nAxes);
+ GetMotionHistorySize(), pi->nAxes);
-#ifdef XINPUT
if (pi->inputClass == KD_TOUCHSCREEN) {
InitAbsoluteClassDeviceStruct(pDevice);
xiclass = AtomFromName(XI_TOUCHSCREEN);
@@ -460,7 +459,6 @@ KdPointerProc(DeviceIntPtr pDevice, int onoff)
AssignTypeAndName(pi->dixdev, xiclass,
pi->name ? pi->name : "Generic KDrive Pointer");
-#endif
return Success;
diff --git a/hw/vfb/InitInput.c b/hw/vfb/InitInput.c
index c0bfb5543..9cb1c02cb 100644
--- a/hw/vfb/InitInput.c
+++ b/hw/vfb/InitInput.c
@@ -292,8 +292,8 @@ vfbMouseProc(DeviceIntPtr pDevice, int onoff)
map[1] = 1;
map[2] = 2;
map[3] = 3;
- InitPointerDeviceStruct(pDev, map, 3, miPointerGetMotionEvents,
- (PtrCtrlProcPtr)NoopDDA, miPointerGetMotionBufferSize(), 2);
+ InitPointerDeviceStruct(pDev, map, 3, GetMotionHistory,
+ (PtrCtrlProcPtr)NoopDDA, GetMotionHistorySize(), 2);
break;
case DEVICE_ON:
diff --git a/hw/xnest/Pointer.c b/hw/xnest/Pointer.c
index b5e45db12..912b6fa21 100644
--- a/hw/xnest/Pointer.c
+++ b/hw/xnest/Pointer.c
@@ -57,9 +57,9 @@ xnestPointerProc(DeviceIntPtr pDev, int onoff)
for (i = 0; i <= nmap; i++)
map[i] = i; /* buttons are already mapped */
InitPointerDeviceStruct(&pDev->public, map, nmap,
- miPointerGetMotionEvents,
+ GetMotionHistory,
xnestChangePointerControl,
- miPointerGetMotionBufferSize(), 2);
+ GetMotionHistorySize(), 2);
break;
case DEVICE_ON:
xnestEventMask |= XNEST_POINTER_EVENT_MASK;