diff -rU7 xserver-xorg-input-evdev-2.0.99+git20080912.orig/src/evdev.c xserver-xorg-input-evdev-2.0.99+git20080912/src/evdev.c --- xserver-xorg-input-evdev-2.0.99+git20080912.orig/src/evdev.c 2008-09-12 09:16:52.000000000 -0400 +++ xserver-xorg-input-evdev-2.0.99+git20080912/src/evdev.c 2009-01-29 17:17:03.000000000 -0500 @@ -1174,14 +1174,15 @@ { if (TestBit(i, abs_bitmask)) { if (ioctl(pInfo->fd, EVIOCGABS(i), &absinfo[i]) < 0) { xf86Msg(X_ERROR, "ioctl EVIOCGABS failed: %s\n", strerror(errno)); goto error; } + absinfo[i].value = pEvdev->absinfo[i].value; } } if (compare && memcmp(pEvdev->absinfo, absinfo, sizeof(absinfo))) goto error; /* cache info */