Input: add support for autorepeat maximum count

Add REP_MAX_COUNT to input device, so that it doesn't repeat a key
press forever. This protects from the case where GFRM100 sends
a key-down event but never sends a key-up event due to Bluetooth link
going down or some other device error.

The autorepeat parameters of an input device can be read and modified
by using ioctl() on the input event device, e.g. /dev/input/event0.

The parameters can also be set directly from the driver that creates
the input device by calling input_enable_softrepeat().

This change evolved from Bruno 2.6.37 kernel commits:

commit e2a0d4d2b11c04c232ece9f9a5b82fc6b9d75b08
Author: Petri Gynther <>
Date:   Thu Apr 17 17:18:27 2014 -0700
Limit GFRM100 keypress auto-repeat to REP_MAX_COUNT=300

commit bf8c0864d08b80339204401f252efbe2037d6852
Author: Petri Gynther <>
Date:   Fri Apr 18 17:01:27 2014 -0700
Fix commit "Limit GFRM100 keypress auto-repeat"

Change-Id: I9688b92ae400e376654407a220e8a29b9d0fda69
4 files changed