summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/hwdata.c4
-rw-r--r--src/hwdata.h1
2 files changed, 5 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) {
diff --git a/src/hwdata.h b/src/hwdata.h
index f91f11b..a5f9bf5 100644
--- a/src/hwdata.h
+++ b/src/hwdata.h
@@ -26,6 +26,7 @@ struct HWData {
26 struct FingerData finger[DIM_FINGER]; 26 struct FingerData finger[DIM_FINGER];
27 button_t button; 27 button_t button;
28 int nfinger; 28 int nfinger;
29 bool in_packet, in_finger;
29}; 30};
30 31
31//////////////////////////////////////////////////////// 32////////////////////////////////////////////////////////