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) | |||
| 26 | memset(hw, 0, sizeof(struct HWData)); | 26 | memset(hw, 0, sizeof(struct HWData)); |
| 27 | } | 27 | } |
| 28 | 28 | ||
| 29 | static 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 | |||
| 37 | static void set_value(struct HWData *hw, int code, int value) | 29 | static 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 | ||
| 57 | static void accept_packet(struct HWData *hw) | 49 | static 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 | ||
| 64 | int read_hwdata(struct HWData *hw, const struct input_event* ev) | 57 | 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) | |||
| 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); |
