Hi, On Wed, Jun 15, 2011 at 01:42:13PM +0800, Daniel Kurtz wrote: > On Wed, Jun 15, 2011 at 1:05 AM, Daniel Stone <[email protected]> wrote: > > @@ -2460,7 +2457,7 @@ repeat_scrollbuttons(const InputInfoPtr pInfo, > > * occurs. > > */ > > static int > > -HandleState(InputInfoPtr pInfo, struct SynapticsHwState *hw) > > +HandleState(InputInfoPtr pInfo, struct SynapticsHwState *hw, CARD32 now) > > Why must you pass in hw.millis as "now"? > Why not just extract and truncate within HandleState: > CARD32 now = (CARD32)hw->millis; > > Even better, why not handle this conversation in the three places > where it is currently required: > update_hw_button_state() > HandleTapProcessing() > repeat_scrollbuttons() > > Or, at a very low level, like within TIME_DIFF(). This might make > most of this patch disappear.
Quite possibly, yes. But I'm trying to slowly evolve the driver to a point where it's not quite so dependent on hw->millis and friends, so we can make things like the timer code a lot more predictable. Right now the mixture of event timestamp and timer timestamps is more than a little insane, and makes it difficult to say with any certainty what's going to happen when you hit HandleState. Baby steps towards a sensible driver, I guess. I've fixed all the rest of your comments, thanks. Cheers, Daniel _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
