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-typ)
  • Ubuntu18.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)に対応します。 )。最初のダブルクリックを引き起こして問題を引き起こすのは、この2つの内部イベントです。

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-synapticsLinux Mint 19.1シナモンリリースノートしかし、問題は残っています。evdev同じページに示すようにドライバを変更してみましたが、インストール後はlibinputコマンドの結果だけが得られましたgrep -i "Using input driver" /var/log/Xorg.0.loglibinputコマンドで削除すると、sudo apt remove xserver-xorg-input-libinputタッチパッドが応答しなくなります。ドライバもテストしましたが、mtrack問題は持続します。

関連情報