web-dev-qa-db-fra.com

Est-il possible de "redémarrer" le pilote du touchpad?

J'utilise Ubuntu 14.04 sur un ordinateur portable, généralement avec une souris USB externe, un clavier et un écran connectés. Parfois, cependant, je les débranche tous, je déplace l’ordinateur portable et continue de l’utiliser avec le clavier, l’écran et le pavé tactile intégrés.

Il arrive que le pavé tactile cesse de fonctionner à des moments aléatoires (mais si je branche la souris USB, celle-ci fonctionne). Bien que cela se produise très rarement, lorsque c'est le cas, c'est une grande gêne, car je suis obligé de redémarrer si le pavé tactile doit fonctionner à nouveau.

Existe-t-il une solution de contournement que je peux essayer, telle que l’élimination d’un processus qui redémarrerait automatiquement ou d’une commande qui entraînerait le redémarrage ou l’actualisation du pilote du pavé tactile? Tout ce qui peut "réveiller" le touchpad sans avoir à redémarrer?

57
matteo

J'ai eu ce problème avec un ordinateur portable à plusieurs reprises jusqu'à ce que je remarque que le pavé tactile de cet ordinateur avait son propre commutateur On/Off que je devais frapper par accident. Notamment, l'interrupteur n'a pas aidé à le réactiver. J'ai juste pris soin de ne pas appuyer dessus et, très vite, j'ai commencé à utiliser un clavier sans fil externe avec pavé tactile sans fil intégré, et je n'ai pas eu ce problème depuis.

UPDATE: (Remarque: lien ci-dessous brisé, la solution est ci-dessus) Depuis l'affichage de cette "solution" I a posté un commentaire qui semblait répondre aux besoins de l'utilisateur. Ayant tout juste appris que les commentaires ne sont que temporairement et sont automatiquement supprimés, je republie le contenu du commentaire utile ci-dessous afin qu'il puisse être conservé pour les autres:

Je partageais la "solution" qui fonctionnait pour moi. Aujourd’hui, j’ai pensé à Google pour trouver des solutions plus adaptées à votre question initiale et a trouvé le lien suivant. Ce n’est pas ce que je considère personnellement comme "pratique", mais au moins, il pourrait être plus élégant en en faisant un script. J'ai trouvé cela (voir ci-dessous) - gyropyge 25 septembre à 20:06

Presse Alt+F2 et saisissez gksudo modprobe -r psmouse Tapez le mot de passe, appuyez sur Enter, puis appuyez sur Alt+F2 à nouveau pour entrer le gksudo modprobe psmouse suivant, puis appuyez sur Enter

27
gyropyge

J'ai trouvé un moyen de faire ça:

Tout d’abord, ouvrez un terminal et imprimez tous les périphériques d’entrée pour trouver l’identifiant dont vous avez besoin pour le périphérique d’entrée que vous souhaitez désactiver. Dans le terminal, tapez:

xinput --list

Suivant: Notez où id = X dans une longue colonne pour chaque périphérique d’entrée. Vous souhaitez rechercher l'ID de périphérique correspondant au périphérique d'entrée que vous souhaitez désactiver (par exemple, un son de type "pavé tactile"). Remplacez ensuite X dans la commande suivante par le numéro d'identification représentant le périphérique d'entrée que vous souhaitez désactiver:

xinput disable X

Remarque: si vous ne savez pas quel identifiant de périphérique utiliser pour désactiver le pavé tactile, vous pouvez le savoir en testant des identifiants aléatoires et en vérifiant si votre tapis de souris fonctionne toujours. Assurez-vous de ne rien faire d'important. Enregistrez tout votre travail et soyez prêt à redémarrer votre ordinateur si vous faites quelque chose comme désactiver votre clavier. (Vous pouvez avoir du mal à l'activer à nouveau si vous ne pouvez pas taper dans le terminal.

