web-dev-qa-db-ja.com

タッチパッドを使用すると、マウスポインターが左クリックの直前に左下にジャンプする

16.04とUnityがインストールされたAsus Zenbook UX305があります。トラックパッド(xinputで識別される「Elanタッチパッド」)を使用する場合、マウスポインターを操作するために右手を使用し、タッチパッドの左下で左クリックを実行するために左手を使用します。残念ながら、クリックが完了する直前にマウスが画面の左下に向かってジャンプすることがよくあります。最初は、ジャンプは完全に左下にあると思っていましたが、その後、ジャンプがその方向にのみあることがわかりました(マウスポインターの速度を調整することにより)。

私はマウスとタッチパッドの設定でさまざまな設定を試してみましたが、synclient(たとえばFingerHigh)のさまざまな設定をいじることもできませんでした。

通常、左手でクリックする前に、右手をタッチパッドから外します。ただし、リリースとクリックの間隔が小さすぎるか、存在しない場合があります。私の感じでは、左手からの最初の圧力は、何とかして、右手の位置から右下への非常に速い動きからの圧力と見なされます。

私は本当にこの刺激的な振る舞いを解決したいと思います。

追加情報:

$ xinput --list ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ Elan Touchpad id=10 [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)] ↳ Sleep Button id=8 [slave keyboard (3)] ↳ USB2.0 UVC HD Webcam id=9 [slave keyboard (3)] ↳ Asus WMI hotkeys id=11 [slave keyboard (3)] ↳ AT Translated Set 2 keyboard id=12 [slave keyboard (3)]

$ xinput --list-props "Elan Touchpad" Device 'Elan Touchpad': Device Enabled (137): 1 Coordinate Transformation Matrix (139): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000 Device Accel Profile (265): 1 Device Accel Constant Deceleration (266): 2.500000 Device Accel Adaptive Deceleration (267): 1.000000 Device Accel Velocity Scaling (268): 12.500000 Synaptics Edges (269): 123, 2974, 114, 2005 Synaptics Finger (270): 25, 30, 0 Synaptics Tap Time (271): 180 Synaptics Tap Move (272): 165 Synaptics Tap Durations (273): 180, 100, 100 Synaptics ClickPad (274): 1 Synaptics Middle Button Timeout (275): 0 Synaptics Two-Finger Pressure (276): 282 Synaptics Two-Finger Width (277): 7 Synaptics Scrolling Distance (278): 75, 75 Synaptics Edge Scrolling (279): 0, 0, 0 Synaptics Two-Finger Scrolling (280): 1, 1 Synaptics Move Speed (281): 1.000000, 1.750000, 0.053305, 0.000000 Synaptics Off (282): 2 Synaptics Locked Drags (283): 0 Synaptics Locked Drags Timeout (284): 5000 Synaptics Tap Action (285): 2, 3, 0, 0, 1, 3, 0 Synaptics Click Action (286): 1, 3, 0 Synaptics Circular Scrolling (287): 0 Synaptics Circular Scrolling Distance (288): 0.100000 Synaptics Circular Scrolling Trigger (289): 0 Synaptics Circular Pad (290): 0 Synaptics Palm Detection (291): 0 Synaptics Palm Dimensions (292): 10, 200 Synaptics Coasting Speed (293): 20.000000, 50.000000 Synaptics Pressure Motion (294): 30, 160 Synaptics Pressure Motion Factor (295): 1.000000, 1.000000 Synaptics Resolution Detect (296): 1 Synaptics Grab Event Device (297): 0 Synaptics Gestures (298): 1 Synaptics Capabilities (299): 1, 0, 0, 1, 1, 1, 1 Synaptics Pad Resolution (300): 33, 32 Synaptics Area (301): 0, 0, 0, 0 Synaptics Soft Button Areas (302): 1548, 0, 1737, 0, 0, 0, 0, 0 Synaptics Noise Cancellation (303): 18, 18 Device Product ID (257): 1267, 5 Device Node (258): "/dev/input/event7"

[免責事項:これは カーソルを目的の場所から画面の左端にジャンプするのを止めるにはどうすればよいですか? に似ていますが、同じ問題か異なる問題かを確認できませんでした。元のポスターは質問に対する応答を停止しました。]

2
Steve Kroon

説明したイベントシーケンスは次のとおりです。

  • 右手の指のドラッグ、続いて
  • 右手の指を持ち上げて、続いて
  • 左手指のタッチとリリース(タップ)。

特定の方法(パッド上の2つの手からの指)を使用してクリックする場合は、年の左手指afterで必ずタップしてください右手の指の接触を解除します。これにより、カーネルはクイックタップを左クリックとして認識し、それをパッド上で連続として検出された軌跡と区別し、上記のシーケンスに従って右手から左手に移動することを期待します。

さまざまな方法を長さで試してください。または、タッチパッドの操作方法を変更することもできます。

1)Coast行:最初にドキュメントを読み、」を確認してください従来のcoast行」は無効です。 coast性走行が必要な場合は、「エッジcoast性走行」としてのみ有効にしてください。それ以外の場合、上記のシーケンスのタイプは、「ポインター移動リーク」(「従来のcoast行」)と呼ばれるものにつながります。これは、パッド上でポインターの駆動を停止した後でもポインターが直線移動を続けるという動作になります。従来のcoast行はタップで停止します。 「エッジコースティング」は、パッドエッジに指で圧力を加えた場合にのみアクティブになります。指の圧力が所定の値を下回ると、すぐに停止します。

2)次に、調整Synaptics Tap Durations (273): 180, 100, 100

3つの値は次のとおりです。

   Option "MaxTapTime" "integer"
          Single touch timeout or maximum time (in milliseconds) for detecting a tap.

   Option "MaxDoubleTapTime" "integer"
          Maximum time (in milliseconds) for detecting a double  tap.

   Option "ClickTime" "integer"
          Duration  of  the  mouse  click  generated  by tapping.

MaxTapTime(タッチおよびリリース時間)の値を180からたとえば90に下げてみてください。これによりyrパッドがタップに対してより敏感になり、カーネルがポインターをすばやくタップして指の変化を区別できるようになります。移動。それには確かに副作用があります。これは this を参照することで評価できます。

これで満足のいく結果が得られない場合は、次のことを試してください。

3)Synaptics Pressure Motion (294): 30, 160をオフにする:

  • Synaptics Pressure Motion:32ビット、2つの値、最小、最大.

必要なすべてのツールとドキュメントは、この回答と 前のもの で既に引用されているもので参照および実証されています。

注:解決策は試行錯誤と個人的な好みに大きく依存しているため、これ以上誰もあなたを助けることができないと思います。そのため、このタイプの質問はそれほど多くの関心を引き出しません。これはあなたにとって理解できるほど重要ですが、そのような細目や詳細に入ることは一般的な関心の範囲外になる可能性があると思います。

2
Cbhihe

Synapticsタッチパッドでこの問題が発生しましたが、それを解決したのは、ノイズキャンセル値を変更することでした。新規インストール後、ノイズキャンセル値は次のとおりでした。

Synaptics Noise Cancellation (353): 8, 8

だから私は、コマンドでノイズキャンセル値を20、20に変更しました

xinput --set-prop 13 "Synaptics Noise Cancellation" 20 20

彼らが言うように、あなたの走行距離は異なる場合があります...

気を付けて。

1
zakarpatska