Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus.
Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus.
Multi-Pointer X , ou MPX , est une modification de X.Org le serveur du X Window System . MPX permet l'utilisation simultanée de plusieurs pointeurs indépendants dans le même système de fenêtrage . MPX permet le fonctionnement de certaines applications sans aucune modification. La plupart du temps les applications graphiques sont conçues en supposant l'existence d'un seul pointeur.
MPX permet, par exemple, à un formateur de montrer à son élève ce qu'il doit faire en utilisant une deuxième souris au lieu de promener son doigt sur l'écran.
Voilà le code pour créer un deuxième pointeur : J'ai plusieurs souris physiques et je vais utiliser la 'nano mouse' pour contrôler le nouveau curseur :
D'abord, détecter le matériel. Dans la suite, j'utiliserai les "id" de l'exemple en question : adaptez les nombres dans les lignes de commandes à votre cas !
[moviuro@kamino:~]$ xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Souris de Moviuro id=6 [slave pointer (2)]
⎜ ↳ MLK 2.4G wireless nano mouse id=15 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=16 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=7 [slave keyboard (3)]
↳ Apple, Inc Apple Keyboard id=8 [slave keyboard (3)]
↳ Apple, Inc Apple Keyboard id=9 [slave keyboard (3)]
↳ Sleep Button id=10 [slave keyboard (3)]
↳ Power Button id=11 [slave keyboard (3)]
↳ HD Video WebCam id=12 [slave keyboard (3)]
↳ Video Bus id=13 [slave keyboard (3)]
↳ Power Button id=14 [slave keyboard (3)]
Ensuite, créer un nouveau curseur (que je nomme New) et réafficher la disposition du matériel.
[moviuro@kamino:~]$ xinput create-master New
[moviuro@kamino:~]$ xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Souris de Moviuro id=6 [slave pointer (2)]
⎜ ↳ MLK 2.4G wireless nano mouse id=15 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=16 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=7 [slave keyboard (3)]
↳ Apple, Inc Apple Keyboard id=8 [slave keyboard (3)]
↳ Apple, Inc Apple Keyboard id=9 [slave keyboard (3)]
↳ Sleep Button id=10 [slave keyboard (3)]
↳ Power Button id=11 [slave keyboard (3)]
↳ HD Video WebCam id=12 [slave keyboard (3)]
↳ Video Bus id=13 [slave keyboard (3)]
↳ Power Button id=14 [slave keyboard (3)]
⎡ New pointer id=17 [master pointer (18)]
⎜ ↳ New XTEST pointer id=19 [slave pointer (17)]
⎣ New keyboard id=18 [master keyboard (17)]
↳ New XTEST keyboard id=20 [slave keyboard (18)]
Enfin, attacher la souris en question au pointeur inactif qui vient de s'afficher à l'écran.
[moviuro@kamino:~]$ xinput reattach 15 17
[moviuro@kamino:~]$ xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Souris de Moviuro id=6 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=16 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=7 [slave keyboard (3)]
↳ Apple, Inc Apple Keyboard id=8 [slave keyboard (3)]
↳ Apple, Inc Apple Keyboard id=9 [slave keyboard (3)]
↳ Sleep Button id=10 [slave keyboard (3)]
↳ Power Button id=11 [slave keyboard (3)]
↳ HD Video WebCam id=12 [slave keyboard (3)]
↳ Video Bus id=13 [slave keyboard (3)]
↳ Power Button id=14 [slave keyboard (3)]
⎡ New pointer id=17 [master pointer (18)]
⎜ ↳ MLK 2.4G wireless nano mouse id=15 [slave pointer (17)]
⎜ ↳ New XTEST pointer id=19 [slave pointer (17)]
⎣ New keyboard id=18 [master keyboard (17)]
↳ New XTEST keyboard id=20 [slave keyboard (18)]
Voilà ! La nano mouse contrôle le nouveau curseur !
Pour se débarrasser du curseur :
[moviuro@kamino:~]$ xinput remove-master 17
[moviuro@kamino:~]$ xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Souris de Moviuro id=6 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=16 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=7 [slave keyboard (3)]
↳ Apple, Inc Apple Keyboard id=8 [slave keyboard (3)]
↳ Apple, Inc Apple Keyboard id=9 [slave keyboard (3)]
↳ Sleep Button id=10 [slave keyboard (3)]
↳ Power Button id=11 [slave keyboard (3)]
↳ HD Video WebCam id=12 [slave keyboard (3)]
↳ Video Bus id=13 [slave keyboard (3)]
↳ Power Button id=14 [slave keyboard (3)]
∼ MLK 2.4G wireless nano mouse id=15 [floating slave]
[moviuro@kamino:~]$ xinput reattach 15 2
[moviuro@kamino:~]$ xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Souris de Moviuro id=6 [slave pointer (2)]
⎜ ↳ MLK 2.4G wireless nano mouse id=15 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=16 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=7 [slave keyboard (3)]
↳ Apple, Inc Apple Keyboard id=8 [slave keyboard (3)]
↳ Apple, Inc Apple Keyboard id=9 [slave keyboard (3)]
↳ Sleep Button id=10 [slave keyboard (3)]
↳ Power Button id=11 [slave keyboard (3)]
↳ HD Video WebCam id=12 [slave keyboard (3)]
↳ Video Bus id=13 [slave keyboard (3)]
↳ Power Button id=14 [slave keyboard (3)]
Test effectués sur Mandriva 2010.2 (après un # urpmi xinput)
Plus d'infos dans man xinput
Test effectués avec succès sur OpenSUSE 11.4 et 12.1 (x86_64).
Architecture
Extensions
Implémentations
Serveur d'affichage
Clients
Standards
freedesktop.org
Applications