ImPS/2 일반 휠 마우스로 인식되는 터치패드

ImPS/2 일반 휠 마우스로 인식되는 터치패드

내 터치패드가 일반 마우스로 인식되어 일상생활에서도 많은 문제를 일으키고 있습니다. 저는 Ubuntu(16.04, 16.10, 17.04), Arch 및 현재 Manjaro를 포함한 여러 배포판을 사용해 보았습니다.

확대/축소할 수 없으며 무엇이든 입력하려고 할 때 조금만 터치해도 터치패드가 클릭을 인식하여 내가 하고 있던 작업에 집중할 수 없게 됩니다. 이전 모델에서는 maxTapTime=0.

저는 Acer Aspire V5-573G를 사용하고 있습니다. 시스템이 터치패드를 마우스가 아닌 터치패드로 인식하도록 하는 방법이 있습니까? 내가 읽은 바에 따르면 커널이 지원을 추가할 때까지 기다려야 할 수도 있습니다. 그렇다면 어떻게 격려해야 할까요? 내가 직접 드라이버를 작성하는 것이 가능합니까? 그렇다면 누군가가 나에게 올바른 방향을 알려줄 수 있습니까? 미리 감사드립니다!

몇 가지 출력을 제공했지만 이것이 충분한지 확실하지 않으므로 누락된 것이 있으면 알려 주시기 바랍니다.

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

답변1

PS/2 마우스 포트(원래 칩의 이름을 딴 Linux 드라이버 i8042)에 터치패드가 연결되어 있으므로 일반 마우스로 자동 감지됩니다.

권장되는 대로 시냅틱스 드라이버(배포판에 따라 패키지 등) 드라이버를 사용해 xf86-input-synaptics보십시오 xserver-xorg-input-synaptics.여기.

/dev/input/by-path/방금 찾은 장치 경로와 유사한 심볼릭 링크와 현재 /dev/input/eventX터치패드 에 대한 링크를 찾아 식별합니다. 입력 장치의 숫자는 부팅 시 안정성이 보장되지 않으므로(종종 그렇습니다) 이러한 심볼릭 링크를 사용하는 것이 좋습니다.

다음 섹션을 사용하여 파일 을 만듭니다 xorg.conf(표준 경로는 )./etc/X11/xorg.conf

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

매개변수를 추가하여 Option구성하세요. /var/log/Xorg.0.logX를 다시 시작하거나 재부팅한 후 모든 것이 작동하는지 확인하세요 .

자세한 내용은 드라이버 매뉴얼 페이지와 "linux synaptics 드라이버" 등에 대한 Google을 참조하세요.

편집하다:

/dev/input/by-path재부팅 시 번호가 변경되는 심볼릭 링크가 없으면 시도해 보세요 /dev/input/by-id. 그래도 작동하지 않으면 udev규칙이 필요합니다. 하다

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

현재 경로를 사용하면 경로 트리가 표시되고 이를 식별하는 데 사용할 수 있는 속성이 표시됩니다. 새 udev규칙 파일을 만듭니다. 내 시스템에서는 다음과 같을 것이며 /etc/udev/rules.d/70-acer-touchpad.rules귀하의 규칙은 아마도 다음과 같을 것입니다.

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

세부 사항은 시스템과 표시되는 속성에 따라 다르며 작동할 때까지 조정이 필요합니다. 튜토리얼 등을 위한 Google의 "udev 규칙 작성" 및 man udevadm.

편집하다

출력 에 따르면 udevadm,

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"

제가 ATTRS{phys}=="isa0060/serio1/input0"먼저 시도해보겠습니다. 작동하지 않으면 SUBSYSTEMS=="serio"으로 변경해야 할 수도 있습니다 .SUBSYSTEMS=="input"

관련 정보