On Tue, Mar 16, 2010 at 04:59:47PM +0100, Simon Thum wrote: > Hi, > > the hack that is pointer acceleration's init parts bit me. Currently, > this is done during driver calls into xf86InitValuatorDefaults(..., 0). > But since I increased exposure to driver details by fiddling with the > feedback class (see 032f97808c65771a07bac748212cf6457a5d1660), I managed > to cut off evdev, which initializes the feedback class _after_ the > valuators. > > Net effect: Evdev devices can't have accel settings tuned using config > fragments ATM. X.org 1.7 is unaffected. > > I attached a small patch which brings evdev in line with others. Of > course, the proper fix would be to make pointer accel's initialization > sane. But that would require changes to many drivers, and I'm too > swamped for that ATM. > > Since the fix is unintrusive, I propose it as a tempoary solution. And I > pledge to fix things later that year :) >
Reviewed-by: Peter Hutterer <peter.hutte...@who-t.net> can I have your signed-off though please? Cheers, Peter > From c935b1d8e5a49f22354d96c9863c4b73e9b9acf7 Mon Sep 17 00:00:00 2001 > From: Simon Thum <simon.t...@gmx.de> > Date: Tue, 16 Mar 2010 16:00:21 +0100 > Subject: [PATCH] move feedback initialization up > > This allows the backend to propery initialize the feedback from options, > as it works with most other drivers. This is the hacky equivalent of > fixing the initialization of pointer acceleration, which would require > changes to most drivers. > --- > src/evdev.c | 6 +++--- > 1 files changed, 3 insertions(+), 3 deletions(-) > > diff --git a/src/evdev.c b/src/evdev.c > index 3051462..63927db 100644 > --- a/src/evdev.c > +++ b/src/evdev.c > @@ -1299,6 +1299,9 @@ EvdevAddRelClass(DeviceIntPtr device) > GetMotionHistorySize(), Relative)) > return !Success; > > + if (!InitPtrFeedbackClassDeviceStruct(device, EvdevPtrCtrlProc)) > + return !Success; > + > for (axis = REL_X; axis <= REL_MAX; axis++) > { > int axnum = pEvdev->axis_map[axis]; > @@ -1315,9 +1318,6 @@ EvdevAddRelClass(DeviceIntPtr device) > > xfree(atoms); > > - if (!InitPtrFeedbackClassDeviceStruct(device, EvdevPtrCtrlProc)) > - return !Success; > - > pInfo->flags |= XI86_POINTER_CAPABLE; > > return Success; > -- > 1.6.4.4 > _______________________________________________ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel