• Daniel J. Ogorchock's avatar
    HID: nintendo: add rumble support · c4eae84f
    Daniel J. Ogorchock authored
    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: default avatarDaniel J. Ogorchock <djogorchock@gmail.com>
    Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
    c4eae84f
hid-nintendo.c 46.3 KB