public inbox for linux-input@vger.kernel.org
 help / color / mirror / Atom feed
From: Peter Hutterer <peter.hutterer@who-t.net>
To: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: jt <enopatch@gmail.com>, Aditya Garg <gargaditya08@live.com>,
	linux-input@vger.kernel.org
Subject: Re: PROBLEM: Synaptics TouchStyk (trackpoint) on HP EliteBook 850 G1 detected as "PS/2 Generic Mouse".
Date: Wed, 30 Apr 2025 10:50:28 +1000	[thread overview]
Message-ID: <20250430005028.GA1651740@quokka> (raw)
In-Reply-To: <7dzdsnr555tdnmwwp4n2bbycq7dbk6l32r7cz7i4arnln5qy3m@rmzvahhxk4dv>

On Mon, Apr 28, 2025 at 06:19:07PM -0700, Dmitry Torokhov wrote:
> On Thu, Apr 24, 2025 at 08:18:00PM +0100, jt wrote:
> > On Thu, 10 Apr 2025 at 20:48, jt <enopatch@gmail.com> wrote:
> > >
> > > On Thu, 10 Apr 2025 at 10:02, Dmitry Torokhov <dmitry.torokhov@gmail.com> wrote:
> > > > And please send me another dmesg of boot with the above config and
> > > > i8042.debug=1.
> > >
> > > My first attempt was with "i8042.nomux=1
> > > psmouse.synaptics_intertouch=1 i8042.debug=1". With this combination
> > > of parameters, libinput only sees 1 pointing device which it describes
> > > as "PS/2 Generic Mouse". However, both the touchpad and the trackpoint
> > > are able to move the pointer under xorg.
> > >
> > > I then thought to try removing the "i8042.nomux=1", leaving only
> > > "psmouse.synaptics_intertouch=1 i8042.debug=1". libinput now shows 2
> > > pointing devices: a "Synaptics TM2769-001" and a "PS/2 Generic Mouse".
> > >
> > > I have attached both dmesg outputs for the above. I can attach as many
> > > different dmesg outputs as would be helpful to you - just let me know
> > > exactly which different parameter combinations you would like me to
> > > try.
> > 
> > Hi Dmitry. It has been a couple of weeks since I sent this, and I just
> > wanted to make sure that you had received it.
> 
> Sorry about the delay. I looked at the device initialization and the
> "TouchStyk" device does not respond to the Trackpoint protocol queries,
> so from the kernel point of view there is nothing distinguishing it from
> a barebones PS/2 mouse.
> 
> Peter, is there a way to add a quick based on system info to libinput to
> identify that PS/2 device as a trackpoint variant? Unfortunately HP used
> the same PNP IDs for the main touchpad and the trackpoint...

udev's 60-input-id.hwdb [1] is the file to edit here - if you set that
to tag the device as ID_INPUT_POINTINGSTICK libinput (and in theory
other userspace) should treat it as such and no other changes are
needed. That property is set by default from the
INPUT_PROP_POINTINGSTICK but, well...

That hwdb doesn't currently support dmi- or name-based matches though,
but that can be fixed easily by copying the rules from 60-evdev.rules
into 60-input-id.rules and replacing the "evdev:" prefix with a
"input-id:" prefix (sounds more complicated than it is, you'll be able
to spot the pattern quickly, TLDR is those two rulesets should be
near-identical).

Then you can do something like:

input-id:PS/2 Generic Mouse:dmi:.....
  ID_INPUT_POINTINGSTICK=1

And that should magically work. That's the best we can do here, I think.

Before you get to all this you can test this locally by (ab)using the
evdev prefix:

		$ cat /etc/udev/hwdb.d/99-mouse-id.hwdb
		evdev:PS/2 Generic Mouse:dmi:.....
			ID_INPUT_POINTINGSTICK=1
		$ sudo systemd-hwdb update
		$ sudo udevadm test /sys/class/input/eventXYZ

with XYZ being your event node number. 
And that should show ID_INPUT_POINTINGSTICK which means libinput will
pick it up next time.

As for the dmi bits: pick something useful from
/sys/class/dmi/id/modalias, see the 60-evdev.hwdb for a rough guide on
what to pick (usually a glob with svn and pn or pvr)

If this works with the evdev prefix you can have a go  at extending the
rules and then adding the proper input-id hwdb entry to the
60-input-id.hwdb, getting it merged into systemd (cc me please)
and everyone can pop the champagne. good luck :)

Cheers,
  Peter

[1] https://github.com/systemd/systemd/blob/main/hwdb.d/60-input-id.hwdb

  parent reply	other threads:[~2025-04-30  0:52 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-04-01 15:32 PROBLEM: Synaptics TouchStyk (trackpoint) on HP EliteBook 850 G1 detected as "PS/2 Generic Mouse" jt
2025-04-08 11:36 ` Aditya Garg
2025-04-09 14:41   ` jt
2025-04-09 21:19     ` Dmitry Torokhov
2025-04-09 22:54       ` jt
2025-04-10  9:02         ` Dmitry Torokhov
2025-04-10 19:48           ` jt
2025-04-24 19:18             ` jt
2025-04-29  1:19               ` Dmitry Torokhov
2025-04-29 16:32                 ` Dmitry Torokhov
2025-04-30  0:50                 ` Peter Hutterer [this message]
2025-05-01  8:52                 ` jt
2025-05-01  9:00                   ` Aditya Garg
2025-05-06  1:12                     ` Dmitry Torokhov
2025-05-07 14:19                 ` Aditya Garg
2025-05-07 22:04                   ` Dmitry Torokhov
2025-04-08 11:59 ` Aditya Garg

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250430005028.GA1651740@quokka \
    --to=peter.hutterer@who-t.net \
    --cc=dmitry.torokhov@gmail.com \
    --cc=enopatch@gmail.com \
    --cc=gargaditya08@live.com \
    --cc=linux-input@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox