{{tag>Xenial souris}}
----
====== MPX : Multi-Pointer X ======
MPX est un acronyme de multi-pointer X Server (Serveur X à multi-pointage).
MPX est une modification de [[:xorg|X.Org]] implantée dans le système X Window. Il permet d'utiliser plusieurs pointeurs indépendants au niveau du système de fenêtrage. Contrairement à beaucoup d'autres applications de multi-pointage, MPX permet à de nombreuses applications X Window de s'exécuter sans aucune modification.
Il permet entre autre à plusieurs utilisateurs d'exploiter simultanément des applications différentes.
===== Installation =====
 MPX est inclus dans Xorg il n'y a rien à installer.
===== Utilisation =====
Depuis une [[:console]], on regarde la configuration actuelle :
xinput list
⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
⎜   ↳ Zalman FPSGUN Mouse                     	id=8	[slave  pointer  (2)]
⎜   ↳ Logitech USB-PS/2 Optical Mouse         	id=9	[slave  pointer  (2)]
⎜   ↳ HID 046a:0023                           	id=11	[slave  pointer  (2)]
⎜   ↳ btnx mouse                              	id=14	[slave  pointer  (2)]
⎣ Virtual core keyboard                   	id=3	[master keyboard (2)]
    ↳ Virtual core XTEST keyboard             	id=5	[slave  keyboard (3)]
    ↳ Power Button                            	id=6	[slave  keyboard (3)]
    ↳ Power Button                            	id=7	[slave  keyboard (3)]
    ↳ HID 046a:0023                           	id=10	[slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard            	id=12	[slave  keyboard (3)]
    ↳ btnx keyboard                           	id=13	[slave  keyboard (3)]
Il existe 1 pointeur virtuel((Virtual core pointer)) et 1 clavier virtuel((Virtual core keyboard)) qui sont liés.
On remarque que mes deux souris sont associées au seul pointeur.
On ajoute donc un nouveau pointeur :
xinput create-master New
On regarde ce que ça donne, toujours par :
xinput list
À la fin nous retrouvons un nouveau couple clavier/souris.
⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
⎜   ↳ Zalman FPSGUN Mouse                     	id=8	[slave  pointer  (2)]
⎜   ↳ Logitech USB-PS/2 Optical Mouse         	id=9	[slave  pointer  (2)]
⎜   ↳ HID 046a:0023                           	id=11	[slave  pointer  (2)]
⎜   ↳ btnx mouse                              	id=14	[slave  pointer  (2)]
⎣ Virtual core keyboard                   	id=3	[master keyboard (2)]
    ↳ Virtual core XTEST keyboard             	id=5	[slave  keyboard (3)]
    ↳ Power Button                            	id=6	[slave  keyboard (3)]
    ↳ Power Button                            	id=7	[slave  keyboard (3)]
    ↳ HID 046a:0023                           	id=10	[slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard            	id=12	[slave  keyboard (3)]
    ↳ btnx keyboard                           	id=13	[slave  keyboard (3)]
⎡ New pointer                             	id=15	[master pointer  (16)]
⎜   ↳ New XTEST pointer                       	id=17	[slave  pointer  (15)]
⎣ New keyboard                            	id=16	[master keyboard (15)]
    ↳ New XTEST keyboard                      	id=18	[slave  keyboard (16)]
Vous devez voir un nouveau pointeur inactif sur votre écran.
Maintenant, on va prendre le //Zalman FPSGUN Mouse// par son identifiant « id=8 » et l'associer à notre nouveau pointeur « id=15 ».
xinput reattach 8 15
Ce qui nous donne comme configuration de xinput :
⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
⎜   ↳ Logitech USB-PS/2 Optical Mouse         	id=9	[slave  pointer  (2)]
⎜   ↳ HID 046a:0023                           	id=11	[slave  pointer  (2)]
⎜   ↳ btnx mouse                              	id=14	[slave  pointer  (2)]
⎣ Virtual core keyboard                   	id=3	[master keyboard (2)]
    ↳ Virtual core XTEST keyboard             	id=5	[slave  keyboard (3)]
    ↳ Power Button                            	id=6	[slave  keyboard (3)]
    ↳ Power Button                            	id=7	[slave  keyboard (3)]
    ↳ HID 046a:0023                           	id=10	[slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard            	id=12	[slave  keyboard (3)]
    ↳ btnx keyboard                           	id=13	[slave  keyboard (3)]
⎡ New pointer                             	id=15	[master pointer  (16)]
⎜   ↳ Zalman FPSGUN Mouse                     	id=8	[slave  pointer  (15)]
⎜   ↳ New XTEST pointer                       	id=17	[slave  pointer  (15)]
⎣ New keyboard                            	id=16	[master keyboard (15)]
    ↳ New XTEST keyboard                      	id=18	[slave  keyboard (16)]
Le nouveau curseur doit bouger avec votre seconde souris.
Pour annuler tout ça, on réaffecte notre seconde souris à notre premier curseur « id=2 » :
xinput reattach 8 2
Et on supprime notre curseur inutile (toujours id=15) :
-xinput remove-master 15
Le curseur inutile doit avoir disparu ! 
Rien n'empêche d'appeler votre curseur comme vous le voulez au lieu de « New ».
=====Interface graphique=====
Si vous souhaitez une interface graphique à xinput [[:tutoriel:comment_installer_un_paquet|installez le paquet]] **[[apt>pyhoca-gui]]**.
=====Problème connu=====
Il se peut que votre deuxième curseur ne soit alloué à aucune souris, pas de solution... ( voir ce [[https://forum.ubuntu-fr.org/viewtopic.php?id=1999319&p=3|fils de discussion du forum]]).
===== Liens Externes =====
  * Voir [[wpfr>Multi-Pointer_X]] sur Wikipedia [fr]
  * Voir [[wp>Multi-Pointer_X]] sur Wikipedia [en]
----
//Contributeurs : [[:utilisateurs:Ignace72|Ignace72]]//