Comment 81 for bug 256429

Revision history for this message
In , Mephinet (mephinet) wrote :

I bisected myself through the xf86-input-evdev versions 2.2.5 to 2.3.1, checking whether my fingerprint reader would still be functioning without the necessity to append an extra Enter after the swipe.
The first bad commit was this one:

commit 1f641d75edba7394201c1c53938215bae696791b
Author: Oliver McFadden <email address hidden>
Date: Thu Jul 23 13:19:49 2009 +0300

    evdev: Only send the events at synchronization time.

    Instead of just posting the button/key press/release events to the
    server as soon as they arrive, add them to an internal queue and post
    them once we receive an EV_SYN synchronization event.

    The motion events are always sent first, followed by the queued events.
    There will be one motion event and possibly many queued button/key
    events posted every EV_SYN event.

    Note that the size of the event queue (EVDEV_MAXQUEUE) is arbitrary and
    you may change it. If we receive more events than the queue can handle,
    those events are dropped and a warning message printed.

    Tested on my Lenovo T400 using evdev for all input devices; keyboard,
    touchpad, and trackpoint.

    Signed-off-by: Peter Hutterer <email address hidden>

The versions before that commit send 3 events when swiping the finger over the reader:
Event. Dev: input11, Type: 1, Code: 28, Value: 1
Event. Dev: input11, Type: 1, Code: 28, Value: 0
Event. Dev: input11, Type: 0, Code: 0, Value: 1

whereas this version sends only 2 events:
Event. Dev: input12, Type: 1, Code: 28, Value: 1
Event. Dev: input12, Type: 1, Code: 28, Value: 0

the missing third event is only sent after Enter has been pressed on an external keyboard:

Event. Dev: input7, Type: 4, Code: 4, Value: 458792
Event. Dev: input7, Type: 1, Code: 28, Value: 1
Event. Dev: input7, Type: 0, Code: 0, Value: 0
Event. Dev: input12, Type: 0, Code: 0, Value: 1

Any idea what this commit has changed regarding the behavior of the fingerprint reader?