Comment calibrer un écran tactile sur un système à deux moniteurs?

18

J'ai une configuration double moniteur de deux tailles différentes. Mon moniteur principal est un écran tactile grand écran Acer T230H de 23 pouces, et le second est un écran ordinaire de 20 pouces. Lorsque je vais utiliser l'écran tactile, le curseur apparaît sur l'écran secondaire en fonction de l'endroit où je touche l'écran. Comment l'étalonner pour contrôler uniquement mon moniteur principal?

TheCodeGeek
la source
N'importe qui? Cela fait trois mois. Quiconque peut m'aider à calibrer mon écran tactile serait d'une grande aide.
TheCodeGeek du

Réponses:

1

Avez-vous essayé d'utiliser xinput-calibrator ?

int_ua
la source
4
xinput-calibratorne m'a pas aidé. Il s'est étendu sur tout l'espace d'affichage, qui n'est pas entièrement accessible dans ma configuration. J'ai essayé de régler manuellement les valeurs d'étalonnage à la taille et à la position de l'écran tactile, mais cela n'a eu aucun effet. Les réponses à l'aide xinput map-to-outputétaient plus faciles et plus utiles.
Stephen Angelico
37

Comme Beni Cherniavsky-Paskin l'a suggéré dans un commentaire, j'ai utilisé la commande suivante pour mapper un périphérique d'entrée à un écran de sortie:

xinput map-to-output <device> <output>

Pour savoir qui est lequel, j'ai d'abord couru xinputpour répertorier les périphériques d'entrée. À partir de cette liste, j'ai observé que mon écran tactile était "QUANTA Optical Touch Screen" et répertorié comme identifiant de périphérique 12. J'ai ensuite couru xrandrpour déterminer l'écran tactile, qui dans mon cas était VGA1.

Entrer simplement la commande suivante a ensuite fait l'affaire:

xinput map-to-output 12 VGA1
Paul Lammertsma
la source
1
Est-il possible de rendre cela persistant?
Wes
xinput (au moins à partir de la version 1.6.2 vous permet d'utiliser le nom du périphérique au lieu de l'ID (qui peut changer). La commande xinput ci-dessus devient donc:
JJones
xinput map-to-output 'QUANTA Optical Touch Screen' VGA1
JJones
et vous pouvez utiliser cette commande pour la rendre persistante. Pour KDE, vous pouvez utiliser le programme Autostart et saisir cette commande avec ses options dans "Ajouter un programme", ou la mettre dans un fichier, la rendre exécutable et la sélectionner dans Autostart. Pour d'autres, essayez de rechercher: démarrage xinput et l'un des gnome, LWM ou cinnimon etc.
JJones
17

Comme Beni Cherniavsky-Paskin et Paul Lammertsma l'ont suggéré dans les commentaires ci-dessus, cela a xinput map-to-output <device> <output>fait l'affaire pour moi!

vous devez d'abord exécuter xinputpour obtenir l'ID de l'appareil inupt,

la commande ci-dessus me renvoie quelque chose comme ça.

user@user-hpEnvy:~$ xinput
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Logitech Unifying Device. Wireless PID:401b   id=10   [slave  pointer  (2)]
⎜   ↳ Logitech Unifying Device. Wireless PID:4016   id=11   [slave  pointer  (2)]
⎜   ↳ ELAN20E7:00 04F3:20E7                     id=13   [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                id=15   [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)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Video Bus                                 id=8    [slave  keyboard (3)]
    ↳ Power Button                              id=9    [slave  keyboard (3)]
    ↳ HP Truevision HD                          id=12   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=14   [slave  keyboard (3)]
    ↳ HP Wireless hotkeys                       id=16   [slave  keyboard (3)]
    ↳ HP WMI hotkeys    

Ensuite, j'ai couru xrandrpour obtenir la liste des écrans et la sortie de la commande est comme ceci

user@user-hpEnvy:~$ xrandr
Screen 0: minimum 8 x 8, current 3840 x 1080, maximum 32767 x 32767
eDP1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 382mm x 215mm
   1920x1080      60.0*+   59.9     40.0  
   1680x1050      60.0     59.9  
   1600x1024      60.2  
   1400x1050      60.0  
   1280x1024      60.0  
   1440x900       59.9  
   1280x960       60.0  
   1360x768       59.8     60.0  
   1152x864       60.0  
   1024x768       60.0  
   800x600        60.3     56.2  
   640x480        59.9  
HDMI1 connected primary 1920x1080+1920+0 (normal left inverted right x axis y axis) 600mm x 340mm
   1920x1080      60.0*+   50.0     59.9  
   1680x1050      59.9  
   1600x900       60.0  
   1280x1024      60.0  
   1440x900       59.9  
   1280x720       60.0     50.0     59.9  
   1024x768       60.0  
   800x600        60.3  
   720x576        50.0  
   720x480        60.0     59.9  
   640x480        60.0     59.9  
   720x400        70.1  
VIRTUAL1 disconnected (normal left inverted right x axis y axis)

Dans mon cas, le périphérique tactile est ELAN20E7:00 04F3:20E7 id=13et l'écran tactile activé est eDP1de résoudre le problème dont j'ai besoin pour mapper le périphérique le moniteur uniquement pour que j'ai exécuté cette commandexinput map-to-output 13 eDP1

Problème résolu et fonctionne à nouveau correctement :)

J'utilise le système d'exploitation élémentaire freya, donc cela devrait fonctionner pour toutes les distributions basées sur Ubuntu 14.04 LTS

Ajith R Nair
la source
La même commande exacte a fonctionné pour moi sur mon ordinateur portable HP Envy 15-k016nr avec moniteur externe.
user207863
Cela fonctionnait parfaitement sur mon Dell Inspiron 5547. Fait intéressant, j'ai utilisé id=13ce qui correspond à mon ELAN Touchscreen, même si SynPS/2 Synaptics TouchPadc'est ce qui xinput-calibratorétait utilisé par défaut.
SimonT
3

Très difficile à trouver, mais en fait assez simple, suivez simplement la réponse de 'phnomic' ici: écran tactile et moniteur externe supplémentaire . Fonctionne parfaitement avec mon Fujitsu T730 avec toutes sortes de moniteurs externes!

La consommation
la source
Aux personnes confrontées à ce problème, je recommanderais fortement cette solution. Je pense que c'est plus propre et plus rapide que la réponse acceptée.
Tomas
1
Cela utilise xsetwacom, qui, je suppose, ne fonctionne que pour les appareils Wacom? Cependant, il existe un générique xinput map-to-output <device> <output> qui est similaire dans son esprit.
Beni Cherniavsky-Paskin