Thread (16 messages) flat view 16 messages, 4 authors, 2017-08-24

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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help