[PATCH libinput 1/3] udev: Add name-based input device detection without dmi

Paul Kocialkowski contact at paulk.fr
Mon Apr 24 13:31:39 UTC 2017


Le lundi 24 avril 2017 à 16:11 +1000, Peter Hutterer a écrit :
> On Fri, Apr 21, 2017 at 01:31:56PM +0200, Paul Kocialkowski wrote:
> > Some devices do not use dmi at all (this is the case on most non-x86
> > platforms, such as arm and arm64) but should able to select specific
> > quirks based on the input device name too.
> > 
> > This adds name-based input device detection without dmi to support
> > these devices.
> > 
> > Signed-off-by: Paul Kocialkowski <contact at paulk.fr>
> > ---
> >  udev/90-libinput-model-quirks.rules.in | 4 ++++
> >  1 file changed, 4 insertions(+)
> > 
> > diff --git a/udev/90-libinput-model-quirks.rules.in b/udev/90-libinput-
> > model-quirks.rules.in
> > index 8bff192..149ef0d 100644
> > --- a/udev/90-libinput-model-quirks.rules.in
> > +++ b/udev/90-libinput-model-quirks.rules.in
> > @@ -37,4 +37,8 @@ ENV{ID_INPUT_MOUSE}=="1", \
> >  KERNELS=="input*", \
> >    IMPORT{builtin}="hwdb
> > 'libinput:name:$attr{name}:$attr{[dmi/id]modalias}'"
> >  
> > +# libinput:name:<name>
> > +KERNELS=="input*", \
> > +  IMPORT{builtin}="hwdb 'libinput:name:$attr{name}'"
> 
> is there something else we can hook onto? the i2c bus maybe? I'm a bit
> worried for these generic ones to start leaking into other devices.

I don't think the i2c bus would make any relevant difference here.

On the other hand, the device-tree model string (/proc/device-tree/model) should
properly (and uniquely) identify end devices. However, I don't think there's a
way to bind this to the attr udev event format, although it would be relevant to
have rules depending on the device-tree format (not only for libinput).

Also, note that the name+dmi rules will have priority over the name-only one
that I'm introducing. So the problem will likely only be between non-dmi devices
that have the same driver name but need separate quirks. There are also already
many rules where the dmi string is ignored (which is equivalent to what I'm
introducing), only that this doesn't work on ARM because the dmi nodes are
missing.

To solve this, I think the only relevant course of action would be to add
device-tree model support in systemd/udev and then use that in libinput.

What do you think, should I prepare and submit such changes?

Cheers,

Paul

> >  LABEL="libinput_model_quirks_end"
> > -- 
> > 2.12.2
> > 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part
URL: <https://lists.freedesktop.org/archives/wayland-devel/attachments/20170424/c500da3e/attachment.sig>


More information about the wayland-devel mailing list