[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160720222002.GD26006@dtor-ws>
Date: Wed, 20 Jul 2016 15:20:02 -0700
From: Dmitry Torokhov <dmitry.torokhov@...il.com>
To: Peter Hutterer <peter.hutterer@...-t.net>
Cc: Pavel Machek <pavel@....cz>, Michael Welling <mwelling@...e.org>,
kernel list <linux-kernel@...r.kernel.org>,
linux-input@...r.kernel.org, pali.rohar@...il.com, sre@...nel.org,
aaro.koskinen@....fi, ivo.g.dimitrov.75@...il.com,
patrikbachan@...il.com, serge@...lyn.com
Subject: Re: v4.1 to v4.7: regression in tsc2005 driver
On Thu, Jul 21, 2016 at 07:47:36AM +1000, Peter Hutterer wrote:
> On Wed, Jul 20, 2016 at 09:23:56AM -0700, Dmitry Torokhov wrote:
> > On Wed, Jul 20, 2016 at 08:25:58AM +0200, Pavel Machek wrote:
> > > Hi!
> > >
> > > > > > > > > > drivers/input/touchscreen/tsc2005.c: input_dev->name = "TSC2005
> > > > > > > > > > touchscreen";
> > > > > > > > > >
> > > > > > > > > > to "TSC200X touchscreen". Unfortunately, X seems to propagate that
> > > > > > > > > > name to userspace, where it is needed to be able to do
> > > >
> > > > Technically X _is_ userspace.
> > >
> > > There's "userspace running as root" and "userspace userspace" :-).
> >
> > I do not really see any difference form the kernel POW.
> >
> > >
> > > > > > > > > >
> > > > > > > > > > xinput --set-prop --type=int ...
> > > > > > > > > >
> > > > > > > > > > with the right arguments to calibrate touchscreen. (Touchscreen is
> > > > > > > > > > unusable without calibration).
> > > > > > > > > >
> > > > > > > > > > What to do with that?
> > > >
> > > > Hmm, I do not think we ever committed for the device names to be stable.
> > > > You are supposed to locate touchscreen device based on its properties
> > > > and you might need some heuristic if you encounter a system with more
> > > > than one such touchscreen.
> > >
> > > Well, you are commited now, like it or not, X people did it for you
> > > :-(.
> > >
> > > Because there's no other reasonable way to use xinput --set-prop...
> >
> > Well, X is going to have to fix it. How am I supposed to control my
> > devices in multi-seat environment if I use the same hardware (or if I
> > have device with multiple touchscreens)? They all will have the same
> > name (well, all mice, then all keyboards, etc). Let's add Peter to the
> > fold...
> >
> > In the mean time you can adjust the name or use XID instead.
>
> X has partially fixed this a few years ago. All input drivers (that
> matter) export a Device Node property that sets the device node for each
> device.
>
> $ xinput list-props "SynPS/2 Synaptics TouchPad" | grep "Device Node"
> Device Node (261): "/dev/input/event4"
>
> Based on that you can get the udev device and work your way into any of the
> sysfs tree. Or do whatever else you want.
The issue is not that I can't figure out sysfs path for a device, the
issue is that xinput does not accept anything but name or XID and I may
have multiple devices with the same name in the system.
>
> But other than that there isn't anything in X to fix. xinput is primarily a
> debugging tool and it does name resolution for convenience. But it's not a
> tool for complex configurations. It does exactly what it needs to do, if you
OK, I do not believe that this information was conveyed clearly enough.
Apparently some setups use it for real configuration.
> need something that's more complicated and relies on information not
> available to the X device itself then you'll need to write a custom tool
> that does what you need. sorry.
Pavel, ^^^^
Thanks.
--
Dmitry
Powered by blists - more mailing lists