web-dev-qa-db-ja.com

タッチパッドドライバーを「再起動」する方法はありますか?

Ubuntu 14.04をラップトップで使用します。通常は、外部USBマウスとキーボードとスクリーンを接続します。ただし、すべてのプラグを抜いてラップトップを移動し、組み込みのキーボード、画面、タッチパッドで使用し続けることもあります。

ランダムにタッチパッドが機能しなくなることがあります(ただし、USBマウスを接続すると、USBマウスは機能します)。これは非常にまれにしか発生しませんが、タッチパッドを再び動作させる必要がある場合は再起動することを余儀なくされるため、非常に迷惑です。

自動的に再起動するプロセスを強制終了したり、タッチパッドドライバーを再起動または更新するコマンドなどを強制終了するなど、試すことができる回避策はありますか?再起動せずにタッチパッドを「ウェイクアップ」できるものはありますか?

61
matteo

そのコンピューターのタッチパッドにオン/オフスイッチがあることに気づくまで、1台のラップトップでこの問題が繰り返し発生していました。特に、スイッチはスイッチを再びオンにするのに役立ちませんでした。押さないように気をつけたところ、すぐに内蔵ワイヤレスタッチパッドを備えた外部ワイヤレスキーボードを使用するようになりました。

UPDATE:(注:下のリンクは壊れています、解決策は上にあります)この「解決策」を投稿してからI明らかにユーザーのニーズを満たすコメントを投稿しました。コメントが一時的にのみ残り、自動的に削除されることを今知ったばかりなので、以下の有用なコメントの内容を再投稿します。

私は私のために働いた「解決策」を共有していました。今日、私はあなたの元の質問により密接に合った解決策をグーグルで検索し、次のリンクを見つけました。私が個人的に「便利」と考えるものではありませんが、少なくともスクリプトを作成することで、よりエレガントになります。 これを見つけました(下記参照) – gyropyge Sep 25 at 20:06

押す Alt+F2 gksudo modprobe -r psmouseを入力しますパスワードを入力して、を押します Enter、そして押す Alt+F2 再び次のgksudo modprobe psmouseを入力してからを押します Enter

31
gyropyge

私はこれを行う方法を見つけました:

まず、ターミナルを開き、すべての入力デバイスを印刷して、無効にする入力デバイスに必要なIDを見つけます。ターミナルで、次を入力します。

xinput --list

次に:各入力デバイスの1つの長い列でid = Xと表示されていることに注意してください。無効にする入力デバイスに対応するデバイスIDを検索する必要があります(「タッチパッド」のように聞こえるかもしれません)。次に、次のコマンドのXを、無効にする入力デバイスを表すID番号に置き換えます。

xinput disable X

