ASUS 터치패드 문제: 1초가 지난 후 새 연락처를 만들 때 접촉으로 인해 약간의 지연이 발생하고 예상치 못한 두 번 클릭 이벤트가 발생함

ASUS 터치패드 문제: 1초가 지난 후 새 연락처를 만들 때 접촉으로 인해 약간의 지연이 발생하고 예상치 못한 두 번 클릭 이벤트가 발생함

편집하다: 문제가 어떤 구성 요소(커널, xorg 서버, 펌웨어, 기타?)에서 발생하는지 모르기 때문에 명령 xinput --list/proc/bus/input/devices파일 정보를 추가했습니다. 그래서 목록도 수정했어요상표. 다른 xorg 드라이버(,,,, synaptics)를 테스트해도 문제가 해결되지 않았고 문제는 출력에서 ​​직접 볼 수 있기 때문에 드라이버에서 발생하는 것이 아니라고 생각합니다. 맨 페이지에 따르면 "커널에서 제공하는 정보가 표시됩니다." ". 하지만 어쩌면 내가 틀렸을까요?libinputmtrackevtest

ASUS 터치패드 문제: 1초가 지난 후 새 연락처를 만들 때 접촉으로 인해 약간의 지연이 발생하고 예상치 못한 두 번 클릭 이벤트가 발생함

마우스 및 터치패드에서 "탭하여 클릭" 기능이 활성화되면 1초 이상 유휴 상태 후 터치패드를 사용할 때마다 터치패드가 첫 번째 움직임에 매우 느리게 반응합니다(하위 메뉴가 있음). 지연, 포인터가 멈춘 것처럼 보임) 또한 새 접점을 두 번 클릭으로 해석하여 포인터가 마침내 움직이기 시작하면 선택 상자를 만들거나 포인터가 움직이기 시작할 때 드래그하게 됩니다. 포인터 아래에 있는 항목을 이동합니다.

반면, 터치패드를 지속적으로 사용하고 1초 이상 비활성화되면 모든 것이 잘 작동합니다. 터치패드는 모든 명령에 즉시 반응하고 실수로 두 번 클릭하는 일이 발생하지 않습니다.

감도와 같은 명백한 매개변수를 조정해 보았지만 문제는 거기에서 발생하지 않는 것 같습니다.

내 질문은 다음과 같습니다

  • 이것은 버그입니까(즉, 소프트웨어 문제입니까)? 그렇다면 어떤 수준(드라이버, 커널, 펌웨어)에 있을 수 있습니까?
  • 그것이 중요합니까(구체적으로 터치패드가 1초 후에 절전 모드로 전환되도록 하는 일부 전원 관리 설정과 관련이 있을 수 있습니까)?
  • 문제를 추적하려면 다음으로 무엇을 해야 합니까?
  • 누구든지 이 문제를 해결할 수 있나요?

문맥

저는 Asus P5440을 가지고 있고 여기에 Linux를 설치하려고 합니다.

다음 배포판을 테스트했는데 문제는 동일합니다.

  • Linux Mint 19.1 - Cinnamon(커널 4.15.0-43-일반)
  • 우분투18.10
  • Manjaro 18.0 - Cinnamon 4.0.1(커널: 4.19.4-1-MANJARO)
  • 만자로 드워프 18.0.2
  • Manjaro-i3(Manjaro Linux 18.0 Illyria, 커널: 4.19.2-1-MANJARO)

내 문제는 다음과 같은 것 같습니다.ASUS Zenbook UX430UAR 터치패드가 절전 모드로 전환됨(USB 자동 일시 중지 문제는 아닌 것 같음)그러나 대답은 발견되지 않았습니다.

내가 사용해 본 또 다른 질문은 다음과 같습니다. https://askubuntu.com/questions/1009812/asus-touchpad-not-working-properly, 그러나 궁극적으로 문제는 다른 것 같습니다.

반면에 문제의 원인을 추적하는 데 약간의 진전이 있었지만 지금은 막혔습니다.

기술적 인 정보

evtest명령 출력