Ensuite, vous devrez exécuter cette dernière ligne (Merci d'avoir attrapé cette Arch Stanton!)

xinput enable X

Raison: j'avais désespérément besoin d'une réponse à ce problème car les problèmes que je rencontrais avec mon pavé tactile rendaient impossible tout type de travail. Soudain, à un moment quelconque de mon utilisation de mon ordinateur portable, sans raison apparente, mon pavé tactile se met en mode "spécial". Déplacer simplement un doigt sur mon pavé tactile ferait défiler l'écran, au lieu de déplacer le curseur de la souris sur l'écran, il était donc impossible de déplacer la souris au-dessus de quoi que ce soit sans afficher des efforts considérables pour rendre compte du défilement de l'écran. et souris ne bouge pas. Je voulais trouver un moyen, sans redémarrer l'ordinateur portable, de réinitialiser le pavé tactile. Sur le plan positif, la réinitialisation du pavé tactile avec la méthode ci-dessus résout réellement mon problème.

Mise à jour: pour faciliter la réinitialisation du pavé tactile, j'ai créé un raccourci clavier pour les commandes répertoriées ci-dessus. Lorsque mon pavé tactile est en mode fritz, je fais simplement la combinaison de touches ctrl + super + r et la réinitialisation à ma place. Rapide et facile.

Voici comment:

-Créez un fichier dans votre répertoire personnel et appelez-le comme "touchpad-reset.sh".

-À l'intérieur de ce fichier, insérez deux des trois (les deux dernières) commandes précédentes répertoriées ci-dessus, sauf qu'au lieu d'utiliser un numéro d'identification X pour le périphérique, étant donné qu'il peut être modifié avec l'ajout de périphériques (peut-être ??), vous pouvez utiliser ceci à la place:

Voici une sortie de mon ordinateur à l'intérieur du terminal en utilisant cette commande:

xinput --list

Résultat:

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)]⎜ 

-Maintenant, ce que vous faites, vous remplacez le X (qui était un identifiant auparavant) pour xinput disable X et xinput enable X avec le nom correspondant à cet identifiant entre guillemets simples. Par exemple, à partir de ce qui précède, si vous vouliez le faire pour id = 13, mon pavé tactile, vous utiliseriez:

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

-Alors, vous désactivez par nom plutôt que par numéro, un identifiant pouvant éventuellement changer dans le temps, puis vous désactivez et activez un autre appareil.

Enfin, vous devez donner les autorisations pour rendre ce fichier exécutable; exécutez cette commande avec votre répertoire de travail dans le terminal comme répertoire de base (où vous avez créé le fichier):

chmod +x your_script_name.sh

Donc, une fois que vous avez créé ce fichier avec les commandes appropriées écrites à l'intérieur, en vous assurant qu'il se trouve dans votre répertoire personnel, suivez les étapes ci-dessous:

  1. Appuyez sur la super-touche (touche Windows sur PC) du clavier pour afficher la barre latérale de l'unité. Tapez 'Paramètres système' et appuyez sur la touche Entrée.
  2. Trouvez l'option "Clavier" sous "Matériel" et cliquez dessus.
  3. Sélectionnez l'onglet "Raccourcis".
  4. Dans la fenêtre de gauche, sélectionnez "Raccourcis personnalisés".
  5. Cliquez sur le bouton + près du centre en bas.
  6. Une fenêtre devrait s’ouvrir pour vous demander un nom de description et une commande à insérer.
  7. Faites le nom quelque chose comme "reset touchpad"
  8. Utilisez cette commande: gnome-terminal -x ./name_of_your_script.sh
  9. Cliquez sur 'Apply'
  10. Vous devriez maintenant voir votre raccourci répertorié et à l'extrême droite, il devrait indiquer "Désactivé" ou une autre foutaise. Cliquez sur ce texte et préparez-vous à créer une sorte de combinaison de touches, comme ctrl + super + r.
  11. Une fois que vous avez fait cette combinaison de touches, vous avez terminé.

Félicitations! S'amuser.

53
user3499524

Pour redémarrer le pilote du pavé tactile de l'ordinateur portable:

Ouvrez le terminal en appuyant sur Ctrl+Alt+T et exécutez la commande suivante

Sudo  modprobe -r psmouse

puis

Sudo modprobe psmouse

J'ai trouvé la solution ici et il existe également une solution pour une souris usb

42
maruf

Si vous ne savez pas quel module utilise votre pavé tactile, vous pouvez le découvrir en fouillant un peu

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

pour moi cela revient

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