注:タッチパッドを無効にするために使用するデバイスIDがわからない場合は、ランダムIDをテストして、マウスパッドがまだ機能するかどうかを確認できます。重要なことをしていないことを確認してください。すべての作業を保存し、キーボードを無効にするなどの操作を行った場合にコンピューターを再起動する準備をします。 (端末に入力できない場合、再度有効にしようとすると問題が発生する場合があります。

次に、この最後の行を実行する必要があります(このArch Stantonをキャッチしてくれてありがとう!)

xinput enable X

理由:タッチパッドで発生した問題により、あらゆる種類の作業が不可能になったため、この問題への回答が切実に必要でした。突然、ラップトップを使用するランダムな瞬間に、明らかに理由もなく、タッチパッドが何らかの「特殊モード」になります。タッチパッド上で1本の指を動かすだけで、画面上でマウスのカーソルを実際に移動するのではなく、画面がスクロールするため、スクロール画面を考慮するための相当な調整努力なしでは、マウスをブラウザ内の何かの上に置くことができませんでした動かないマウス。ラップトップを再起動せずに、タッチパッドをリセットする方法を探していました。プラス面として、上記の方法でタッチパッドをリセットすると、実際に問題が解決します。

更新:タッチパッドのリセットをさらに簡単にするために、上記のコマンドのホットキーを作成しました。タッチパッドがフリッツになったら、ctrl + super + rのキーの組み合わせを行うだけで、リセットされます。早くて簡単。

方法は次のとおりです。

-ホームディレクトリ内にファイルを作成し、「touchpad-reset.sh」などの名前を付けます。

-このファイル内に、上記の3つのコマンド(最後の2つ)のうち2つを追加します。ただし、デバイスにX id番号を使用する代わりに、周辺機器を追加すると変更される可能性があります(多分??)代わりにこれ:

以下は、このコマンドを使用した端末内のコンピューターからの出力です。

xinput --list

結果:

Virtual core pointer                        id=2    [master pointer  (3)]⎜   
   ↳ Virtual core XTEST pointer                 id=4    [slave  pointer  (2)]⎜   
   ↳ Genius 2.4G Wireless Mouse                 id=10   [slave  pointer  (2)]⎜   
   ↳ MSFT0001:00 06CB:75BD UNKNOWN              id=13   [slave  pointer  (2)]⎜   
   ↳ ELAN Touchscreen                           id=12   [slave  pointer  (2)]⎜ 

-今度は、xinput disable Xとxinput enable XのX(以前はidだった)を、単一引用符内のそのidに対応する名前に置き換えます。たとえば、上記から、id = 13(私のタッチパッドデバイス)でそれを実行したい場合、次を使用します。

xinput disable 'MSFT0001:00 06CB:75BD UNKNOWN'
xinput enable 'MSFT0001:00 06CB:75BD UNKNOWN'

-そのため、ID番号の代わりに名前で無効にします。IDは時間とともに変更される可能性があるため、他のデバイスを無効にして有効にします。

最後に、このファイルを実行可能にする許可を与える必要があります。ターミナルの作業ディレクトリをホームディレクトリ(ファイルを作成した場所)としてこのコマンドを実行します。

chmod +x your_script_name.sh

したがって、適切なコマンドを内部に記述してこのファイルを作成し、それがホームディレクトリにあることを確認したら、以下の手順を実行します。

  1. キーボードのスーパーキー(PCのWindowsキー)を押して、ユニティサイドバーを表示します。 「システム設定」と入力し、Enterキーを押します。
  2. [ハードウェア]と表示されている場所の下にある[キーボード]オプションを見つけてクリックします。
  3. [ショートカット]タブを選択します。
  4. 左側のウィンドウで、「カスタムショートカット」を選択します
  5. 下部中央近くの[+]ボタンをクリックします。
  6. 説明名と入力するコマンドを要求するウィンドウがポップアップするはずです。
  7. 名前を「リセットタッチパッド」のようにします
  8. 次のコマンドを使用します:gnome-terminal -x ./name_of_your_script.sh
  9. 「適用」をクリックします
  10. ショートカットが一覧表示され、右端に「無効」またはその他のゴミが表示されます。そのテキストをクリックして、おそらくctrl + super + rのようなキーの組み合わせを作成する準備をします。
  11. このキーの組み合わせを作成したら、完了です。

おめでとうございます!楽しんで。

55
user3499524

ラップトップのタッチパッドドライバーを再起動するには:

を押してターミナルを開きます Ctrl+Alt+T 次のコマンドを実行します

Sudo  modprobe -r psmouse

それから

Sudo modprobe psmouse

私は解決策を見つけました ここ そしてusbマウスの解決策もあります

46
maruf

タッチパッドが使用しているモジュールがわからない場合は、少し掘り下げて調べることができます

grep -iA2 touchpad /proc/bus/input/devices

私にとってはこれが戻ります

N: Name="Elan Touchpad"
P: Phys=
S: Sysfs=/devices/platform/80860F41:03/i2c-11/i2c-ELAN0100:00/input/input10

次に、このカテゴリで利用可能なカーネルモジュールを確認します。

ls $(find /lib/modules/$(uname -r) -type d -name mouse)

私のために返す

appletouch.ko  bcm5974.ko  cyapatp.ko  elan_i2c.ko  gpio_mouse.ko  
psmouse.ko  sermouse.ko  synaptics_i2c.ko  synaptics_usb.ko  vsxxxaa.ko

2つの相互参照-私の場合、タッチパッドのモジュールはelan_i2c.koのように見えます

編集:私は最近、複雑なコマンドで使用中のドライバーの名前を確実に取得する方法を見つけました。

grep -hriPo 'DRIVER=\K.+' /sys 2>/dev/null | while read driver; do [ -e /lib/modules/$(uname -r)/kernel/drivers/input/mouse/"$driver"* ] && echo $driver; done

適切なモジュールを取得したことを確認するには、コマンドをテストしてカーネルからアンロードします。

Sudo modprobe -r elan_i2c

適切なモジュールを手に入れると、タッチパッドは即座に死ぬので、試行錯誤によって簡単に見つけることができます。でリロード

Sudo modprobe elan_i2c

これにより、モジュールが事実上再起動します。次のように、2つのコマンドを一緒に実行できます。

Sudo modprobe -r elan_i2c && Sudo modprobe elan_i2c

一時停止からの再開時にこれを行う必要がある場合があります。

8
Zanna

シナプスタッチパッドを使用している場合:

synclient TouchpadOff=0
6
AnteBios

[Zenbook ASUS UX501VW]は次のとおりです。

Sudo  modprobe -r elan_i2c
Sudo  modprobe elan_i2c

そして、私の行方不明のタッチパッドが帰ってきました。

5
Denis Walrave

もっと簡単かもしれないし、私のために働いたのは、カーネルにドライバーをリロードすることでした。次のコードは、最初にタッチパッドを処理するカーネルドライバーの名前を見つけてから、rmmodでアンロードし、modprobeで再ロードします。これらのコマンドを実行するには、rootになる必要があるため、最初にSudo suを実行してください。

> lsmod | grep touch
hid_multitouch         20480  0 
> rmmod hid_multitouch 
> modprobe hid_multitouch
4
ChrisR

私にとって、ELAN1200のAsus上のカーネル4.13.0-46では、elan_i2cではなくhid-multitouchドライバーを再ロードすることではありませんでした。

Sudo modprobe -r hid-multitouch && Sudo modprobe -r hid-multitouch
2
pholat

最も簡単な解決策は次のとおりです。

  • マウスを差し込む
  • システム設定>>マウスとタッチパッドに移動します
  • タッチパッドをオンに切り替えます
1
Anthony Britton

gksudo /etc/init.d/hotplug restartも試してください

1
qwr

タッチパッドをリセットする1つのbashコマンドライン(@ user3499524応答に基づく):

id=`xinput --list |grep -i touchpad | cut -f2 | cut -f2 -d=` && xinput disable $id && xinput enable $id && echo "The touchpad has been reset."
1
NeverMinded

イリュージョニスト。

Ubuntu 14.04を実行していることを理解しています。私のものは少し異なります(次のように):

このラップトップ:Acer Swift 1(EUFI); x86-64ビット。

OSタイプ:Ubuntu 16.04 LTS。

タッチパッドのタイプ:SYNA7DAB:00 06CB:7DACタッチパッド(synaptics_i2c.ko)。

提供されるソリューションhttps://help.ubuntu.com/community/SynapticsTouchpad/ShortcutKey

Bashファイルスクリプトを作成します(推奨:bashスクリプトへのシンボリックリンクを作成し、ホットキーをそれにマッピングします)。内容は次のとおりです。

#!/bin/bash

declare -a STATES=(1 0)
DEVICE=$(xinput list --name-only | grep Touchpad)
STATE=$(xinput list-props "$DEVICE" | grep 'Device Enabled' | sed 's/^.*:[ \t]*//')
xinput set-prop "$DEVICE" 'Device Enabled' ${STATES[$STATE]}

EXecutable権限があることを確認してください!

Sudo chmod +x path/filename.sh

このソリューションは、私にとって非常に効果的です。うまくいけば、それもあなたにも当てはまります。

自身の問題の個人的な詳細(おそらくあなたの状況に適用可能)

不明な理由があります:このラップトップのタッチパッドは、自動的に機能しなくなります(まだ実行中です)。 USBベースの光学式マウスを削除しようとしました。それでも同じ問題に遭遇します。

xinput --listダンプ:

larvae@MST-Laptop:~/Desktop$ 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)]
⎜   ↳ SYNA7DAB:00 06CB:7DAC Touchpad            id=12   [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)]
    ↳ Sleep Button                              id=8    [slave  keyboard (3)]
    ↳ Logitech USB Receiver                     id=9    [slave  keyboard (3)]
    ↳ HD WebCam                                 id=11   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=13   [slave  keyboard (3)]
    ↳ Acer WMI hotkeys                          id=14   [slave  keyboard (3)]

