[PATCH] Input: joydev - Recognize joysticks with Z axis as joysticks.

Subsystems: input (keyboard, mouse, joystick, touchscreen) drivers, the rest

STALE3649d

6 messages, 2 authors, 2016-09-15 · open the first message on its own page

[PATCH] Input: joydev - Recognize joysticks with Z axis as joysticks.

From: Ville Ranki <hidden>
Date: 2016-08-25 14:23:21

Current implementation of joydev's input_device_id
table recognizes only devices with ABS_X, ABS_WHEEL
or ABS_THROTTLE axes as joysticks.

There are joystick devices that do not have those axes,
for example TRC Rudder device. The device in question
has ABS_Z, ABS_RX and ABS_RY axes causing it not being
detected as joystick.

This patch adds ABS_Z to the input_device_id list
allowing devices with ABS_Z axis to be detected
correctly.

Signed-off-by: Ville Ranki <redacted>
---
 drivers/input/joydev.c | 6 ++++++
 1 file changed, 6 insertions(+)
diff --git a/drivers/input/joydev.c b/drivers/input/joydev.c
index 5d11fea..f3135ae 100644
--- a/drivers/input/joydev.c
+++ b/drivers/input/joydev.c
@@ -950,6 +950,12 @@ static const struct input_device_id joydev_ids[] = {
 		.flags = INPUT_DEVICE_ID_MATCH_EVBIT |
 				INPUT_DEVICE_ID_MATCH_ABSBIT,
 		.evbit = { BIT_MASK(EV_ABS) },
+		.absbit = { BIT_MASK(ABS_Z) },
+	},
+	{
+		.flags = INPUT_DEVICE_ID_MATCH_EVBIT |
+				INPUT_DEVICE_ID_MATCH_ABSBIT,
+		.evbit = { BIT_MASK(EV_ABS) },
 		.absbit = { BIT_MASK(ABS_WHEEL) },
 	},
 	{
-- 
2.7.4

Re: [PATCH] Input: joydev - Recognize joysticks with Z axis as joysticks.

From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date: 2016-08-25 16:45:49

On Thu, Aug 25, 2016 at 05:16:50PM +0300, Ville Ranki wrote:
Current implementation of joydev's input_device_id
table recognizes only devices with ABS_X, ABS_WHEEL
or ABS_THROTTLE axes as joysticks.

There are joystick devices that do not have those axes,
for example TRC Rudder device. The device in question
has ABS_Z, ABS_RX and ABS_RY axes causing it not being
detected as joystick.

This patch adds ABS_Z to the input_device_id list
allowing devices with ABS_Z axis to be detected
correctly.
I am curious why you still use joydev and not switch your client(s) to
evdev? Or is it some legacy game?

Thanks.
quoted hunk
Signed-off-by: Ville Ranki <redacted>
---
 drivers/input/joydev.c | 6 ++++++
 1 file changed, 6 insertions(+)
diff --git a/drivers/input/joydev.c b/drivers/input/joydev.c
index 5d11fea..f3135ae 100644
--- a/drivers/input/joydev.c
+++ b/drivers/input/joydev.c
@@ -950,6 +950,12 @@ static const struct input_device_id joydev_ids[] = {
 		.flags = INPUT_DEVICE_ID_MATCH_EVBIT |
 				INPUT_DEVICE_ID_MATCH_ABSBIT,
 		.evbit = { BIT_MASK(EV_ABS) },
+		.absbit = { BIT_MASK(ABS_Z) },
+	},
+	{
+		.flags = INPUT_DEVICE_ID_MATCH_EVBIT |
+				INPUT_DEVICE_ID_MATCH_ABSBIT,
+		.evbit = { BIT_MASK(EV_ABS) },
 		.absbit = { BIT_MASK(ABS_WHEEL) },
 	},
 	{
-- 
2.7.4
-- 
Dmitry

Re: [PATCH] Input: joydev - Recognize joysticks with Z axis as joysticks.

From: Ville Ranki <hidden>
Date: 2016-08-25 22:53:22

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 08/25/2016 07:45 PM, Dmitry Torokhov wrote:
quoted
This patch adds ABS_Z to the input_device_id list allowing
devices with ABS_Z axis to be detected correctly.
I am curious why you still use joydev and not switch your client(s)
to evdev? Or is it some legacy game?
Yes, this is about legacy games. For example X-Plane requires
joystick node to be present.

- -- 
Ville Ranki [off-list ref]
http://www.iki.fi/~cos
PGP public key: http://www.iki.fi/~cos/vranki_pub.asc
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iEYEARECAAYFAle/W3UACgkQVm11nqR7UVwysgCcDb9WIsMKC9qNPHxMWA9rFSqM
7YcAnibn2E02M4/7v7QjD0wuD3QdJMhG
=DjXV
-----END PGP SIGNATURE-----

Re: [PATCH] Input: joydev - Recognize joysticks with Z axis as joysticks.

From: Ville Ranki <hidden>
Date: 2016-09-02 09:11:16

On 08/25/2016 11:56 PM, Ville Ranki wrote:
On 08/25/2016 07:45 PM, Dmitry Torokhov wrote:
quoted
quoted
This patch adds ABS_Z to the input_device_id list allowing 
devices with ABS_Z axis to be detected correctly.
quoted
I am curious why you still use joydev and not switch your
client(s) to evdev? Or is it some legacy game?
Yes, this is about legacy games. For example X-Plane requires 
joystick node to be present.
Was this patch accepted or rejected? In distros event devices are
not readable by non-root users by default while joystick devices are.
These can be changed with udev rules, but IMO joystick detection
should be fixed on kernel level.

-- 
Ville Ranki [off-list ref]
http://www.iki.fi/~cos
PGP public key: http://www.iki.fi/~cos/vranki_pub.asc

Re: [PATCH] Input: joydev - Recognize joysticks with Z axis as joysticks.

From: Ville Ranki <hidden>
Date: 2016-09-15 14:18:49

On 09/02/2016 12:11 PM, Ville Ranki wrote:
Was this patch accepted or rejected? 
Still waiting for answer. If it requires changes, I'm happy
to do so. I asked another kernel developer to review the
patch and he said it should be ok.

-- 
Ville Ranki [off-list ref]
http://www.iki.fi/~cos
PGP public key: http://www.iki.fi/~cos/vranki_pub.asc

Re: [PATCH] Input: joydev - Recognize joysticks with Z axis as joysticks.

From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date: 2016-09-15 22:35:52

On Thu, Aug 25, 2016 at 05:16:50PM +0300, Ville Ranki wrote:
Current implementation of joydev's input_device_id
table recognizes only devices with ABS_X, ABS_WHEEL
or ABS_THROTTLE axes as joysticks.

There are joystick devices that do not have those axes,
for example TRC Rudder device. The device in question
has ABS_Z, ABS_RX and ABS_RY axes causing it not being
detected as joystick.

This patch adds ABS_Z to the input_device_id list
allowing devices with ABS_Z axis to be detected
correctly.

Signed-off-by: Ville Ranki <redacted>
Applied, thank you.

Although I wonder if we could not move joydev implementation to
userspace in the long run.

Thanks.

-- 
Dmitry
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help