[systemd-devel] joystick doesn't respect seat rule

David Herrmann dh.herrmann at gmail.com
Wed May 28 14:22:48 PDT 2014


Hi

On Wed, May 28, 2014 at 11:07 PM, Zbigniew Jędrzejewski-Szmek
<zbyszek at in.waw.pl> wrote:
> On Wed, May 28, 2014 at 09:22:23PM +0200, Floris wrote:
>> Op Wed, 28 May 2014 20:38:17 +0200 schreef Mantas Mikulėnas
>> <grawity at gmail.com>:
>>
>> >
>> >So the seat assignment works fine – gdm is added to the ACL.
>> >
>> >The problem is that the devnode is *world-readable*.
>>
>> and how can we fix this?
>
> It has "always" been like this:
>
> commit d638611c44672dea8d8a498dbe84c7d650ef2194
> Author: Kay Sievers <kay.sievers at vrfy.org>
> Date:   Fri Aug 10 12:36:59 2007 +0200
>
>     rules: add default rules
>
> I guess that the assumption is that this is relatively safe to allow
> public reading of joystick and mouse input. Kay, please correct me
> if necessary.

Correct. joydev devices are always world-readable as games (SDL,
steam, ...) rely on the device-nodes.

There are some things to note about joydevs:
1) They are deprecated! No features are added, any new application is
advised to use evdev exclusively (event devices). Same is true for
mousedev and others. Rule of thumb is: evdev is the only node you
should use.
2) Input handling other than mouse (which includes trackpads and
touchscreens) and keyboard has never been figured out properly. There
is XInput, XInput2 and more, but games still use joydev directly. They
ignore seat assignments, they ignore permissions, they ignore evdev.
It's a mess and there is currently no solution. No, there isn't even
anyone working on it.

It's a complex task. So unless someone wants to tackle it, we have to
deal with the consequences. This includes: applications will ignore
seat-assignments for joysticks, gamepads and more.

Thanks
David


More information about the systemd-devel mailing list