Skip to content

Commit 08a72a2

Browse files
Angela CzubakBenjamin Tissoires
authored andcommitted
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: Angela Czubak <aczubak@google.com> Co-developed-by: Jonathan Denose <jdenose@google.com> Signed-off-by: Jonathan Denose <jdenose@google.com> Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: Benjamin Tissoires <bentiss@kernel.org>
1 parent 5e0ae59 commit 08a72a2

1 file changed

Lines changed: 21 additions & 1 deletion

File tree

include/uapi/linux/input.h

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -429,6 +429,24 @@ struct ff_rumble_effect {
429429
__u16 weak_magnitude;
430430
};
431431

432+
/**
433+
* struct ff_haptic_effect
434+
* @hid_usage: hid_usage according to Haptics page (WAVEFORM_CLICK, etc.)
435+
* @vendor_id: the waveform vendor ID if hid_usage is in the vendor-defined range
436+
* @vendor_waveform_page: the vendor waveform page if hid_usage is in the vendor-defined range
437+
* @intensity: strength of the effect as percentage
438+
* @repeat_count: number of times to retrigger effect
439+
* @retrigger_period: time before effect is retriggered (in ms)
440+
*/
441+
struct ff_haptic_effect {
442+
__u16 hid_usage;
443+
__u16 vendor_id;
444+
__u8 vendor_waveform_page;
445+
__u16 intensity;
446+
__u16 repeat_count;
447+
__u16 retrigger_period;
448+
};
449+
432450
/**
433451
* struct ff_effect - defines force feedback effect
434452
* @type: type of the effect (FF_CONSTANT, FF_PERIODIC, FF_RAMP, FF_SPRING,
@@ -465,13 +483,15 @@ struct ff_effect {
465483
struct ff_periodic_effect periodic;
466484
struct ff_condition_effect condition[2]; /* One for each axis */
467485
struct ff_rumble_effect rumble;
486+
struct ff_haptic_effect haptic;
468487
} u;
469488
};
470489

471490
/*
472491
* Force feedback effect types
473492
*/
474493

494+
#define FF_HAPTIC 0x4f
475495
#define FF_RUMBLE 0x50
476496
#define FF_PERIODIC 0x51
477497
#define FF_CONSTANT 0x52
@@ -481,7 +501,7 @@ struct ff_effect {
481501
#define FF_INERTIA 0x56
482502
#define FF_RAMP 0x57
483503

484-
#define FF_EFFECT_MIN FF_RUMBLE
504+
#define FF_EFFECT_MIN FF_HAPTIC
485505
#define FF_EFFECT_MAX FF_RAMP
486506

487507
/*

0 commit comments

Comments
 (0)