grep -iA2 touchpad/proc/bus/input/devicesdump:

larvae@MST-Laptop:~/Desktop$ grep -iA2 touchpad /proc/bus/input/devices
N: Name="SYNA7DAB:00 06CB:7DAC Touchpad"
P: Phys=i2c-SYNA7DAB:00
S: Sysfs=/devices/pci0000:00/0000:00:17.0/i2c_designware.4/i2c-9/i2c-SYNA7DAB:00/0018:06CB:7DAC.0003/input/input11

ソリューションの要約(UBUNTUが提供): https://help.ubuntu.com/community/SynapticsTouchpad/ShortcutKey

0
Daniel B

私はApple Macbook Retina Proを使用しています。タッチパッドが動作しなくなることがあります。上記のメソッドのほとんどは、名前に「マウス」または「タッチ」が含まれていないため、ドライバーを検出しません。

私の場合、bcm5974のタッチパッドドライバを見つけるには:

MacBookPro:~$ xinput list-props 11
Device 'bcm5974':
    Device Enabled (147):   1`
...

次に、アンロードしてリロードします。

MacBookPro:~$ Sudo modprobe -r bcm5974
MacBookPro:~$ Sudo modprobe bcm5974

解決しました。

0
user118684

このスクリプトをmouse-resetと呼びます。これまでにこの質問への回答にリストされているすべてのモジュールを削除し、modprobesします。

#!/bin/bash

modules=(psmouse hid_multitouch elan_i2c)

for mod in "${modules[@]}"; do
    Sudo rmmod "$mod" 2> /dev/null
    Sudo modprobe -v "$mod" 2> /dev/null
done
0
Tom Hale