Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Angela Czubak and committed by
Benjamin Tissoires
08a72a22 5e0ae591

+21 -1
+21 -1
include/uapi/linux/input.h
··· 430 430 }; 431 431 432 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 + 450 + /** 433 451 * struct ff_effect - defines force feedback effect 434 452 * @type: type of the effect (FF_CONSTANT, FF_PERIODIC, FF_RAMP, FF_SPRING, 435 453 * FF_FRICTION, FF_DAMPER, FF_RUMBLE, FF_INERTIA, or FF_CUSTOM) ··· 483 465 struct ff_periodic_effect periodic; 484 466 struct ff_condition_effect condition[2]; /* One for each axis */ 485 467 struct ff_rumble_effect rumble; 468 + struct ff_haptic_effect haptic; 486 469 } u; 487 470 }; 488 471 ··· 491 472 * Force feedback effect types 492 473 */ 493 474 475 + #define FF_HAPTIC 0x4f 494 476 #define FF_RUMBLE 0x50 495 477 #define FF_PERIODIC 0x51 496 478 #define FF_CONSTANT 0x52 ··· 501 481 #define FF_INERTIA 0x56 502 482 #define FF_RAMP 0x57 503 483 504 - #define FF_EFFECT_MIN FF_RUMBLE 484 + #define FF_EFFECT_MIN FF_HAPTIC 505 485 #define FF_EFFECT_MAX FF_RAMP 506 486 507 487 /*