linux/drivers/input
Cameron Gutman aadb3e12e2 Input: xpad - fix Xbox One rumble stopping after 2.5 secs
[ Upstream commit ae3b4469db ]

Unlike previous Xbox pads, the Xbox One pad doesn't have "sticky" rumble
packets. The duration is encoded into the command and expiration is handled
by the pad firmware.

ff-memless needs pseudo-sticky behavior for rumble effects to behave
properly for long duration effects. We already specify the maximum rumble
on duration in the command packets, but it's still only good for about 2.5
seconds of rumble. This is easily reproducible running fftest's sine
vibration test.

It turns out there's a repeat count encoded in the rumble command. We can
abuse that to get the pseudo-sticky behavior needed for rumble to behave as
expected for effects with long duration.

By my math, this change should allow a single ff_effect to rumble for 10
minutes straight, which should be more than enough for most needs.

Signed-off-by: Cameron Gutman <aicommander@gmail.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2018-12-01 09:46:38 +01:00
..
gameport x86/asm/tsc: Rename native_read_tsc() to rdtsc() 2015-07-06 15:23:28 +02:00
joystick Input: xpad - fix Xbox One rumble stopping after 2.5 secs 2018-12-01 09:46:38 +01:00
keyboard Input: atakbd - fix Atari CapsLock behaviour 2018-10-20 09:52:37 +02:00
misc Input: drv260x - fix initializing overdrive voltage 2018-04-29 07:50:01 +02:00
mouse Input: elan_i2c - add ACPI ID for Lenovo IdeaPad 330-15IGM 2018-11-10 07:41:43 -08:00
serio Input: i8042 - add Lenovo LaVie Z to the i8042 reset list 2018-08-06 16:24:29 +02:00
tablet Input: gtco - fix potential out-of-bound access 2017-11-02 09:40:49 +01:00
touchscreen Input: atmel_mxt_ts - only use first T9 instance 2018-09-19 22:48:58 +02:00
apm-power.c
evbug.c
evdev.c Input: evdev - fix bug in checking duplicate clock change request 2015-10-31 10:35:02 -07:00
ff-core.c Input: document and check on implicitly defined FF_MAX_EFFECTS 2015-10-16 15:32:16 -07:00
ff-memless.c
input-compat.c
input-compat.h
input-leds.c Input: leds - fix out of bound access 2018-05-16 10:06:48 +02:00
input-mt.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2015-04-14 18:25:15 -07:00
input-polldev.c
input.c Input: improve autorepeat initialization 2015-10-13 23:30:31 -07:00
joydev.c Input: joydev - fix possible ERR_PTR() dereferencing 2015-10-06 16:38:40 -07:00
Kconfig Input: export LEDs as class devices in sysfs 2015-06-11 18:18:11 -07:00
Makefile Input: export LEDs as class devices in sysfs 2015-06-11 18:18:11 -07:00
matrix-keymap.c
mousedev.c Input: mousedev - fix implicit conversion warning 2018-04-08 11:51:57 +02:00
sparse-keymap.c