Come posso calibrare un touchscreen su un sistema a doppio monitor?


18

Ho una configurazione a doppio monitor di due dimensioni diverse. Il mio monitor principale è un touchscreen Acer T230H widescreen da 23 pollici, e il secondo è un normale 20 pollici. Quando utilizzo il touchscreen, il cursore viene visualizzato sul display secondario a seconda di dove tocco il display. Come posso calibrarlo per controllare solo il mio monitor principale?


Chiunque? Sono passati tre mesi. Chiunque mi possa aiutare a calibrare il mio touchscreen sarebbe di grande aiuto.
TheCodeGeek,

Risposte:


1

Hai provato a usare xinput-calibrator ?


4
xinput-calibratornon mi ha aiutato. Si estendeva su tutto lo spazio di visualizzazione, il che non è accessibile nella mia configurazione. Ho provato a impostare manualmente i valori di calibrazione in base alle dimensioni e alla posizione del touchscreen ma non ha avuto alcun effetto. Le risposte usando xinput map-to-outputerano più facili e più utili.
Stephen Angelico,

37

Come Beni Cherniavsky-Paskin ha suggerito in un commento, ho usato il seguente comando per mappare un dispositivo di input su una schermata di output:

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

Per capire quale fosse, per prima cosa ho corso xinputper elencare i dispositivi di input. Da quell'elenco, ho osservato che il mio touchscreen era "QUANTA Optical Touch Screen" ed elencato come ID dispositivo 12. Ho quindi corso xrandrper determinare il touchscreen, che nel mio caso era VGA1.

Basta inserire il seguente comando e poi ha fatto il trucco:

xinput map-to-output 12 VGA1

1
È possibile renderlo persistente?
Wes,

xinput (almeno dalla versione 1.6.2 consente di utilizzare il nome del dispositivo anziché l'ID (che può cambiare). In questo modo il comando xinput sopra diventa:
JJones

VGA1
JJones

e puoi usare quel comando per renderlo persistente. Per KDE puoi usare il programma di avvio automatico e inserire quel comando con le sue opzioni in "Aggiungi programma", oppure metterlo in un file, renderlo eseguibile e selezionarlo da Avvio automatico. Per altri provare a cercare: xinput startup e uno di gnome, LWM o cinnimon ecc.
JJones

17

Come hanno suggerito Beni Cherniavsky-Paskin e Paul Lammertsma nei commenti precedenti, xinput map-to-output <device> <output>mi ha aiutato!

devi prima eseguire xinputper ottenere l'id del dispositivo inupt,

il comando sopra restituisce qualcosa del genere per me.

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    

Successivamente ho corso xrandrper ottenere l'elenco delle schermate e l'output del comando è così

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)

Nel mio caso il dispositivo touch è ELAN20E7:00 04F3:20E7 id=13e lo schermo touch abilitato è eDP1per risolvere il problema che devo mappare il dispositivo su quel monitor solo per quello ho eseguito questo comandoxinput map-to-output 13 eDP1

Problema risolto e funziona di nuovo bene :)

Sto usando il sistema operativo freya elementare, quindi dovrebbe funzionare per tutte le distro basate su Ubuntu 14.04 LTS


Lo stesso comando ha funzionato per me sul mio laptop HP Envy 15-k016nr con monitor esterno.
user207863

Questo ha funzionato perfettamente sul mio Dell Inspiron 5547. È interessante notare che ho usato quello id=13che corrisponde al mio ELAN Touchscreen, anche se SynPS/2 Synaptics TouchPadè quello che xinput-calibratorstava usando di default.
SimonT,

3

Soluzione molto difficile da trovare ma in realtà piuttosto semplice, basta seguire la risposta da "phnomic" qui: touchscreen e monitor esterno aggiuntivo . Funziona perfettamente con il mio Fujitsu T730 con tutti i tipi di monitor esterni!


Alle persone che affrontano questo problema, consiglio vivamente questa soluzione. Penso che sia più pulito e più veloce della risposta accettata.
Tomas,

1
Questo utilizza xsetwacom, che presumo funziona solo per i dispositivi Wacom? Tuttavia c'è un generico xinput map-to-output <device> <output> che è simile nello spirito.
Beni Cherniavsky-Paskin,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.