diff options
Diffstat (limited to 'src/hwdata.c')
-rw-r--r-- | src/hwdata.c | 15 |
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) memset(hw, 0, sizeof(struct HWData)); } -static mstime_t get_mstime() -{ - static const mstime_t ms = 1000; - struct timeval now; - gettimeofday(&now, NULL); - return now.tv_usec / ms + now.tv_sec * ms; -} - static void set_value(struct HWData *hw, int code, int value) { if (hw->nread < DIM_FINGER) { @@ -54,11 +46,12 @@ static void accept_finger(struct HWData *hw) hw->mread[hw->nread] = 0; } -static void accept_packet(struct HWData *hw) +static void accept_packet(struct HWData *hw, const struct timeval* tv) { + static const mstime_t ms = 1000; hw->nread = 0; hw->mread[hw->nread] = 0; - hw->evtime = get_mstime(); + hw->evtime = tv->tv_usec / ms + tv->tv_sec * ms; } int 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) case EV_SYN: switch (ev->code) { case SYN_REPORT: - accept_packet(hw); + accept_packet(hw, &ev->time); return 1; case SYN_MT_REPORT: accept_finger(hw); |