|
@@ -590,6 +590,9 @@ void X11_HandleXinput2Event(SDL_VideoDevice *_this, XGenericEventCookie *cookie)
|
|
|
bool pointer_emulated = false;
|
|
bool pointer_emulated = false;
|
|
|
#endif
|
|
#endif
|
|
|
|
|
|
|
|
|
|
+ // Store the button serial to filter out redundant core button events.
|
|
|
|
|
+ videodata->xinput_last_button_serial = xev->serial;
|
|
|
|
|
+
|
|
|
if (pen) {
|
|
if (pen) {
|
|
|
if (xev->deviceid != xev->sourceid) {
|
|
if (xev->deviceid != xev->sourceid) {
|
|
|
// Discard events from "Master" devices to avoid duplicates.
|
|
// Discard events from "Master" devices to avoid duplicates.
|
|
@@ -607,9 +610,6 @@ void X11_HandleXinput2Event(SDL_VideoDevice *_this, XGenericEventCookie *cookie)
|
|
|
SDL_WindowData *windowdata = X11_FindWindow(videodata, xev->event);
|
|
SDL_WindowData *windowdata = X11_FindWindow(videodata, xev->event);
|
|
|
int x_ticks = 0, y_ticks = 0;
|
|
int x_ticks = 0, y_ticks = 0;
|
|
|
|
|
|
|
|
- // Store the button serial to filter out redundant core button events.
|
|
|
|
|
- videodata->xinput_last_button_serial = xev->serial;
|
|
|
|
|
-
|
|
|
|
|
if (xev->deviceid != videodata->xinput_master_pointer_device) {
|
|
if (xev->deviceid != videodata->xinput_master_pointer_device) {
|
|
|
// Ignore slave button events on non-focused windows, or focus can be incorrectly set while a grab is active.
|
|
// Ignore slave button events on non-focused windows, or focus can be incorrectly set while a grab is active.
|
|
|
if (SDL_GetMouseFocus() != windowdata->window) {
|
|
if (SDL_GetMouseFocus() != windowdata->window) {
|