struct ff_device — force-feedback part of an input device
struct ff_device { int (* upload) (struct input_dev *dev, struct ff_effect *effect,struct ff_effect *old); int (* erase) (struct input_dev *dev, int effect_id); int (* playback) (struct input_dev *dev, int effect_id, int value); void (* set_gain) (struct input_dev *dev, u16 gain); void (* set_autocenter) (struct input_dev *dev, u16 magnitude); void (* destroy) (struct ff_device *); void * private; unsigned long ffbit[BITS_TO_LONGS(FF_CNT)]; struct mutex mutex; int max_effects; struct ff_effect * effects; struct file * effect_owners[]; };
Called to upload an new effect into device
Called to erase an effect from device
Called to request device to start playing specified effect
Called to set specified gain
Called to auto-center device
called by input core when parent input device is being destroyed
driver-specific data, will be freed automatically
bitmap of force feedback capabilities truly supported by device (not emulated like ones in input_dev->ffbit)
mutex for serializing access to the device
maximum number of effects supported by device
pointer to an array of effects currently loaded into device
array of effect owners; when file handle owning an effect gets closed the effect is automatically erased