MPX est un acronyme de multi-pointer X Server (Serveur X à multi-pointage). MPX est une modification de 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.
MPX est inclus dans Xorg il n'y a rien à installer.
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 virtuel1) et 1 clavier virtuel2) 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)]
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)]
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
Si vous souhaitez une interface graphique à xinput installez le paquet pyhoca-gui.
Il se peut que votre deuxième curseur ne soit alloué à aucune souris, pas de solution… ( voir ce fils de discussion du forum).
Contributeurs : Ignace72