Ubuntu 16.04 LTS でパームリジェクションを修正するにはどうすればいいですか?

Ubuntu 16.04 LTS でパームリジェクションを修正するにはどうすればいいですか?

最近、Dell Inspiron 7559 ラップトップに Ubuntu をダウンロードしたのですが、パーム リジェクションがうまく機能していないことに気付きました。ソフトウェアは部分的にしか機能しません。手のひらでトラック パッドを操作しようとするとカーソルが動かないので、手のひらは明らかに認識されますが、手のひらをトラック パッドに置くと (必ずしもタップする必要はなく、ただそこに置くだけです)、自動的にクリックが行われます。これによりウィンドウが消えてしまうため、元に戻すにはウィンドウを探す必要があります。

これは、他には誰も抱えていない、特に奇妙な問題です。Windows と Ubuntu をデュアル ブートしていますが、Windows 10 を起動するとこの問題は発生しません。変更できる設定や更新できるドライバーはありますか? どなたか助けていただければ幸いです。

編集:

xinput リストを使用してデバイスをチェックしたところ、タッチパッド入力が 2 つあることがわかりました。

↳ ELAN1010:00 04F3:3012 タッチパッドid=12 [スレーブポインタ(2)]

↳ ETPS/2 Elantech タッチパッド id=14 [スレーブポインタ (2)]

では、OS は間違ったドライバーをリッスンしているのでしょうか? もしそうなら、正しいドライバーを使用するにはどうすればいいのでしょうか?

答え1

まず、タッチパッドのドライバーを見つけます。ターミナルで次のように入力して見つけます。

xinput

そこでドライバーのリストが表示されます。仮想コア ポインターのリストの下で、キーワード TouchPad を探します。その変数は {id} になります。たとえば、私の場合は "SynPS/2 Synaptics TouchPad" です。

次に、スタートアップ アプリケーションの設定に移動し、「追加」を選択します。名前には任意の名前を入力できます (私は「Palm Detection」を使用しました)。cmd には次の名前を入力します。

xinput set-prop "{id}" "Synaptics Palm Detection" 1

また、寸法を設定するためにもう 1 つ追加します。これを「Palm Dimensions」と呼びます (値は必要に応じて置き換えることができます。最適なエクスペリエンスを得るために値を試してみるとよいでしょう)。

xinput set-prop "{id}" "Synaptics Palm Dimensions" 3, 3

これで、ラップトップを再起動して、頑張ってください :)

PS 使用する正しいタッチパッド ID は ETPS/2 で始まるものだと思います。そうでない場合は、両方を試してみるとうまくいくでしょう。

答え2

私のXPS 13 2017とUbuntu 16.04の場合、解決策はインストールしdconf-editor

org > gnome > desktop > peripherals > touchpad

click-methodに設定するfingersか、キーがdisable-while-typing使用可能な場合は に設定しますtrue


もう一つの解決策は、 に行って新しいショートカットを追加することですKeyboard > Shortcuts > Custom Shortcuts。私のショートカットは

Ctrl + Shift + M -> gsettings set org.gnome.desktop.peripherals.touchpad tap-to-click true

Ctrl + Shift + N -> gsettings set org.gnome.desktop.peripherals.touchpad tap-to-click false

したがって、タップしてクリックを有効にしたい場合は、Ctrl+ Shift+MCtrl+ Shift+を押してN無効にします。

答え3

私の場合、上記の解決策はすべて機能しませんでした。そのため、同様の状況にある場合は、タッチパッドの端のアクティブ領域を減らすことで解決できる可能性があります。端をクリックして開始することはほとんどないため、タッチパッドをタッチすると、端の領域を引き続き使用できるため、これによって悪影響は発生しません。次のように実行できます。

まず、これ(xinput list-props "ETPS/2 Elantech Touchpad"|grep Edges)を使ってタッチパッドの端の寸法を取得します。4つの値(左、右、上、下)を返します。例:Synaptics Edges (274): 100, 2408, 71, 1249

次に、これらの値は次のように使用できます。

synclient AreaTopEdge=71
synclient AreaLeftEdge=100
synclient AreaRightEdge=2408

答え4

最新のDellラップトップをお持ちの場合は、これらの手順が役立つかもしれません。これらはDellから直接提供されたものです。Precision / XPS: Ubuntu の一般的なタッチパッド/マウスの問題の修正

最初の部分は私にとっては素晴らしいものでした。 に追加することを提案されているスクリプトは次のとおりですsudo gedit /usr/share/X11/xorg.conf.d/51-synaptics-quirks.conf。 受け入れられた回答の解決策に従うことはお勧めしません。そのルートでは別の問題が発生するようです。

# Disable generic Synaptics device, as we're using
# "DLL0704:01 06CB:76AE Touchpad"
# Having multiple touchpad devices running confuses syndaemon
Section "InputClass"
    Identifier "SynPS/2 Synaptics TouchPad"
    MatchProduct "SynPS/2 Synaptics TouchPad"
    MatchIsTouchpad "on"
    MatchOS "Linux"
    MatchDevicePath "/dev/input/event*"
    Option "Ignore" "on"
EndSection

互換性の比較のために、私はDell Inspiron 13 7000シリーズとxinput list

jonathan@Dell:~$ xinput list
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Logitech USB Receiver                     id=10   [slave  pointer  (2)]
⎜   ↳ Logitech USB Receiver                     id=11   [slave  pointer  (2)]
⎜   ↳ ELAN Touchscreen                          id=13   [slave  pointer  (2)]
⎜   ↳ DELL0741:00 06CB:7E7E Touchpad            id=14   [slave  pointer  (2)]
...

Synaptics は上記のスクリプトによって無効にされているため、このリストにはありません。このスクリプトを追加する前に、xinput --test <id>"(私の場合は14) を実行することをお勧めします。端末に出力が表示された場合、デバイスが動作している (デバイスが「オン」になっている) ことを意味します。

関連情報