Procházet zdrojové kódy

Attempt to get the X1 and X2 button state on X11 by using the current event state instead of direct X11 query.

Sam Lantinga před 3 roky
rodič
revize
c7dff3a22e
1 změnil soubory, kde provedl 2 přidání a 0 odebrání
  1. 2 0
      src/video/x11/SDL_x11mouse.c

+ 2 - 0
src/video/x11/SDL_x11mouse.c

@@ -406,6 +406,8 @@ X11_GetGlobalMouseState(int *x, int *y)
                     buttons |= (mask & Button1Mask) ? SDL_BUTTON_LMASK : 0;
                     buttons |= (mask & Button2Mask) ? SDL_BUTTON_MMASK : 0;
                     buttons |= (mask & Button3Mask) ? SDL_BUTTON_RMASK : 0;
+                    /* Use the SDL state for the extended buttons - it's better than nothing */
+                    buttons |= (SDL_GetMouseState(NULL, NULL) & (SDL_BUTTON_X1MASK|SDL_BUTTON_X2MASK));
                     /* SDL_DisplayData->x,y point to screen origin, and adding them to mouse coordinates relative to root window doesn't do the right thing
                      * (observed on dual monitor setup with primary display being the rightmost one - mouse was offset to the right).
                      *