diff -Nurp orig/include/SDL_haptic.h p1/include/SDL_haptic.h --- orig/include/SDL_haptic.h 2014-10-17 09:43:21.000000000 +0200 +++ p1/include/SDL_haptic.h 2014-10-17 14:49:52.000000000 +0200 @@ -347,6 +347,9 @@ typedef struct _SDL_Haptic SDL_Haptic; /** * \brief Structure that represents a haptic direction. * + * This is the direction where the force comes from, + * instead of the direction in which the force is exerted. + * * Directions can be specified by: * - ::SDL_HAPTIC_POLAR : Specified by polar coordinates. * - ::SDL_HAPTIC_CARTESIAN : Specified by cartesian coordinates. diff -Nurp orig/src/haptic/linux/SDL_syshaptic.c p1/src/haptic/linux/SDL_syshaptic.c --- orig/src/haptic/linux/SDL_syshaptic.c 2014-10-17 09:43:21.000000000 +0200 +++ p1/src/haptic/linux/SDL_syshaptic.c 2014-10-17 09:57:50.000000000 +0200 @@ -669,6 +669,8 @@ SDL_SYS_ToDirection(Uint16 *dest, SDL_Ha 90 deg -> 0x4000 (left) 180 deg -> 0x8000 (up) 270 deg -> 0xC000 (right) + The force pulls into the direction specified by Linux directions, + i.e. the opposite convention of SDL directions. */ tmp = ((src->dir[0] % 36000) * 0x8000) / 18000; /* convert to range [0,0xFFFF] */ *dest = (Uint16) tmp;