入力中にタッチパッドを無効にするにはどうすればよいですか?Ubuntu 16.04では、syndaemonが機能しません


42

入力中にタッチパッドを無効にします。私はこれを試しました:

syndaemon -i 1 -d -t -K

タッチパッドでのタップとスクロールを1秒間無効にし、修飾キーとキーの組み合わせを無視する必要がありますが、syndaemon説明したような設定は変更されません。タッチパッドは常にアクティブであり、非常に迷惑です。

Dell Precision 5510でUbuntu 16.04を使用しています。


1
入力中はタップしてクリックはデフォルトで無効になりますが、カーソルの移動/スクロールは無効です。入力中にタッチパッド自体を無効にする方法がありますが、syndaemon / synclientを使用することはできません。ただし、この方法では、[システム設定]> [マウスとタッチパッド]> [タッチパッド設定]が消えます。ここではいくつかの情報- bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-synaptics/...
ダグ

4
試してみてください- syndaemon -i 1.0 -d -K
ダグ

1
@doug私はそれを試しましたが、何も変わりませんでした
-marsUbuntux

@doug代わりにsynapticsドライバーとlibinput Xorgドライバーを削除しようとするべきですか?
-marsUbuntux

その場合の問題は、システム設定にタッチパッド設定がなく、バグレポートの例のように手動で追加する必要があることです。あなたがsyndaemonで最初に試みていたことは、実際にはデフォルトでした。-入力中にタップしてクリックすることを無効にしますが、カーソルの移動は無効にしないでください。入力中、タップしてクリックは無効になっていますか?
ダグ

回答:


36