Linux Mint Cinnamon에서 작업하고 evtestLinux Mint 포럼에서 제안된 명령을 사용합니다.기사, 나는 다음을 얻었습니다:

터치패드 이벤트에는 문제가 없습니다

문제 없는 터치패드 접촉(즉, 터치패드를 지속적으로 사용하는 경우)의 경우 출력은 evtest다음과 같은 구조를 갖습니다.

Event: time 1547667771.554622, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 349
Event: time 1547667771.554622, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 480
Event: time 1547667771.554622, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 315
Event: time 1547667771.554622, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1
Event: time 1547667771.554622, type 1 (EV_KEY), code 325 (BTN_TOOL_FINGER), value 1
Event: time 1547667771.554622, type 3 (EV_ABS), code 0 (ABS_X), value 480
Event: time 1547667771.554622, type 3 (EV_ABS), code 1 (ABS_Y), value 315
Event: time 1547667771.554622, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 0
Event: time 1547667771.554622, -------------- SYN_REPORT ------------
[...]
Event: time 1547667771.850532, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 307500
Event: time 1547667771.850532, -------------- SYN_REPORT ------------
Event: time 1547667771.857897, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value -1
Event: time 1547667771.857897, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0
Event: time 1547667771.857897, type 1 (EV_KEY), code 325 (BTN_TOOL_FINGER), value 0
Event: time 1547667771.857897, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 315000
Event: time 1547667771.857897, -------------- SYN_REPORT ------------

이는 [...]유사한 콘텐츠의 긴 시퀀스를 나타냅니다.

여기서 주목해야 할 중요한 것은 및 :이 있는 BTN_TOUCH행 입니다 BTN_TOOL_FINGER. 시작 값 1과 연결되어 있으며 접촉이 설정되었음을 나타내고 종료 값 0은 접촉이 끊어졌음을 나타냅니다(터치패드 사용을 중단했을 때).

문제가 있는 터치패드 이벤트

이제 문제가 발생한 경우(예: 1초 이상 터치패드를 터치하는 경우) 출력은 evtest다음과 같습니다.

Event: time 1547667802.178649, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 353
Event: time 1547667802.178649, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 642
Event: time 1547667802.178649, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 203
Event: time 1547667802.178649, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1
Event: time 1547667802.178649, type 1 (EV_KEY), code 325 (BTN_TOOL_FINGER), value 1
Event: time 1547667802.178649, type 3 (EV_ABS), code 0 (ABS_X), value 642
Event: time 1547667802.178649, type 3 (EV_ABS), code 1 (ABS_Y), value 203
Event: time 1547667802.178649, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 0
Event: time 1547667802.178649, -------------- SYN_REPORT ------------
Event: time 1547667802.179359, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 7500
Event: time 1547667802.179359, -------------- SYN_REPORT ------------
Event: time 1547667802.184480, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 15000
Event: time 1547667802.184480, -------------- SYN_REPORT ------------
Event: time 1547667802.191692, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value -1
> Event: time 1547667802.191692, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0
> Event: time 1547667802.191692, type 1 (EV_KEY), code 325 (BTN_TOOL_FINGER), value 0
Event: time 1547667802.191692, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 22500
Event: time 1547667802.191692, -------------- SYN_REPORT ------------
Event: time 1547667802.221584, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 354
Event: time 1547667802.221584, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 525
Event: time 1547667802.221584, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 275
> Event: time 1547667802.221584, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1
> Event: time 1547667802.221584, type 1 (EV_KEY), code 325 (BTN_TOOL_FINGER), value 1
Event: time 1547667802.221584, type 3 (EV_ABS), code 0 (ABS_X), value 525
Event: time 1547667802.221584, type 3 (EV_ABS), code 1 (ABS_Y), value 275
Event: time 1547667802.221584, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 30000
Event: time 1547667802.221584, -------------- SYN_REPORT ------------
[...]
Event: time 1547667802.661690, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 472500
Event: time 1547667802.661690, -------------- SYN_REPORT ------------
Event: time 1547667802.669047, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value -1
Event: time 1547667802.669047, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0
Event: time 1547667802.669047, type 1 (EV_KEY), code 325 (BTN_TOOL_FINGER), value 0
Event: time 1547667802.669047, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 480000
Event: time 1547667802.669047, -------------- SYN_REPORT ------------

