Jak skalibrować ekran dotykowy w systemie z dwoma monitorami?


18

Mam konfigurację z dwoma monitorami w dwóch różnych rozmiarach. Mój główny monitor to szerokoekranowy ekran dotykowy Acer T230H o przekątnej 23 cali, a drugi to zwykły ekran o przekątnej 20 cali. Gdy idę do ekranu dotykowego, kursor pojawia się na wyświetlaczu dodatkowym, w zależności od tego, gdzie go dotykam. Jak skalibrować, aby kontrolować tylko mój główny monitor?


Ktoś? Minęły trzy miesiące. Każdy, kto może mi pomóc w skalibrowaniu ekranu dotykowego, byłby bardzo pomocny.
TheCodeGeek

Odpowiedzi:


1

Czy próbowałeś używać kalibratora xinput ?


4
xinput-calibratornie pomogło mi Rozciągnął się po całej przestrzeni wyświetlania, co nie jest dostępne w mojej konfiguracji. Próbowałem ręcznie ustawić wartości kalibracji na rozmiar i pozycję ekranu dotykowego, ale nie przyniosło to efektu. Odpowiedzi xinput map-to-outputbyły łatwiejsze i bardziej pomocne.
Stephen Angelico,

37

Jak zasugerował Beni Cherniavsky-Paskin w komentarzu, użyłem następującego polecenia, aby zamapować urządzenie wejściowe na ekran wyjściowy:

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

Aby dowiedzieć się, który jest, najpierw pobiegłem, xinputaby wyświetlić listę urządzeń wejściowych. Z tego wykazu zauważyłem, że moim ekranem dotykowym był „QUANTA Optical Touch Screen” i wymieniono go jako identyfikator urządzenia 12. Następnie pobiegłem, xrandraby określić ekran dotykowy, którym w moim przypadku była VGA1.

Wystarczy wprowadzić następujące polecenie, a następnie zrobić lewę:

xinput map-to-output 12 VGA1

1
Czy można to uczynić trwałym?
Wes

xinput (przynajmniej od wersji 1.6.2 pozwala na użycie nazwy urządzenia zamiast identyfikatora (który można zmienić). więc powyższe polecenie xinput staje się:
JJones

xinput map-to-output „Optyczny ekran dotykowy QUANTA” VGA1
JJones

i możesz użyć tego polecenia, aby było trwałe. W przypadku KDE możesz użyć programu Autostart i wpisać tę komendę z jej opcjami w „Dodaj program” lub umieścić go w pliku, ustawić jako wykonywalny i wybrać z Autostartu. W przypadku innych spróbuj wyszukać: xinput startup i jeden z gnome, LWM lub cinnimon itp.
JJones

17

Jak zasugerowali Beni Cherniavsky-Paskin i Paul Lammertsma w powyższych komentarzach, załatwili sprawę xinput map-to-output <device> <output>!

najpierw musisz uruchomić, xinputaby uzyskać identyfikator urządzenia inupt,

powyższe polecenie zwraca mi coś takiego.

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    

Następnie pobiegłem, xrandraby uzyskać listę ekranów, a wynik polecenia jest taki

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)

W moim przypadku urządzenie dotykowe jest, ELAN20E7:00 04F3:20E7 id=13a ekran z obsługą dotykową ma eDP1rozwiązać problem, muszę zmapować urządzenie na tym monitorze tylko na to, że uruchomiłem to poleceniexinput map-to-output 13 eDP1

Problem rozwiązany i znów działa dobrze :)

Używam elementarnego systemu operacyjnego freya, więc powinno działać dla wszystkich dystrybucji opartych na Ubuntu 14.04 LTS


Dokładnie to samo polecenie działało na moim laptopie HP Envy 15-k016nr z zewnętrznym monitorem.
user207863

Działa to doskonale na moim Dell Inspiron 5547. Co ciekawe, którego użyłem, id=13co odpowiada mojemu ELAN Touchscreen, chociaż SynPS/2 Synaptics TouchPadjest to, co xinput-calibratorbyło używane domyślnie.
SimonT

3

Bardzo trudno znaleźć rozwiązanie, ale tak naprawdę dość prosto, wystarczy postępować zgodnie z odpowiedzią z „phnomic” tutaj: ekran dotykowy i dodatkowy monitor zewnętrzny . Działa bezbłędnie z moim Fujitsu T730 z wszelkiego rodzaju monitorami zewnętrznymi!


Osobom borykającym się z tym problemem bardzo polecam to rozwiązanie. Myślę, że jest czystszy i szybszy niż zaakceptowana odpowiedź.
Tomas

1
To używa xsetwacom, który, jak zakładam, działa tylko dla urządzeń Wacom? Istnieje jednak rodzajowy xinput map-to-output <device> <output> podobny duchowo.
Beni Cherniavsky-Paskin
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.