web-dev-qa-db-ja.com

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

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

syndaemon -i 1 -d -t -K

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

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

42
marsUbuntux

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

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月以降、デルのナレッジベースに buntu Touchpad/Mouse Issues の公式ページがあります。このページでは、「SynPS/2 Synaptics TouchPad」を無効にするためのこの修正について説明し、マウスパッドドライバーとしてsynapticsではなくlibinputに移行することも提案しています。

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

乾杯!

30
cpn

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

synclient PalmDetect = 1

これにより、少なくともタッチパッドでPalmを不必要にタップすることを防ぎ、最終的にはより良い生活を送ることができます。

10
tareqalam

「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が報告した内容に一致させます。

2
jakester

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

enter image description here

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

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

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

あなたのラップトップメーカーに、この悪い設計によってあなたに引き起こされたトラブルを知らせてください。さもないと、彼らは将来のモデルで盲目的にこれをし続けるでしょう。

2
Lonnie Best

数か月間の解決策を探した後、入力中にタッチパッドを無効にする簡単な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 __== '__main__':
    main()
2
tunght_53

Kubuntuユーザーの場合...

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

1
user1806949
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
0
Nando