2つのタッチパッドドライバーを実行している場合、syndaemonは間違ったドライバーと対話します。Dell XPS 13でも同じ問題が発生しましたが、このスレッド(http://ubuntuforums.org/showthread.php?t=2316240)が役に立ちました。

2つのタッチパッドデバイスも表示される場合は、1つを無効にしてみてください。別のコンピューターを使用しているため、リンクの指示は文字通り適用される場合と適用されない場合があります。

言及されている投稿から、手順は次のとおりです。

/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

コマンドsudo systemctl restart lightdm Creditを使用してXorgを再起動または再起動し、ubuntuforums.orgからddarlingに移動します。

2018年1月以降、デルのUbuntuタッチパッド/マウスの問題に関するナレッジベースに公式ページがあります。このページでは、「SynPS / 2 Synaptics TouchPad」を無効にするためのこの修正について説明し、マウスパッドドライバーとしてsynapticsではなくlibinputに移行することも提案しています。


あなたと同じ状況がありました:> DLL06E5:01 06CB:7A13 Touchpad id = 14 [slave pointer(2)]> SynPS / 2 Synaptics TouchPad id = 16 [slave pointer(2)]リンクで説明したのと同じことをしました投稿しました。動いた!これで、タッチパッドは思い通りに動作します。ありがとう
-marsUbuntux

そこで言及されたソリューションは、Dell Lattitude 3570でも機能しました。
シャヌー

これは驚くべきことで、これは修正できないといつも思っていました。どうもありがとう。これは本当に便利です。
-realhu

この回答はより多くの功績に値するため、さらに明確にするために更新しました。
ウィリアムS

2
リンクがなくなった場合に備えて、フォーラムからソリューションをプルして答えにする価値があるかもしれません。
BeepDog

30
sudo add-apt-repository ppa:atareao/atareao
sudo apt-get update
sudo apt-get install touchpad-indicator
  • タッチパッドインジケータを開き、インジケータアイコンをクリックします。
  • (アクションタブで)設定を「入力時にタッチパッドを無効にする」に変更できます。

乾杯!


1
これはgnome拡張機能として利用できます:extensions.gnome.org/extension/131/touchpad-indicator
zamnuts

2
Ubuntu Budgie-Remix 16.04.3
r3wt

zamnutsのコメントを明確にするため:彼が提供したリンクに従ってgnome拡張としてこれをインストールする場合にのみ、設定にアクセスできます(または、少なくとも他の方法ではできませんでした)。ただし、入力時にタッチパッドを無効にするオプションはありません。
glS

私は不注意にダウン投票しました(スリープタイピングでなければなりませんでした)、そして答えが更新されない限り、今それを削除することはできません。(明らかにaskubuntu.comはこのように設定されています。)スペースを追加しようとしましたが、最低8文字(異なる?)の文字が必要です。回答を編集し、「提案:タッチパッドアプリケーションを自動起動に設定して、ログインごとに手動で起動する必要がないようにする」などを追加する場合は、通知が表示されてから削除できるはずです私の反対票。
st2000

10

私はubuntu 17.10を使用していますが、ここで提案されている別の解決策を試してみましたがほとんど機能しません。特別にタッチパッドインジケータソフトウェアは、ubuntu 17.10で起動すると、タッチパッドを無効にするだけで、ラップトップを再起動せずに再度有効にする方法が見つかりませんでした。今、私はこのソリューションを見つけましたが、今でもかなりうまく機能しています:このコマンドを使用するだけで、

synclient PalmDetect = 1

これにより、少なくともタッチパッドで手のひらを不必要にたたくのを防ぎ、最終的に寿命を延ばします。


これは非常に優れたソリューションであり、1行の修正です。私はこれを前に行ったが、それを失った。投稿していただきありがとうございます!
トーマスディグナン

完璧ではありませんが、17.10では大いに役立ちます、ありがとう。
ジャック

これは完全に機能します。これがデフォルトではないことに驚いていますが、それは単なるLinuxのやり方だと思います。
ガンチャーズ

@tareqalam:このコマンドは再起動を持続しますか?
ロニーベスト

2

「xinput」のオプションを見た後、Ubuntu 16.04およびLubuntu 16.04を使用してSynapticsタッチパッドを無効にする効果的で簡単なソリューションを見つけました。

ターミナルウィンドウで、「sudo -s」と入力してパスワードを入力し、管理アクセスを許可します。

leafpadやgeditなどのお気に入りのエディターを使用して、新しいスクリプトファイルを作成します。

leafpad /usr/local/bin/tpadoff

そして次を挿入します:

#!/bin/bash
#/usr/local/bin/tpadoff - turn off touchpad
xinput --disable  'SynPS/2 Synaptics TouchPad'

ファイルを保存して、エディターを終了します。次に、コマンドを入力します。

chmod 755 /usr/local/bin/tpadoff

ファイルを実行可能にします。繰り返してtpadonファイルを作成できます。「-disable」を「--enable」に変更するだけです。

完了したら、ターミナルウィンドウを「終了」して、管理者アクセスを無効にします。

デスクトップエントリは、新しいターミナルウィンドウを開くことで作成でき、お気に入りのエディターを使用します(この例では、リーフパッドを再び使用しています)。

cd Desktop
leafpad tpadoff.desktop

次のテキストを挿入します。[デスクトップエントリ] Name = TouchPad Off Comment = Turn-Off Touchpad Exec = / usr / local / bin / tpadoff Terminal = false Type = Application

ファイルを保存して、エディターを終了します。次に、次のコマンドを入力します。

 chmod 775 tpadoff.desktop 

繰り返してtpadon.desktopを作成し、すべての「オフ」参照を「オン」に変更することもできます。

完了したら、デスクトップアイコンをダブルクリックするか、ターミナルウィンドウに「tpadoff」と入力して、タッチパッドをオフ(およびオプションでオン)にする2つの方法があります。

タッチパッドが異なる場合、タッチパッドの正確な構文を見つけるために、ターミナルウィンドウで「xinput」を使用する必要があります。次に、「/ usr / local / bin / tpadoff」ファイルを編集して、xinputが報告した内容に一致させます。


1
質問は、入力中にタッチパッド無効にすること(つまり、自動的に)についてです。そのため、直接の回答を与えない間は、回答の品質に非常に感謝しています。
ガントバート

2

解決策を数か月間探した後、入力中にタッチパッドを無効にする簡単なPythonプログラムを作成することにしました。プログラムをスタートアップアプリケーションに追加して、コンピューターを起動するたびに実行されるようにします。xinput listキーボードのIDを確認するために実行する必要があります。私の場合は17です。

xinput list
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Microsoft Microsoft® Nano Transceiver v1.0    id=11   [slave  pointer  (2)]
⎜   ↳ Microsoft Microsoft® Nano Transceiver v1.0    id=12   [slave  pointer  (2)]
⎜   ↳ DLL082A:01 06CB:76AF Touchpad             id=14   [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                id=18   [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)]
    ↳ Power Button                              id=8    [slave  keyboard (3)]
    ↳ Sleep Button                              id=9    [slave  keyboard (3)]
    ↳ Microsoft Microsoft® Nano Transceiver v1.0    id=10   [slave  keyboard (3)]
    ↳ Integrated_Webcam_HD                      id=13   [slave  keyboard (3)]
    ↳ Intel Virtual Button driver               id=15   [slave  keyboard (3)]
    ↳ Intel HID events                          id=16   [slave  keyboard (3)]
    **↳ AT Translated Set 2 keyboard                id=17   [slave  keyboard (3)]**
    ↳ Dell WMI hotkeys                          id=19   [slave  keyboard (3)]
    ↳ Microsoft Microsoft® Nano Transceiver v1.0    id=20   [slave  keyboard (3)]

ここにプログラムがあります

import time 
import subprocess
import threading

def main():
    subprocess.call('gsettings set org.gnome.desktop.peripherals.touchpad tap-to-click true', shell=True)
    p = subprocess.Popen('xinput test 17', shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
    clickTime = [0, 0]
    def checkTime():
        keys = [37, 50, 62, 64, 105, 108, 133]
        while True:
            out = p.stdout.readline()

            if len(out) < 1:
                break
            key = int(out.split()[-1])
            if key not in keys:
                clickTime[0] = time.time()

    t = threading.Thread(target=checkTime)
    t.start()

    lastTime = 0
    touchpad = True
    while True:
        inactive = time.time() - clickTime[0]
        # print ('inactive for', inactive)
        if inactive > 1:            
            if not touchpad:
                print ('Enable touchpad')
                subprocess.call('gsettings set org.gnome.desktop.peripherals.touchpad tap-to-click true', shell=True)
            touchpad = True
        else:
            if touchpad:
                print ('Disable touchpad')
                subprocess.call('gsettings set org.gnome.desktop.peripherals.touchpad tap-to-click false', shell=True)
            touchpad = False
        time.sleep(0.5)

    retval = p.wait()

if __name__ == '__main__':
    main()

xinputとポーリングを使用してキーボードアクティビティを監視し、0.5秒ごとに新しいイベントが発生したかどうかを確認するだけの素晴らしいソリューション。CPUアクティビティへの影響はごくわずかですが、キーボードイベントでのみ動作が発生するようにトリガーする方法があれば、さらに便利です。左矢印やスペースなどの特定のキーを除外した理由はありますか、それとも個人的な好みですか?
theferrit32

2

Ubuntu 19.04では、「タップしてクリック」機能を単に無効にするだけで十分です(私のニーズ)。

ここに画像の説明を入力してください

ただし、この結果、実際にはクリックを行うためにタッチパッドのボタンを使用する必要があります(できればボタンが必要です)。私にとって、それは公正なトレードオフです。

実際に「タッチパッドから分離された」「左右」クリックボタンがない場合は、代わりにタッチパッドの感度を調整できます。私はこの中で、ピーターHuttererからこれについて学んだバグレポート

私はラップトップメーカーに、後退しないタッチパッドを備えたラップトップを作らないことを望みます。キーボードのキーと同じレベルにあるこれらのタッチパッド(後退ではなく)は、設計上の欠陥です。

あなたのラップトップメーカーに、この悪いデザインによってあなたが引き起こしたトラブルを知らせてください。


1
これが非常にうまく機能することを確認しました。私が無視できる些細なことに気付きました:タイピング中に私の手のひらがタッチパッドに触れると、マウスカーソルが少し動き回るのを見ることができますが、少なくとも他の場所をクリックすることはできません。これは非常に時間の浪費です。理想的には、Tap To Clickの動作は引き続き可能ですが、少なくとも私のラップトップでは、その機能はまったくうまくいきませんでした。したがって、トレードオフは確かに公平です。
bgoodr

1

Kubuntuユーザーの場合...

Kubuntu 16.04で-入力中にタッチパッドを無効にするには、[設定]-> [入力デバイス]-> [タッチパッド]-> [タッチパッドの有効化/無効化]の[タップとスクロールのみを無効にする]チェックボックスをオフにする必要がありました。当たり前のように思えるかもしれませんが...


ubuntu 16.04作業
ナズムールハサン

Ubuntu 18.04にはそのようなサブオプションはありません。設定もTweaksにもありません。
dskrvk

0
xinput list |
while read line; do
    if [[ $line == *Touchpad* ]]; then
        tid="$(echo $line | cut -d '=' -f 2 | cut -c 1-2)"
        xinput set-prop $tid "Device Enabled" 0
    fi
done

またはより簡潔に

xinput list | sed -nre 's/^.*Touchpad.*\sid=(\S+).*$/\1/p' | xargs -I{} -- xinput set-prop {} 'Device Enabled' 0

フォーマットを修正してください
Pierre.Vriens

1
Ask Ubuntuへようこそ!この回答を編集して、このコマンド(シーケンス)の機能に関する特定の詳細を追加することをお勧めします。単純なコマンド(シーケンス)が回答と見なされることはほとんどありません。(Ask Ubuntuでどのような回答が最も価値があると考えられるについての一般的なアドバイスについては、「良い回答を書くにはどうすればよいですか?」も参照してください。)
David Foerster
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.