Touchpad wird als ImPS/2 Generic Wheel Mouse erkannt

Touchpad wird als ImPS/2 Generic Wheel Mouse erkannt

Mein Touchpad wird als generische Maus erkannt und verursacht bei alltäglichen Dingen viele Probleme. Ich habe mehrere Distributionen ausprobiert, darunter Ubuntu (16.04, 16.10, 17.04), Arch und derzeit Manjaro.

Ich kann nicht zoomen und wenn ich etwas eintippe, führt die kleinste Berührung dazu, dass das Touchpad einen Klick erkennt und den Fokus von dem ablenkt, was ich gerade tue. Bei meinem vorherigen Modell konnte ich das deaktivieren, indem ich einstellte maxTapTime=0.

Ich verwende ein Acer Aspire V5-573G. Gibt es eine Möglichkeit, das System dazu zu bringen, das Touchpad als Touchpad und nicht als Maus zu erkennen? Soweit ich gelesen habe, muss ich möglicherweise warten, bis der Kernel Unterstützung hinzufügt. Wenn das der Fall ist, wie ermutige ich das? Ist es mir möglich, meine eigenen Treiber zu schreiben, und wenn ja, könnte mir jemand den richtigen Weg weisen? Vielen Dank im Voraus!

Ich habe einige Ausgaben bereitgestellt, bin mir aber nicht sicher, ob das ausreicht. Wenn ich also etwas übersehen habe, lassen Sie es mich bitte wissen.

uname -a

Linux brandyn-laptop 4.9.20-1-MANJARO #1 SMP PREEMPT Fri Mar 31 17:49:34 UTC 2017 x86_64 GNU/Linux

xinput

⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ ImPS/2 Generic Wheel Mouse                id=13   [slave  pointer  (2)]
⎣ Virtual core keyboard                     id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Video Bus                                 id=8    [slave  keyboard (3)]
    ↳ Power Button                              id=9    [slave  keyboard (3)]
    ↳ Sleep Button                              id=10   [slave  keyboard (3)]
    ↳ HD WebCam                                 id=11   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=12   [slave  keyboard (3)]
    ↳ Acer WMI hotkeys                          id=14   [slave  keyboard (3)]

lspci

00:00.0 Host bridge: Intel Corporation Haswell-ULT DRAM Controller (rev 09)
00:02.0 VGA compatible controller: Intel Corporation Haswell-ULT Integrated Graphics Controller (rev 09)
00:03.0 Audio device: Intel Corporation Haswell-ULT HD Audio Controller (rev 09)
00:14.0 USB controller: Intel Corporation 8 Series USB xHCI HC (rev 04)
00:16.0 Communication controller: Intel Corporation 8 Series HECI #0 (rev 04)
00:1b.0 Audio device: Intel Corporation 8 Series HD Audio Controller (rev 04)
00:1c.0 PCI bridge: Intel Corporation 8 Series PCI Express Root Port 1 (rev e4)
00:1c.2 PCI bridge: Intel Corporation 8 Series PCI Express Root Port 3 (rev e4)
00:1c.3 PCI bridge: Intel Corporation 8 Series PCI Express Root Port 4 (rev e4)
00:1c.4 PCI bridge: Intel Corporation 8 Series PCI Express Root Port 5 (rev e4)
00:1d.0 USB controller: Intel Corporation 8 Series USB EHCI #1 (rev 04)
00:1f.0 ISA bridge: Intel Corporation 8 Series LPC Controller (rev 04)
00:1f.2 SATA controller: Intel Corporation 8 Series SATA Controller 1 [AHCI mode] (rev 04)
00:1f.3 SMBus: Intel Corporation 8 Series SMBus Controller (rev 04)
01:00.0 3D controller: NVIDIA Corporation GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (rev a1)
04:00.0 Network controller: Qualcomm Atheros AR9462 Wireless Network Adapter (rev 01)
05:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTL8411B PCI Express Card Reader (rev 01)
05:00.1 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 14)

udevadm info -q path -n /dev/input/event16

