j'ai Ubuntu 12.04 et deux moniteurs, dont le premier est l'écran tactile.
Le système reconnaît la résolution sur un grand écran avec une résolution de 3840 * 1080.
Le problème est que lorsque vous utilisez le calibrage tactile, l'écran du calibrateur est dimensionné sur les deux écrans. Ainsi, lorsque vous touchez l'écran, le pointeur obtient un double mouvement sur l'axe X.
Y-a-t'il une solution?
Graphique: NVIDIA avec affichage double
Commencez par lister toutes les sources d’entrée avec xinput --list
:
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Sony Vaio Jogdial id=8 [slave pointer (2)]
⎜ ↳ Advanced Silicon S.A CoolTouch(TM) System id=11 [slave pointer (2)]
⎜ ↳ HID-compliant Mouse HID-compliant Mouse id=13 [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)]
↳ Sony Vaio Keys id=7 [slave keyboard (3)]
↳ Video Bus id=9 [slave keyboard (3)]
↳ Power Button id=10 [slave keyboard (3)]
↳ IR camera id=12 [slave keyboard (3)]
↳ Cherry USB keyboard id=14 [slave keyboard (3)]
↳ Cherry USB keyboard id=15 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=16 [slave keyboard (3)]
Prenez l'appareil qui vous intéresse (dans ce cas, j'utilise le "Système Advanced Silicon S.A CoolTouch (TM)") et notez son ID.
Maintenant, vous devez trouver l’affichage sur lequel vous voulez mapper le périphérique d’entrée. La méthode la plus simple consiste à utiliser xrandr
:
Screen 0: minimum 8 x 8, current 3200 x 1080, maximum 16384 x 16384
HDMI-0 connected 1280x1024+1920+0 (normal left inverted right x axis y axis) 338mm x 270mm
1280x1024 60.02*+
1280x960 60.00
1280x720 60.00 59.94
1152x864 75.00 70.00
1024x768 60.00
800x600 60.32
720x480 59.94
640x480 59.94 59.93
LVDS-0 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 531mm x 299mm
1920x1080 60.00*+ 59.94
Dans ce cas, je souhaite mapper mon périphérique tactile sur la sortie LVDS-0
.
Combinez l'ID de la première étape (11
ici) avec le nom d'écran de la deuxième étape (LVDS-0
ici) et exécutez la commande suivante:
xinput --map-to-output INPUT-IDSCREEN
Dans mon exemple, cette commande serait:
xinput --map-to-output 11 LVDS-0
Votre périphérique tactile ne doit pas être correctement mappé sur le périphérique d'entrée et ne nécessite aucune configuration supplémentaire.
Ces paramètres ne persisteront pas entre les redémarrages . Veuillez consulter cette question sur comment rendre persistantes les commandes xinput
.
Le wiki archlinux est la meilleure description de la façon de résoudre ce problème, mais voici quelque chose d'un peu plus spécifique.
Vous devez exécuter xinput --list pour identifier le nom de votre périphérique d’entrée. J'ai créé une feuille de calcul pour calculer les valeurs de transformation.
Feuille de calcul ici: https://docs.google.com/spreadsheets/d/13CNQjWfzpEkHM4ZdCcUWDTdQNaFqQ6TYTwatQsYcHcQ/edit?usp=sharing
J'ai couru vos numéros (double affichage 1920x1080).
Si votre écran tactile est à gauche, la commande serait ("Système avancé Silicon S.A CoolTouch (TM)" est le nom de mon périphérique d'entrée, remplacez-le par le vôtre):
xinput set-prop 'Advanced Silicon S.A CoolTouch(TM) System' --type=float 'Coordinate Transformation Matrix' 0.5 0 0 0 1 0 0 0 1
Pour le droit, cela devrait être:
xinput set-prop 'Advanced Silicon S.A CoolTouch(TM) System' --type=float 'Coordinate Transformation Matrix' 0.5 0 0.5 0 1 0 0 0 1
Comme il s’agit d’un résultat de recherche google pour ce problème, j’ai décidé de publier ma solution qui, pour moi, est simple.
J'ai trouvé ceci lien sur archlinux , et vous pouvez utiliser
xinput --map-to-output <stylus device ID> <screen ID>
donc je n'ai pas besoin de jouer avec "matrice de transformation de coordonnées" ...
Voir: https://wiki.archlinux.org/index.php/Calibrating_Touchscreen
Votre matrice est l'une des suivantes:
Touch screen on the left: 0. 5 0 0 0 1 0 0 0 1
Touch screen on the right: 0. 5 0 0. 5 0 1 0 0 0 1
J'ai presque la même configuration (mais les écrans se superposent) et je rencontre plusieurs clics après avoir défini la matrice correcte, comme décrit à la dernière ligne du lien. Je n'ai pas trouvé de moyen de reconstruire xorg-server
sous Ubuntu; pour sûr la procédure décrite ne fonctionne pas.