Input: improve autorepeat initialization

Add new function input_enable_softrepeat() that allows drivers to
initialize their own values for input_dev->rep[REP_DELAY] and
input_dev->rep[REP_PERIOD], but also use the software autorepeat
functionality from input.c.

For example, a HID driver could do:

static void xyz_input_configured(struct hid_device *hid,
                                 struct hid_input *hidinput)
        input_enable_softrepeat(hidinput->input, 400, 100);

static struct hid_driver xyz_driver = {
        .input_configured = xyz_input_configured,

Change-Id: I26ffb4d784f1a118c3ccd9e93407937100abdc55
Signed-off-by: Petri Gynther <>
Signed-off-by: Dmitry Torokhov <>
2 files changed