diff options
author | Daniel Stone <daniel@fooishbar.org> | 2006-10-25 01:09:19 +0300 |
---|---|---|
committer | Daniel Stone <daniels@endtroducing.fooishbar.org> | 2006-10-25 01:09:19 +0300 |
commit | b9e180e632d04bf685ade9e32bd0b20882794486 (patch) | |
tree | ce97ef1db9fd1a0f84c48cc75934e63601cc6fb0 | |
parent | 5b38eb69cdaa154791c7f74e35dbe4d3256b19bd (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.c | 5 | ||||
-rw-r--r-- | dix/getevents.c | 2 | ||||
-rw-r--r-- | hw/kdrive/src/kinput.c | 6 | ||||
-rw-r--r-- | hw/vfb/InitInput.c | 4 | ||||
-rw-r--r-- | hw/xnest/Pointer.c | 4 |
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; |