Name

struct ff_effect — defines force feedback effect

Synopsis

struct ff_effect {
  __u16 type;
  __s16 id;
  __u16 direction;
  struct ff_trigger trigger;
  struct ff_replay replay;
  union u;
};  

Members

type

type of the effect (FF_CONSTANT, FF_PERIODIC, FF_RAMP, FF_SPRING, FF_FRICTION, FF_DAMPER, FF_RUMBLE, FF_INERTIA, or FF_CUSTOM)

id

an unique id assigned to an effect

direction

direction of the effect

trigger

trigger conditions (struct ff_trigger)

replay

scheduling of the effect (struct ff_replay)

u

effect-specific structure (one of ff_constant_effect, ff_ramp_effect, ff_periodic_effect, ff_condition_effect, ff_rumble_effect) further defining effect parameters

Description

This structure is sent through ioctl from the application to the driver. To create a new effect application should set its id to -1; the kernel will return assigned id which can later be used to update or delete this effect.

Direction of the effect is encoded as follows

0 deg -> 0x0000 (down) 90 deg -> 0x4000 (left) 180 deg -> 0x8000 (up) 270 deg -> 0xC000 (right)