起動時にタッチパッドを完全に無効にするにはどうすればいいですか?

起動時にタッチパッドを完全に無効にするにはどうすればいいですか?

Ubuntu 16.10 にログインする前にタッチパッドを無効にしたいと思いました。

私は実行しようとした

#!/bin/bash

ID=$(/usr/bin/xinput list --id-only "SynPS/2 Synaptics TouchPad")

if [[ $ID ]]; then
    /usr/bin/xinput --disable $ID
    echo "Touchpad disabled"
else
    echo "Touchpad not found"
fi

systemctl、rc.d などで起動します。X の実行などが必要だったため、何も機能していないようでした。

答え1

次のコードを追加してください /usr/share/X11/xorg.conf.d/*-synaptics.conf

# Disable generic Synaptics device, as we're using
Section "InputClass"
        Identifier "SynPS/2 Synaptics TouchPad"
        MatchProduct "SynPS/2 Synaptics TouchPad"
        MatchIsTouchpad "on"
        MatchOS "Linux"
        MatchDevicePath "/dev/input/event*"
        Option "Ignore" "on"
EndSection

再起動して動作するかテストします。

答え2

Linux Mint 18 をカーネル 4.4.0-45 でインストールしています。タッチパッドの状態を簡単に切り替えられるように、次の操作を実行しました。

sudo apt-get install xinput

xinput -list

⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ MOSART Semi. 2.4G Keyboard Mouse          id=11   [slave  pointer  (2)]
⎜   ↳ **FTE1001:00 0B05:0101**               ***id=14***   [slave  pointer  (2)]
  • タッチパッドの ID を探します。私の場合は 14 です。タッチパッドのオン/オフを切り替える小さなシェル スクリプトを作成しました。

  • タッチパッドオフ:

    cd /usr/local/bin
    sudo nano touchpad-off

    #!/bin/bash
    # touchpad off
    xinput --set-prop 14 "Device Enabled" 0
    echo touchpad off
    
  • タッチパッドオン:

    sudo nano touchpad-on

    #!/bin/bash
    # touchpad on
    xinput --set-prop 14 "Device Enabled" 1
    echo touchpad on
    
  • 次のコマンドでスクリプトを実行可能にします。

    chmod +x touchpad-off
    chmod +x touchpad-on
    

    これで、ターミナルでtouchpad-offとを使用してタッチパッドの状態を簡単に切り替えることができるようになりました。touchpad-on

起動時に無効にする: 「スタートアップ アプリケーション」に移動して新しいスタートアップ アプリを追加し、スクリプトを探してリストに追加します。スクリプトが上記の場所にあること、および実行可能であることtouchpad-offを確認してください。usr/local/bin

もう一度確認する必要があるのは、ファイルが自動実行プロンプトで実行されるかどうかを確認することです。ファイルを右クリックして「プログラムから開く」タブに移動し、「自動実行プロンプト」を選択します。

起動時にタッチパッドを無効にするビデオチュートリアル

答え3

私は新しい Thinkpad を購入するたびにこの問題に遭遇するので、他の 2 つの回答を参考にして、もう少し一般化した方法を紹介します。

  1. タッチパッドの名前を見つけます: xinput --list。次のようなものが表示されます:
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ TPPS/2 Elan TrackPoint                    id=15   [slave  pointer  (2)]
⎜   ↳ SYNA8022:00 06CB:CE67 Touchpad            id=12   [slave  pointer  (2)]
⎜   ↳ SYNA8022:00 06CB:CE67 Mouse               id=11   [slave  pointer  (2)]
⎣ Virtual core keyboard                     id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Video Bus                                 id=6    [slave  keyboard (3)]
    ↳ Power Button                              id=7    [slave  keyboard (3)]
    ↳ Integrated Camera: Integrated C           id=9    [slave  keyboard (3)]
    ↳ Intel HID events                          id=13   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=14   [slave  keyboard (3)]
    ↳ ThinkPad Extra Buttons                    id=16   [slave  keyboard (3)]
    ↳ Sleep Button                              id=8    [slave  keyboard (3)]
    ↳ Integrated Camera: Integrated I           id=10   [slave  keyboard (3)]

私の場合、使用する名前はSYNA8022:00 06CB:CE67 Touchpad

  1. それが本当に正しいデバイスであるかどうかをテストします(再起動も不要です):xinput --set-prop ID "Device Enabled" 0IDは上記のコマンドで取得したリストのIDです。これでタッチパッドが無効になった場合は、正しいIDと名前が見つかりました。

  2. /etc/X11/xorg.conf.d/たとえば、次のようにファイルを作成します20_synaptics.conf(番号は通常どおり、他のファイルに対する順序を定義します)。

# Disable touchpad
Section "InputClass"
        Identifier "SynPS/2 Synaptics TouchPad"
        MatchProduct "SYNA8022:00 06CB:CE67 Touchpad"
        MatchIsTouchpad "on"
        MatchOS "Linux"
        MatchDevicePath "/dev/input/event*"
        Option "Ignore" "on"
EndSection

MatchProduct 文字列は、xinput リストで見つかった文字列と同じである必要があります。

  1. 動作するかどうかをテストするには、Ctrl+Alt+F3 を押してテキスト コンソールに切り替えます (コンソール 3 がすでに使用されている場合は他の番号を試してください)。ログインして、X セッションを開始します。sudo xinit -- :2これにより、マシンを再起動せずに 2 番目の X サーバーが起動します。おそらく、ターミナル ウィンドウが 1 つだけ表示されます (ウィンドウ マネージャーが実行されていないため、境界線はありません)。ただし、タッチ パッドが無効になっているかどうかをテストするにはこれで十分です。ターミナル ウィンドウに Ctrl+D と入力して終了できます。

関連情報