Retourner aux forums || Retourner au forum Linux.gui
Linux.gui : Rendre xorg un peu plus "intelligent"
Posté par Gyro Gearllose () le 22 septembre 2006Je poste ce message depuis mon portable, et il y a un petit truc qui me chiffonne. En effet, celui-ci est pourvu d'un touchpad parfaitement reconnu, mais comme sur tous les portables inapproprié pour une utilisation courante.
J'ai donc branché une souris usb dessus, de façon à désactiver ce foutu touchpad. Jusque là, tout va bien.
Ce que je voudrais, maintenant, c'est trouver un hack, grâce à vous qui fasse qu'xorg utilise la souris lorsqu'elle est branchée, le touchpad sinon, sans redémarrer le serveur X. J'entrevois une solution, basée sur udev, mais je suis un bien piètre rédacteur de règles.... Alors je me tourne vers vous pour faire en sorte d'écrire un fichier de règles qui vont bien. Mon idée serait d'écrire une règle qui crée un lien dans /dev nommé souris, et que si /dev/input ne contient qu'un périphérique (le touchpad), ce lien pointe dessus, et qu'il pointe sur le /dev/input/mouseX correspondant à la souris dans le cas contraire.
Ensuite, dans /etc/X11/xorg.conf, j'ajoute la directive qui va bien pour que le serveur X utilise ce lien artificiel.
D'avance merci pour vos suggestions/idées....
All articles which are excluded shall be deemed included
Tous les articles exclus sont considérés inclus
--Brian de Palma in Phantom of the Paradize
gpm ?
Du point de vue de X, ton lien mouvant ne changera rien, car une fois que X a ouvert le (vrai) fichier correspondant au périphérique en suivant le lien, il doit normalement y rester "accroché": si tu rediriges le liens vers autre chose, X restera sur le 1er.
Cependant il est peut-être possible de passer par un intermédiaire, genre gpm (utilisé d'habitude pour partager la souris entre X et la console texte) qui lit les devices souris "réels" et qui les réexporte dans un pseudo-device lu par X. Je ne sais pas si gpm peut prendre les changements de matériel dynamiquement, au pire il suffit de relancer gpm et X ne devrait pas s'en appercevoir.
Je n'ai jamais moi-même bricolé avec gpm cependant
La solution : AlwaysCore
Pour utiliser la souris ou le touchpad sans avoir à bidouiller à chaque branchement de périphérique, on peut faire ainsi (je l'ai fait pour Arch et Slackware, mais çà devrait marcher ailleurs) : http://athanatos.free.fr/Arch/new/xorg.conf
Les parties intéressantes : une section InputDevice pour le touchpad (My Acer dans le fichier exemple), une autre pour la souris USB (My Mouse). Dans la section ServerLayout, je déclare les deux périphériques : la souris en CorePointer (les évènements sont gérés par X) et le touchpad en AlwaysCore (il ne peut y avoir qu'un seul CorePointer, mais on peut tricher et utiliser autant de souris qu'on veut en les déclarant AlwaysCore).
Par contre les deux périphériques sont actifs en même temps, gaffe à pas poser la main sur le touchpad pendant que tu tapes :p
Réponse groupée....
Déjà, merci à tous les deux pour vos réponses rapides.
Dans le premier cas, exposé par daggett, je crois bien que l'on ne s'est pas trop compris. En effet, pour X, il n'y a qu'un seul périphérique de pointage. Ce que je pensais, c'était quelque chose de ce genre :
dans /etc/X11/xorg.conf, section InputDevice propre au mulot trouver ce genre de lignes :
Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/souris"
Option "Buttons" "5"
Option "ZAxisMapping" "4 5"
Option "Protocol" "Auto"
EndSection
Attendu que le touchpad et la souris comportent autant de boutons, aucun soucis pour le branchement à chaud.
Ce qui me manque, ce sont les règles udev pour créer le lien /dev/souris comme je l'exposais dans mon post initial.
Concernant la solution proposée par Gabriel Linder, elle me gêne énormément, d'autant plus que je ne veux surtout pas avoir les deux qui fonctionnent en même temps. La solution proposée en plus est "moyenne", car il est possible de préciser dans la section ci-dessus : Option "Device" "/dev/input/mice" qui fait exactement la même chose que ce qu'il décrit.
Là encore, ce n'est pas satisfaisant. Le touchpad, c'est bien pour une utilisation "nomade", mais pas quand le portable est connecté au réplicateur de ports, par exemple.
Non, il n'y a pas à dire, ce qui me manque, c'est la façon de rédiger une ou des règles pour udev qui fonctionne comme je le souhaite. Si quelqu'un a une idée sur la question....
A vot'bon coeur, comme on dit !
All articles which are excluded shall be deemed included
Tous les articles exclus sont considérés inclus
--Brian de Palma in Phantom of the Paradize
-
[^]Re: Réponse groupée....
Posté par Gabriel Linder () le 22/09/2006 à 15:32. (lien). Évalué à 2.Si tu veux absolument désactiver le touchpad (et s'il s'agit d'un synaptics), tu peux le faire avec l'option TouchpadOff (voir le man[1] pour changer dynamiquement ce paramètre, option SHMConfig). Il doit y avoir moyen de configurer udev pour exécuter synclient avec les bons paramètres selon que branches ou débranches la souris, c'est une piste à explorer.
[1] http://www.die.net/doc/linux/man/man5/synaptics.5.html
Revenir en haut de page || Retourner aux forums || Retourner au forum Linux.gui


Cette discussion est archivée, il n'est plus possible de laisser des commentaires.
Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.