Bug 70734 - Rudder pedal's eventX doesn't receive ACL.
Summary: Rudder pedal's eventX doesn't receive ACL.
Status: RESOLVED FIXED
Alias: None
Product: systemd
Classification: Unclassified
Component: general (show other bugs)
Version: unspecified
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: systemd-bugs
QA Contact: systemd-bugs
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-10-21 20:13 UTC by Michal Navratil
Modified: 2014-03-10 07:58 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
Requested udev info on Saitek rudder pedals. (6.68 KB, text/plain)
2014-03-07 21:47 UTC, Michal Navratil
Details

Description Michal Navratil 2013-10-21 20:13:58 UTC
Hello,
when a rudder pedals (e.g. 06a3:0763 Saitek PLC Pro Flight Rudder Pedals) are connected, the /dev/input/jsX and /dev/input/eventX are created. The problem is, that while jsX device has 644 permissions (enybody can read), the eventX device is available only to root, while any other joystick-like device receives ACLs for the current user.

If I'm not mistaken, the culprit is in the joystick detection heuristics - it looks for some axes and buttons, while these devices have only three axes.

Would it be possible to either extend the joystick detection heuristics to handle such devices (CH products pedals reportedly behave the same) or to create some exceptions for them, so these devices would work out of the box?

Please let me know if you need any more informations.
Kind regards,

Michal Navratil
Comment 1 Martin Pitt 2014-03-05 08:44:28 UTC
Yes, we should certainly extend input_id's logic to also cover these devices. Can you please find the eventX that belongs to that device, and give me the output of

  udevadm info --name=input/eventX

Please copy the device path from the first output line ("P:"), and run input id in debug mode:


  udevadm test-builtin input_id /devices/...

Finally, please run

  udevadm info --attribute-walk --name=input/eventX

and copy&paste the output here.

Thanks!
Comment 2 Michal Navratil 2014-03-07 21:47:11 UTC
Created attachment 95318 [details]
Requested udev info on Saitek rudder pedals.
Comment 3 Martin Pitt 2014-03-10 07:46:22 UTC
> # udevadm info --name=input/event12
> [...]
> E: ID_INPUT_JOYSTICK=1

Err, that's what we want to achieve.. I suppose you have some local udev rule which attaches that property to the pedals, so that it works for you?

> capabilities/ev raw kernel attribute: 9

That means it's capable of sending ABS and SYN events, not that surprising.

> capabilities/abs raw kernel attribute: 23

== ABS_X, ABS_Y, ABS_RZ

I was hoping that the device would be capable of something distinct like ABS_THROTTLE, ABS_RUDDER, ABS_WHEEL, ABS_GAS, or ABS_BRAKE. I'm afraid I don't really know what ABS_RZ is supposed to mean, the official documentation (https://www.kernel.org/doc/Documentation/input/event-codes.txt) does not mention it and googling for it doesn't help much either.

However, touch screens, touchpads, and accelerometers do *not* use all these "fancy" axes, they really are quite unique to joysticks and similar game controllers.
Comment 4 Martin Pitt 2014-03-10 07:58:27 UTC
Fixed in http://cgit.freedesktop.org/systemd/systemd/commit/?id=2658624399 . If you have a chance to test, I'd appreciate, but this ought to match at least your device (and presumably a lot of similar devices).


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.