|
|
@ -170,6 +170,11 @@ static const int EvkeyToUnicodeLUT[] = { |
|
|
|
// LUT currently incomplete, just mapped the most essential keys |
|
|
|
}; |
|
|
|
|
|
|
|
#if defined(SUPPORT_GESTURES_SYSTEM) |
|
|
|
GestureEvent gestureEvent = { 0 }; // Gesture event to hold data between EventThread() and PollInputEvents() |
|
|
|
bool newGesture = false; // Var to trigger ProcessGestureEvent(gestureEvent) on PollInputEvents() |
|
|
|
#endif |
|
|
|
|
|
|
|
//---------------------------------------------------------------------------------- |
|
|
|
// Module Internal Functions Declaration |
|
|
|
//---------------------------------------------------------------------------------- |
|
|
@ -592,6 +597,18 @@ void PollInputEvents(void) |
|
|
|
// Reset touch positions |
|
|
|
//for (int i = 0; i < MAX_TOUCH_POINTS; i++) CORE.Input.Touch.position[i] = (Vector2){ 0, 0 }; |
|
|
|
|
|
|
|
// Map touch position to mouse position for convenience |
|
|
|
CORE.Input.Touch.position[0] = CORE.Input.Mouse.currentPosition; |
|
|
|
|
|
|
|
#if defined(SUPPORT_GESTURES_SYSTEM) |
|
|
|
// Call the ProcessGestureEvent here instead of on EventThread() to workaround the threads not matching |
|
|
|
if (newGesture) |
|
|
|
{ |
|
|
|
ProcessGestureEvent(gestureEvent); |
|
|
|
newGesture = false; |
|
|
|
} |
|
|
|
#endif |
|
|
|
|
|
|
|
#if defined(SUPPORT_SSH_KEYBOARD_RPI) |
|
|
|
// NOTE: Keyboard reading could be done using input_event(s) or just read from stdin, both methods are used here. |
|
|
|
// stdin reading is still used for legacy purposes, it allows keyboard input trough SSH console |
|
|
@ -603,7 +620,6 @@ void PollInputEvents(void) |
|
|
|
#endif |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
//---------------------------------------------------------------------------------- |
|
|
|
// Module Internal Functions Definition |
|
|
|
//---------------------------------------------------------------------------------- |
|
|
@ -1715,7 +1731,7 @@ static void *EventThread(void *arg) |
|
|
|
#if defined(SUPPORT_GESTURES_SYSTEM) |
|
|
|
if (gestureUpdate) |
|
|
|
{ |
|
|
|
GestureEvent gestureEvent = { 0 }; |
|
|
|
o">//GestureEvent gestureEvent = { 0 }; |
|
|
|
|
|
|
|
gestureEvent.touchAction = touchAction; |
|
|
|
gestureEvent.pointCount = CORE.Input.Touch.pointCount; |
|
|
@ -1726,7 +1742,8 @@ static void *EventThread(void *arg) |
|
|
|
gestureEvent.position[i] = CORE.Input.Touch.position[i]; |
|
|
|
} |
|
|
|
|
|
|
|
ProcessGestureEvent(gestureEvent); |
|
|
|
//ProcessGestureEvent(gestureEvent); |
|
|
|
newGesture = true; |
|
|
|
} |
|
|
|
#endif |
|
|
|
} |
|
|
|