/devices/platform/i8042/seriol/input/input9/event16

Antwort1

Sie haben ein Touchpad an den PS/2-Mausanschluss angeschlossen (Linux-Treiber i8042, benannt nach dem Originalchip), weshalb es automatisch als generische Maus erkannt wird.

Versuchen Sie, den Synaptics-Treiber (Pakete usw. je nach Distribution) zu verwenden xf86-input-synaptics, xserver-xorg-input-synapticswie empfohlen, z. B.Hier.

Suchen Sie nach /dev/input/by-path/dem Symlink, der dem gerade gefundenen Gerätepfad ähnelt und auf Ihr aktuelles /dev/input/eventXTouchpad verweist. Es gibt keine Garantie dafür, dass die Nummern für Eingabegeräte über mehrere Systemstarts hinweg stabil bleiben (obwohl dies häufig der Fall ist), daher ist es besser, einen solchen Symlink zu verwenden.

Erstellen Sie eine xorg.confDatei (Standardpfad ist /etc/X11/xorg.conf) mit folgendem Abschnitt

Section "InputClass"
   Identifier "touchpad"
   Driver "synaptics"
   MatchIsTouchpad "1"
   MatchDevicePath "/dev/input/by-path/path_to_your_touchpad"
EndSection

Fügen Sie OptionParameter hinzu, um es zu konfigurieren. Überprüfen Sie /var/log/Xorg.0.lognach dem Neustart von X oder dem Neustart, ob alles funktioniert.

Lesen Sie die Manpage des Treibers und googeln Sie nach „Linux Synaptics-Treiber“ usw., um weitere Informationen zu erhalten.

Bearbeiten:

Wenn es keinen Symlink gibt /dev/input/by-path, ändert sich die Nummer beim Neustart, versuchen Sie es mit /dev/input/by-id. Wenn das auch nicht funktioniert, brauchen Sie eine udevRegel.

udevadm info -a -p /devices/platform/i8042/seriol/input/...

mit dem aktuellen Pfad wird der Pfadbaum nach oben durchsucht und es werden Attribute angezeigt, mit denen Sie ihn identifizieren können. Erstellen Sie eine neue udevRegeldatei, auf meinem System wäre das etwa so /etc/udev/rules.d/70-acer-touchpad.rules, und Ihre Regel wird wahrscheinlich so aussehen

ACTION=="add", SUBSYSTEMS=="serio", ATTRS{foo}=="foo", ATTRS{bar}="bar", SYMLINK+="input/by-id/acer-touchpad"

Die Details hängen von Ihrem System und den angezeigten Attributen ab und müssen angepasst werden, bis es funktioniert. Suchen Sie bei Google nach „Udev-Regel schreiben“, um Tutorials usw. zu erhalten, und man udevadm

Bearbeiten

Laut der udevadmAusgabe

looking at parent device '/devices/platform/i8042/serio1/input/input7':
  KERNELS=="input7"
  SUBSYSTEMS=="input"
  DRIVERS==""
  ATTRS{name}=="ImPS/2 Generic Wheel Mouse"
  ATTRS{phys}=="isa0060/serio1/input0"
  ATTRS{properties}=="1"
  ATTRS{uniq}==""

looking at parent device '/devices/platform/i8042/serio1':
  KERNELS=="serio1"
  SUBSYSTEMS=="serio"
  DRIVERS=="psmouse"
  ATTRS{bind_mode}=="auto"
  ATTRS{description}=="i8042 AUX port"
  ATTRS{firmware_id}==""
  ATTRS{protocol}=="ImPS/2"
  ATTRS{rate}=="100"
  ATTRS{resetafter}=="5"
  ATTRS{resolution}=="200"
  ATTRS{resync_time}=="0"

Ich würde es ATTRS{phys}=="isa0060/serio1/input0"zuerst versuchen. Vielleicht musst du wechseln, SUBSYSTEMS=="serio"wenn SUBSYSTEMS=="input"es nicht funktioniert.

verwandte Informationen