Home
last modified time | relevance | path

Searched hist:c4eae84feff3e68c2f385aa10faea4a96791e7ad (Results 1 – 2 of 2) sorted by relevance

/linux/drivers/hid/
H A Dhid-nintendo.cdiff c4eae84feff3e68c2f385aa10faea4a96791e7ad Sat Sep 11 19:36:28 CEST 2021 Daniel J. Ogorchock <djogorchock@gmail.com> HID: nintendo: add rumble support

This patch adds support for controller rumble.

The ff_effect weak magnitude is associated with the pro controller's
right motor (or with a right joy-con). The strong magnitude is
associated with the pro's left motor (or a left joy-con).

The rumble data is sent periodically (currently configured for every 50
milliseconds). If the controller receives no rumble data for too long a
time period, it will stop vibrating. The data is also sent every time
joycon_set_rumble is called to avoid latency of up to 50ms.

Because the rumble subcommands are sent in a deferred workqueue (they
can't be sent in the play_effect function due to the hid send sleeping),
the effects are queued. This ensures that no rumble effect is missed due
to them arriving in too quick of succession.

Signed-off-by: Daniel J. Ogorchock <djogorchock@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
H A DKconfigdiff c4eae84feff3e68c2f385aa10faea4a96791e7ad Sat Sep 11 19:36:28 CEST 2021 Daniel J. Ogorchock <djogorchock@gmail.com> HID: nintendo: add rumble support

This patch adds support for controller rumble.

The ff_effect weak magnitude is associated with the pro controller's
right motor (or with a right joy-con). The strong magnitude is
associated with the pro's left motor (or a left joy-con).

The rumble data is sent periodically (currently configured for every 50
milliseconds). If the controller receives no rumble data for too long a
time period, it will stop vibrating. The data is also sent every time
joycon_set_rumble is called to avoid latency of up to 50ms.

Because the rumble subcommands are sent in a deferred workqueue (they
can't be sent in the play_effect function due to the hid send sleeping),
the effects are queued. This ensures that no rumble effect is missed due
to them arriving in too quick of succession.

Signed-off-by: Daniel J. Ogorchock <djogorchock@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>