diff options
| author | Henrik Rydberg <rydberg@euromail.se> | 2008-11-09 03:37:55 +0100 |
|---|---|---|
| committer | Henrik Rydberg <rydberg@euromail.se> | 2008-11-09 03:37:55 +0100 |
| commit | 84088723ed0c5f59335213c12f4b9dbf58af8270 (patch) | |
| tree | 3b7d1d000d005676b4292084fafb86b910bc9026 /src/hwdata.c | |
| parent | 84f1dbb29462ec91850c04e0bba256668e584e00 (diff) | |
drop packets out of sync
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Diffstat (limited to 'src/hwdata.c')
| -rw-r--r-- | src/hwdata.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/hwdata.c b/src/hwdata.c index d39211f..cd93fe0 100644 --- a/src/hwdata.c +++ b/src/hwdata.c | |||
| @@ -39,16 +39,20 @@ bool read_hwdata(struct HWData *hw, const struct input_event* ev) | |||
| 39 | CLEARBIT(hw->button, MT_BUTTON_RIGHT); | 39 | CLEARBIT(hw->button, MT_BUTTON_RIGHT); |
| 40 | break; | 40 | break; |
| 41 | case BTN_MT_REPORT_PACKET: | 41 | case BTN_MT_REPORT_PACKET: |
| 42 | hw->in_packet = ev->value; | ||
| 42 | if (ev->value) | 43 | if (ev->value) |
| 43 | hw->nfinger = 0; | 44 | hw->nfinger = 0; |
| 44 | break; | 45 | break; |
| 45 | case BTN_MT_REPORT_FINGER: | 46 | case BTN_MT_REPORT_FINGER: |
| 47 | hw->in_finger = ev->value; | ||
| 46 | if (!ev->value && hw->nfinger < DIM_FINGER) | 48 | if (!ev->value && hw->nfinger < DIM_FINGER) |
| 47 | hw->nfinger++; | 49 | hw->nfinger++; |
| 48 | break; | 50 | break; |
| 49 | } | 51 | } |
| 50 | break; | 52 | break; |
| 51 | case EV_ABS: | 53 | case EV_ABS: |
| 54 | if (!hw->in_packet || !hw->in_finger) | ||
| 55 | break; | ||
| 52 | if (hw->nfinger == DIM_FINGER) | 56 | if (hw->nfinger == DIM_FINGER) |
| 53 | break; | 57 | break; |
| 54 | switch (ev->code) { | 58 | switch (ev->code) { |
