Re: [PATCH] evdev: flush ABS_* events during EVIOCGABS

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Apr 22, 2014 at 08:21:54AM +0200, David Herrmann wrote:
> Hi Peter
> 
> On Tue, Apr 22, 2014 at 6:15 AM, Peter Hutterer
> <peter.hutterer@xxxxxxxxx> wrote:
> > How are you planning to handle the slot-based events? We'd either need to
> > add something similar (but more complex) to evdev_handle_mt_request or rely
> > on the caller to call the whole EV_ABS range and ditch anything ABS_MT_.
> > I'd prefer the former, the latter is yet more behaviour that's easy to get
> > wrong.
> 
> This is all racy..
> 
> We _really_ need an ioctl to receive _all_ ABS information atomically.
> I mean, there's no way we can know the user's state from the kernel.
> Even if the user resyncs via EVIOCGMTSLOTS, we can never flush the
> whole ABS queue. Problem is, the user has to call the ioctl for _each_
> available MT code and events might get queued in between. So yeah,
> this patch doesn't help much..
> 
> I have no better idea than adding a new EVIOCGABS call that retrieves
> ABS values for all slots atomically (and for all other axes..). No
> idea how to properly fix the old ioctls.

bonus points for making that ioctl fetch the state of the last SYN_DROPPED
and leave the events since in the client buffer. That way we can smooth over
SYN_DROPPED and lose less information.

Cheers,
   Peter
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux