table of contents
other versions
- wheezy 3.2.78-1
| STRUCT FF_DEVICE(9) | Input Subsystem | STRUCT FF_DEVICE(9) |
NAME¶
struct_ff_device - force-feedback part of an input deviceSYNOPSIS¶
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[];
};
MEMBERS¶
uploadCalled to upload an new effect into
device
erase
Called to erase an effect from device
playback
Called to request device to start playing
specified effect
set_gain
Called to set specified gain
set_autocenter
Called to auto-center device
destroy
called by input core when parent input device
is being destroyed
private
driver-specific data, will be freed
automatically
ffbit[BITS_TO_LONGS(FF_CNT)]
bitmap of force feedback capabilities truly
supported by device (not emulated like ones in input_dev->ffbit)
mutex
mutex for serializing access to the
device
max_effects
maximum number of effects supported by
device
effects
pointer to an array of effects currently
loaded into device
effect_owners[]
array of effect owners; when file handle
owning an effect gets closed the effect is automatically erased
DESCRIPTION¶
Every force-feedback device must implement upload and playback methods; erase is optional. set_gain and set_autocenter need only be implemented if driver sets up FF_GAIN and FF_AUTOCENTER bits. Note that playback, set_gain and set_autocenter are called with dev->event_lock spinlock held and interrupts off and thus may not sleep.COPYRIGHT¶
| March 2016 | Kernel Hackers Manual 3.2. |