diff --git a/include/SDL_haptic.h b/include/SDL_haptic.h index 61c62a5274..f679c5734e 100644 --- a/include/SDL_haptic.h +++ b/include/SDL_haptic.h @@ -624,7 +624,7 @@ typedef struct SDL_HapticCondition /* Header */ Uint16 type; /**< SDL_HAPTIC_SPRING, SDL_HAPTIC_DAMPER, SDL_HAPTIC_INERTIA or SDL_HAPTIC_FRICTION */ - SDL_HapticDirection direction; /**< Direction of the effect - Not used ATM. */ + SDL_HapticDirection direction; /**< Direction of the effect. */ /* Replay */ Uint32 length; /**< Duration of the effect. */ diff --git a/src/haptic/linux/SDL_syshaptic.c b/src/haptic/linux/SDL_syshaptic.c index 548bb2d211..2eef24137a 100644 --- a/src/haptic/linux/SDL_syshaptic.c +++ b/src/haptic/linux/SDL_syshaptic.c @@ -812,7 +812,9 @@ static int SDL_SYS_ToFFEffect(struct ff_effect *dest, SDL_HapticEffect *src) dest->type = FF_FRICTION; } - dest->direction = 0; /* Handled by the condition-specifics. */ + if (SDL_SYS_ToDirection(&dest->direction, &condition->direction) == -1) { + return -1; + } /* Replay */ dest->replay.length = (condition->length == SDL_HAPTIC_INFINITY) ? 0 : CLAMP(condition->length);