Re: [PATCH 3/3] Input: joydev - ignore accelerometer devices
From: Bastien Nocera <hadess@hadess.net>
Date: 2017-08-23 08:45:40
On Thu, 2017-08-17 at 19:01 -0700, Roderick Colenbrander wrote:
quoted hunk ↗ jump to hunk
From: Roderick Colenbrander <roderick.colenbrander@sony.com> Gamepads like DualShock 3 / 4 as of 4.12 started reporting motion sensors on a separate evdev node. Joydev is picking these devices up as well, but they don't make sense for the joydev interface. Signed-off-by: Roderick Colenbrander <roderick.colenbrander@sony.com> --- drivers/input/joydev.c | 5 +++++ 1 file changed, 5 insertions(+)diff --git a/drivers/input/joydev.c b/drivers/input/joydev.c index 29d677c..9b70fe0 100644 --- a/drivers/input/joydev.c +++ b/drivers/input/joydev.c@@ -819,6 +819,11 @@ static bool joydev_match(struct input_handler*handler, struct input_dev *dev) if (joydev_dev_is_absolute_mouse(dev)) return false; + /* Avoid accelerometers on composite devices. */ + if (test_bit(INPUT_PROP_ACCELEROMETER, dev->propbit) && + test_bit(INPUT_PROP_COMPOSITE, dev->propbit)) + return false;
I don't understand how making a laptop's builtin hard-drive drop sensor into a joystick device is acceptable, but the same device inside an external joypad isn't. Either all accelerometers are blocked through this interface, or none are.