puis voir quels modules du noyau sont disponibles dans cette catégorie:

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

qui pour moi revient

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

Faites un renvoi aux deux. Dans mon cas, il semble que le module de mon pavé tactile soit elan_i2c.ko

Edit: J'ai récemment découvert comment obtenir de manière fiable le nom du pilote utilisé avec une commande compliquée, ce que terdon a bien simplifié pour moi.

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

Pour vérifier que vous avez le bon module, testez la commande pour le décharger du noyau:

Sudo modprobe -r elan_i2c

Le pavé tactile mourra instantanément si vous avez le bon module, de sorte que vous pouvez le trouver facilement par essais et erreurs. Rechargez-le avec

Sudo modprobe elan_i2c

Cela redémarre efficacement le module. Vous pouvez exécuter les deux commandes ensemble comme ceci:

Sudo modprobe -r elan_i2c && Sudo modprobe elan_i2c

Je dois parfois le faire en reprise de suspension.

7
Zanna

Voici ce qui fonctionnait pour moi: [Zenbook ASUS UX501VW]:

Sudo  modprobe -r elan_i2c
Sudo  modprobe elan_i2c

Et ma tablette tactile manquante est de retour.

5
Denis Walrave

Si vous avez un pavé tactile Synaptics:

synclient TouchpadOff=0
4
AnteBios

Ce qui peut être plus facile, et qui a fonctionné pour moi, a été de recharger le pilote dans le noyau. Le code suivant trouve d’abord le nom du pilote du noyau qui gère le pavé tactile, puis le décharge avec rmmodet le recharge avec modprobename__. Notez que vous devez être root pour exécuter ces commandes, lancez donc d'abord Sudo su.

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

Pour moi, sur le noyau 4.13.0-46 sur Asus pour ELAN1200, il ne s'agissait pas de recharger elan_i2c mais le pilote hid-multitouch:

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

La solution la plus simple pourrait être de:

  • branchez une souris
  • allez à Paramètres système >> Souris et pavé tactile
  • basculer le touchpad sur ON
1
Anthony Britton

Essayez aussi gksudo /etc/init.d/hotplug restart

1
qwr

Une ligne de commande bash pour réinitialiser un pavé tactile (basée sur la réponse @ 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

illusionniste.

Je comprends que vous utilisez Ubuntu 14.04; Le mien est un peu différent (comme suit):

Cet ordinateur portable: Acer Swift 1 (EUFI); x86-64 bits.

Type de système d'exploitation: Ubuntu 16.04 LTS.

Type de pavé tactile: SYNA7DAB: 00 06CB: Pavé tactile 7DAC (synaptics_i2c.ko).

Solution fournie : https://help.ubuntu.com/community/SynapticsTouchpad/ShortcutKey

Créez un script de fichier bash (comme suggéré: créez un lien symbolique vers le script bash et associez un raccourci clavier à celui-ci); Le contenu devrait être comme suit:

#!/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]}

Assurez-vous qu'il dispose d'autorisations exécutables!

Sudo chmod +x path/filename.sh

Cette solution fonctionne très bien pour moi. J'espère que cela vous concerne également.

Données personnelles de votre problème (éventuellement applicable à votre situation)

Pour une raison inconnue: le pavé tactile de cet ordinateur portable va automatiquement devenir non fonctionnel (tout en continuant de fonctionner autant que je sache). J'ai tenté de retirer la souris optique USB. encore couru dans le même problème.

xinput --list dump:

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)]

pavé tactile grep -iA2/proc/bus/input/devices dump:

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

Récapitulatif de la solution ( fournie par UBUNTU ): https://help.ubuntu.com/community/SynapticsTouchpad/ShortcutKey

0
Daniel B

J'utilise un Apple Macbook Retina Pro; le touchpad cesse parfois de fonctionner. La plupart des méthodes ci-dessus ne trouvent pas le pilote car son nom ne contient pas 'souris' ou 'tactile'.

Pour trouver le pilote du pavé tactile, dans mon cas, bcm5974:

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

Puis décharger et recharger:

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

Résolu.

0
user118684

J'appelle ce script mouse-reset. Il supprime puis modprobes tous les modules énumérés dans les réponses à cette question jusqu'à présent:

#!/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