on xenial help sign in
use monotonic time stamps
0daca65Michael Zanetti
plugins/UInput/uinput.cpp+4−3
@@ -21,6 +21,7 @@
21#include <QDateTime>
21#include <QDateTime>
22
22
23#include <unistd.h>
23#include <unistd.h>
24+#include <time.h>
24
25
25UInput::UInput(QObject *parent) :
26UInput::UInput(QObject *parent) :
26 QObject(parent)
27 QObject(parent)
@@ -108,7 +109,7 @@ void UInput::moveMouse(int dx, int dy)
108{
109{
109 struct input_event event;
110 struct input_event event;
110 memset(&event, 0, sizeof(event));
111 memset(&event, 0, sizeof(event));
111− gettimeofday(&event.time, 0);
112+ clock_gettime(CLOCK_MONOTONIC, (timespec*)&event.time);
112 event.type = EV_REL;
113 event.type = EV_REL;
113 event.code = REL_X;
114 event.code = REL_X;
114 event.value = dx;
115 event.value = dx;
@@ -138,7 +139,7 @@ void UInput::scrollMouse(int dh, int dv)
138{
139{
139 struct input_event event;
140 struct input_event event;
140 memset(&event, 0, sizeof(event));
141 memset(&event, 0, sizeof(event));
141− gettimeofday(&event.time, 0);
142+ clock_gettime(CLOCK_MONOTONIC, (timespec*)&event.time);
142 event.type = EV_REL;
143 event.type = EV_REL;
143 event.code = REL_HWHEEL;
144 event.code = REL_HWHEEL;
144 event.value = dh;
145 event.value = dh;
@@ -158,7 +159,7 @@ void UInput::injectMouse(Button button, int down)
158{
159{
159 struct input_event event;
160 struct input_event event;
160 memset(&event, 0, sizeof(event));
161 memset(&event, 0, sizeof(event));
161− gettimeofday(&event.time, 0);
162+ clock_gettime(CLOCK_MONOTONIC, (timespec*)&event.time);
162 event.type = EV_KEY;
163 event.type = EV_KEY;
163 switch (button) {
164 switch (button) {
164 case ButtonLeft:
165 case ButtonLeft: