mirror of
https://github.com/moonlight-stream/moonlight-embedded.git
synced 2026-02-16 02:20:42 +00:00
Fix build with 64-bit time on 32-bit platforms
This commit is contained in:
@@ -439,14 +439,18 @@ static bool evdev_handle_event(struct input_event *ev, struct input_device *dev)
|
|||||||
break;
|
break;
|
||||||
case BTN_TOUCH:
|
case BTN_TOUCH:
|
||||||
if (ev->value == 1) {
|
if (ev->value == 1) {
|
||||||
dev->touchDownTime = ev->time;
|
dev->touchDownTime.tv_sec = ev->input_event_sec;
|
||||||
|
dev->touchDownTime.tv_usec = ev->input_event_usec;
|
||||||
} else {
|
} else {
|
||||||
if (dev->touchDownX != TOUCH_UP && dev->touchDownY != TOUCH_UP) {
|
if (dev->touchDownX != TOUCH_UP && dev->touchDownY != TOUCH_UP) {
|
||||||
int deltaX = dev->touchX - dev->touchDownX;
|
int deltaX = dev->touchX - dev->touchDownX;
|
||||||
int deltaY = dev->touchY - dev->touchDownY;
|
int deltaY = dev->touchY - dev->touchDownY;
|
||||||
if (deltaX * deltaX + deltaY * deltaY < TOUCH_CLICK_RADIUS * TOUCH_CLICK_RADIUS) {
|
if (deltaX * deltaX + deltaY * deltaY < TOUCH_CLICK_RADIUS * TOUCH_CLICK_RADIUS) {
|
||||||
|
struct timeval eventTime;
|
||||||
|
eventTime.tv_sec = ev->input_event_sec;
|
||||||
|
eventTime.tv_usec = ev->input_event_usec;
|
||||||
struct timeval elapsedTime;
|
struct timeval elapsedTime;
|
||||||
timersub(&ev->time, &dev->touchDownTime, &elapsedTime);
|
timersub(&eventTime, &dev->touchDownTime, &elapsedTime);
|
||||||
int holdTimeMs = elapsedTime.tv_sec * 1000 + elapsedTime.tv_usec / 1000;
|
int holdTimeMs = elapsedTime.tv_sec * 1000 + elapsedTime.tv_usec / 1000;
|
||||||
int button = holdTimeMs >= TOUCH_RCLICK_TIME ? BUTTON_RIGHT : BUTTON_LEFT;
|
int button = holdTimeMs >= TOUCH_RCLICK_TIME ? BUTTON_RIGHT : BUTTON_LEFT;
|
||||||
LiSendMouseButtonEvent(BUTTON_ACTION_PRESS, button);
|
LiSendMouseButtonEvent(BUTTON_ACTION_PRESS, button);
|
||||||
@@ -512,13 +516,17 @@ static bool evdev_handle_event(struct input_event *ev, struct input_device *dev)
|
|||||||
} else if (gamepadCode != 0) {
|
} else if (gamepadCode != 0) {
|
||||||
if (ev->value) {
|
if (ev->value) {
|
||||||
dev->buttonFlags |= gamepadCode;
|
dev->buttonFlags |= gamepadCode;
|
||||||
dev->btnDownTime = ev->time;
|
dev->btnDownTime.tv_sec = ev->input_event_sec;
|
||||||
|
dev->btnDownTime.tv_usec = ev->input_event_usec;
|
||||||
} else
|
} else
|
||||||
dev->buttonFlags &= ~gamepadCode;
|
dev->buttonFlags &= ~gamepadCode;
|
||||||
|
|
||||||
if (mouseEmulationEnabled && gamepadCode == PLAY_FLAG && ev->value == 0) {
|
if (mouseEmulationEnabled && gamepadCode == PLAY_FLAG && ev->value == 0) {
|
||||||
|
struct timeval eventTime;
|
||||||
|
eventTime.tv_sec = ev->input_event_sec;
|
||||||
|
eventTime.tv_usec = ev->input_event_usec;
|
||||||
struct timeval elapsedTime;
|
struct timeval elapsedTime;
|
||||||
timersub(&ev->time, &dev->btnDownTime, &elapsedTime);
|
timersub(&eventTime, &dev->btnDownTime, &elapsedTime);
|
||||||
int holdTimeMs = elapsedTime.tv_sec * 1000 + elapsedTime.tv_usec / 1000;
|
int holdTimeMs = elapsedTime.tv_sec * 1000 + elapsedTime.tv_usec / 1000;
|
||||||
if (holdTimeMs >= MOUSE_EMULATION_LONG_PRESS_TIME) {
|
if (holdTimeMs >= MOUSE_EMULATION_LONG_PRESS_TIME) {
|
||||||
if (dev->mouseEmulation) {
|
if (dev->mouseEmulation) {
|
||||||
|
|||||||
Reference in New Issue
Block a user