diff options
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) { |
