summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/hwdata.c15
1 files changed, 4 insertions, 11 deletions
diff --git a/src/hwdata.c b/src/hwdata.c
index f204884..d696e07 100644
--- a/src/hwdata.c
+++ b/src/hwdata.c
@@ -26,14 +26,6 @@ void init_hwdata(struct HWData *hw)
26 memset(hw, 0, sizeof(struct HWData)); 26 memset(hw, 0, sizeof(struct HWData));
27} 27}
28 28
29static mstime_t get_mstime()
30{
31 static const mstime_t ms = 1000;
32 struct timeval now;
33 gettimeofday(&now, NULL);
34 return now.tv_usec / ms + now.tv_sec * ms;
35}
36
37static void set_value(struct HWData *hw, int code, int value) 29static void set_value(struct HWData *hw, int code, int value)
38{ 30{
39 if (hw->nread < DIM_FINGER) { 31 if (hw->nread < DIM_FINGER) {
@@ -54,11 +46,12 @@ static void accept_finger(struct HWData *hw)
54 hw->mread[hw->nread] = 0; 46 hw->mread[hw->nread] = 0;
55} 47}
56 48
57static void accept_packet(struct HWData *hw) 49static void accept_packet(struct HWData *hw, const struct timeval* tv)
58{ 50{
51 static const mstime_t ms = 1000;
59 hw->nread = 0; 52 hw->nread = 0;
60 hw->mread[hw->nread] = 0; 53 hw->mread[hw->nread] = 0;
61 hw->evtime = get_mstime(); 54 hw->evtime = tv->tv_usec / ms + tv->tv_sec * ms;
62} 55}
63 56
64int read_hwdata(struct HWData *hw, const struct input_event* ev) 57int read_hwdata(struct HWData *hw, const struct input_event* ev)
@@ -67,7 +60,7 @@ int read_hwdata(struct HWData *hw, const struct input_event* ev)
67 case EV_SYN: 60 case EV_SYN:
68 switch (ev->code) { 61 switch (ev->code) {
69 case SYN_REPORT: 62 case SYN_REPORT:
70 accept_packet(hw); 63 accept_packet(hw, &ev->time);
71 return 1; 64 return 1;
72 case SYN_MT_REPORT: 65 case SYN_MT_REPORT:
73 accept_finger(hw); 66 accept_finger(hw);