Commit 08a72a22 authored by Angela Czubak's avatar Angela Czubak Committed by Benjamin Tissoires
Browse files

Input: add FF_HAPTIC effect type



FF_HAPTIC effect type can be used to trigger haptic feedback with HID
simple haptic usages.

Signed-off-by: default avatarAngela Czubak <aczubak@google.com>
Co-developed-by: default avatarJonathan Denose <jdenose@google.com>
Signed-off-by: default avatarJonathan Denose <jdenose@google.com>
Acked-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: default avatarBenjamin Tissoires <bentiss@kernel.org>
parent 5e0ae591
Loading
Loading
Loading
Loading
+21 −1
Original line number Diff line number Diff line
@@ -429,6 +429,24 @@ struct ff_rumble_effect {
	__u16 weak_magnitude;
};

/**
 * struct ff_haptic_effect
 * @hid_usage: hid_usage according to Haptics page (WAVEFORM_CLICK, etc.)
 * @vendor_id: the waveform vendor ID if hid_usage is in the vendor-defined range
 * @vendor_waveform_page: the vendor waveform page if hid_usage is in the vendor-defined range
 * @intensity: strength of the effect as percentage
 * @repeat_count: number of times to retrigger effect
 * @retrigger_period: time before effect is retriggered (in ms)
 */
struct ff_haptic_effect {
	__u16 hid_usage;
	__u16 vendor_id;
	__u8  vendor_waveform_page;
	__u16 intensity;
	__u16 repeat_count;
	__u16 retrigger_period;
};

/**
 * struct ff_effect - defines force feedback effect
 * @type: type of the effect (FF_CONSTANT, FF_PERIODIC, FF_RAMP, FF_SPRING,
@@ -465,6 +483,7 @@ struct ff_effect {
		struct ff_periodic_effect periodic;
		struct ff_condition_effect condition[2]; /* One for each axis */
		struct ff_rumble_effect rumble;
		struct ff_haptic_effect haptic;
	} u;
};

@@ -472,6 +491,7 @@ struct ff_effect {
 * Force feedback effect types
 */

#define FF_HAPTIC		0x4f
#define FF_RUMBLE	0x50
#define FF_PERIODIC	0x51
#define FF_CONSTANT	0x52
@@ -481,7 +501,7 @@ struct ff_effect {
#define FF_INERTIA	0x56
#define FF_RAMP		0x57

#define FF_EFFECT_MIN	FF_RUMBLE
#define FF_EFFECT_MIN	FF_HAPTIC
#define FF_EFFECT_MAX	FF_RAMP

/*