|
|
@ -5753,8 +5753,9 @@ static void *EventThread(void *arg) |
|
|
|
// Basic movement |
|
|
|
if (event.code == ABS_X) |
|
|
|
{ |
|
|
|
CORE.Input.Mouse.position.x = (event.value - worker->absRange.x)*CORE.Window.screen.width/worker->absRange.width; // Scale acording to absRange |
|
|
|
|
|
|
|
CORE.Input.Mouse.position.x = (event.value - worker->absRange.x)*CORE.Window.screen.width/worker->absRange.width; // Scale acording to absRange |
|
|
|
CORE.Input.Touch.position[0].x = (event.value - worker->absRange.x)*CORE.Window.screen.width/worker->absRange.width; // Scale acording to absRange |
|
|
|
|
|
|
|
#if defined(SUPPORT_GESTURES_SYSTEM) |
|
|
|
touchAction = TOUCH_MOVE; |
|
|
|
gestureUpdate = true; |
|
|
@ -5763,7 +5764,8 @@ static void *EventThread(void *arg) |
|
|
|
|
|
|
|
if (event.code == ABS_Y) |
|
|
|
{ |
|
|
|
CORE.Input.Mouse.position.y = (event.value - worker->absRange.y)*CORE.Window.screen.height/worker->absRange.height; // Scale acording to absRange |
|
|
|
CORE.Input.Mouse.position.y = (event.value - worker->absRange.y)*CORE.Window.screen.height/worker->absRange.height; // Scale acording to absRange |
|
|
|
CORE.Input.Touch.position[0].y = (event.value - worker->absRange.y)*CORE.Window.screen.height/worker->absRange.height; // Scale acording to absRange |
|
|
|
|
|
|
|
#if defined(SUPPORT_GESTURES_SYSTEM) |
|
|
|
touchAction = TOUCH_MOVE; |
|
|
@ -5772,7 +5774,7 @@ static void *EventThread(void *arg) |
|
|
|
} |
|
|
|
|
|
|
|
// Multitouch movement |
|
|
|
if (event.code == ABS_MT_SLOT) worker->touchSlot = event.value; // Remeber the slot number for the folowing events |
|
|
|
if (event.code == ABS_MT_SLOT) worker->touchSlot = event.value; // Remember the slot number for the folowing events |
|
|
|
|
|
|
|
if (event.code == ABS_MT_POSITION_X) |
|
|
|
{ |
|
|
@ -5793,6 +5795,33 @@ static void *EventThread(void *arg) |
|
|
|
CORE.Input.Touch.position[worker->touchSlot].y = -1; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// Touchscreen tap |
|
|
|
if(event.code == ABS_PRESSURE) |
|
|
|
{ |
|
|
|
int previousMouseLeftButtonState = CORE.Input.Mouse.currentButtonStateEvdev[MOUSE_LEFT_BUTTON]; |
|
|
|
|
|
|
|
if(!event.value && previousMouseLeftButtonState) |
|
|
|
{ |
|
|
|
CORE.Input.Mouse.currentButtonStateEvdev[MOUSE_LEFT_BUTTON] = 0; |
|
|
|
|
|
|
|
#if defined(SUPPORT_GESTURES_SYSTEM) |
|
|
|
touchAction = TOUCH_UP; |
|
|
|
gestureUpdate = true; |
|
|
|
#endif |
|
|
|
} |
|
|
|
|
|
|
|
if(event.value && !previousMouseLeftButtonState) |
|
|
|
{ |
|
|
|
CORE.Input.Mouse.currentButtonStateEvdev[MOUSE_LEFT_BUTTON] = 1; |
|
|
|
|
|
|
|
#if defined(SUPPORT_GESTURES_SYSTEM) |
|
|
|
touchAction = TOUCH_DOWN; |
|
|
|
gestureUpdate = true; |
|
|
|
#endif |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
// Button parsing |
|
|
|