초기 접촉에서 멀지 않은 곳에 있는 2개의 내부 이벤트(각각 2줄)를 확인하고 >해당 줄의 시작 부분에 기호로 표시했습니다. 이는 접촉 중단(값 0)에 해당하고 그 다음 접촉 재설정(값 1)에 해당합니다. ) . 초기 더블 클릭을 유발하고 문제를 일으키는 것은 이 두 가지 내부 이벤트입니다.

xinput명령 및 /proc/bus/input/devices파일 의 정보

xinput --list터치패드의 출력은 다음과 같습니다.

$ xinput --list
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ FTE1200:00 0B05:0701 Touchpad             id=11   [slave  pointer  (2)]
...

다음은 명령의 출력입니다 xinput --list-props.

Device 'FTE1200:00 0B05:0701 Touchpad':
    Device Enabled (143):   1
    Coordinate Transformation Matrix (145): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
    libinput Tapping Enabled (281): 1
    libinput Tapping Enabled Default (282): 0
    libinput Tapping Drag Enabled (283):    1
    libinput Tapping Drag Enabled Default (284):    1
    libinput Tapping Drag Lock Enabled (285):   0
    libinput Tapping Drag Lock Enabled Default (286):   0
    libinput Tapping Button Mapping Enabled (287):  1, 0
    libinput Tapping Button Mapping Default (288):  1, 0
    libinput Natural Scrolling Enabled (289):   0
    libinput Natural Scrolling Enabled Default (290):   0
    libinput Disable While Typing Enabled (291):    1
    libinput Disable While Typing Enabled Default (292):    1
    libinput Scroll Methods Available (293):    1, 1, 0
    libinput Scroll Method Enabled (294):   1, 0, 0
    libinput Scroll Method Enabled Default (295):   1, 0, 0
    libinput Click Methods Available (296): 1, 1
    libinput Click Method Enabled (297):    1, 0
    libinput Click Method Enabled Default (298):    1, 0
    libinput Middle Emulation Enabled (299):    0
    libinput Middle Emulation Enabled Default (300):    0
    libinput Accel Speed (301): -0.064777
    libinput Accel Speed Default (302): 0.000000
    libinput Left Handed Enabled (303): 0
    libinput Left Handed Enabled Default (304): 0
    libinput Send Events Modes Available (266): 1, 1
    libinput Send Events Mode Enabled (267):    0, 0
    libinput Send Events Mode Enabled Default (268):    0, 0
    Device Node (269):  "/dev/input/event7"
    Device Product ID (270):    2821, 1793
    libinput Drag Lock Buttons (305):   <no items>
    libinput Horizontal Scroll Enabled (306):   0

다음 정보는 다음과 같습니다 /proc.

$ cat /proc/bus/input/devices
...
I: Bus=0018 Vendor=0b05 Product=0701 Version=0100
N: Name="FTE1200:00 0B05:0701 Touchpad"
P: Phys=i2c-FTE1200:00
S: Sysfs=/devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-8/i2c-FTE1200:00/0018:0B05:0701.0001/input/input7
U: Uniq=
H: Handlers=mouse0 event6 
B: PROP=5
B: EV=1b
B: KEY=e520 10000 0 0 0 0
B: ABS=260800000000003
B: MSC=20
...

추가 테스트

libinput또한 페이지에 제안된 synaptics명령을 사용하여 드라이버를 변경해 보았습니다.sudo apt install xserver-xorg-input-synaptics리눅스 민트 19.1 시나몬 릴리스 노트그러나 문제는 남아 있습니다. evdev같은 페이지에 표시된 대로 드라이버를 변경해 보았지만 설치 후에는 libinput명령의 결과 만 얻었습니다 grep -i "Using input driver" /var/log/Xorg.0.log. libinput명령으로 제거하면 sudo apt remove xserver-xorg-input-libinput터치패드가 응답하지 않습니다. 드라이버도 테스트했지만 mtrack문제가 지속됩니다.

관련 정보