Explorar el Código

x11: use raw values for relative mouse motion

Fixes https://github.com/libsdl-org/SDL/issues/13743
Sam Lantinga hace 1 mes
padre
commit
5f77da3a50
Se han modificado 1 ficheros con 3 adiciones y 4 borrados
  1. 3 4
      src/video/x11/SDL_x11xinput2.c

+ 3 - 4
src/video/x11/SDL_x11xinput2.c

@@ -84,15 +84,14 @@ static void parse_relative_valuators(SDL_XInput2DeviceInfo *devinfo, const XIRaw
 
         for (int j = 0; j < 2; ++j) {
             if (devinfo->number[j] == i) {
-                const double current_val = rawev->valuators.values[values_i];
+                double current_val = rawev->raw_values[values_i];
 
                 if (devinfo->relative[j]) {
                     processed_coords[j] = current_val;
                 } else {
-                    processed_coords[j] = devinfo->prev_coords[j] - current_val; // convert absolute to relative
+                    processed_coords[j] = (current_val - devinfo->prev_coords[j]); // convert absolute to relative
+                    devinfo->prev_coords[j] = current_val;
                 }
-
-                devinfo->prev_coords[j] = current_val;
                 ++found;
 
                 break;