Как откалибровать сенсорный экран в системе с двумя мониторами?


18

У меня есть установка двух мониторов двух разных размеров. Мой основной монитор - 23-дюймовый широкоэкранный сенсорный экран Acer T230H, а второй - обычный 20-дюймовый. Когда я использую сенсорный экран, курсор появляется на дополнительном дисплее в зависимости от того, где я касаюсь дисплея. Как мне откалибровать его, чтобы контролировать только мой основной монитор?


Кто-нибудь? Прошло три месяца. Любой, кто может помочь мне откалибровать мой сенсорный экран, будет очень полезен.
TheCodeGeek

Ответы:


1

Вы пробовали использовать xinput-калибратор ?


4
xinput-calibratorне помог мне. Он охватывал все пространство дисплея, которое не все доступно в моей настройке. Я попытался вручную установить значения калибровки для размера и положения сенсорного экрана, но это не имело никакого эффекта. Использование ответов xinput map-to-outputбыло проще и полезнее.
Стивен Анжелико

37

Как предложил Бени Чернявский-Паскин в комментарии, я использовал следующую команду для сопоставления устройства ввода с экраном вывода:

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

Чтобы выяснить, что есть, я сначала побежал xinputперечислять устройства ввода. Из этого списка я заметил, что мой сенсорный экран был «Оптический сенсорный экран QUANTA» и был указан как идентификатор устройства 12. Затем я побежал, xrandrчтобы определить сенсорный экран, который в моем случае был VGA1.

Просто введя следующую команду, тогда сделали свое дело:

xinput map-to-output 12 VGA1

1
Можно ли сделать это постоянным?
Уэст

xinput (по крайней мере, начиная с версии 1.6.2, вы можете использовать имя устройства вместо идентификатора (который может меняться). Поэтому приведенная выше команда xinput становится
такой

xinput карта к выводу 'Оптический сенсорный экран QUANTA' VGA1
JJones

и вы можете использовать эту команду, чтобы сделать ее постоянной. Для KDE вы можете использовать программу автозапуска и ввести эту команду с ее параметрами в «Добавить программу», или поместить ее в файл, сделать его исполняемым и выбрать его из автозапуска. Для других попробуйте поискать: запуск xinput и один из gnome, LWM или cinnimon и т. Д.
JJones

17

Как предложили Бени Чернявский-Паскин и Пол Ламмерцма в комментариях выше, xinput map-to-output <device> <output>мне это удалось!

сначала нужно запустить, xinputчтобы получить идентификатор inupt устройства,

вышеупомянутая команда возвращает что-то подобное для меня.

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    

Затем я побежал, xrandrчтобы получить список экранов, и вывод команды выглядит следующим образом

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)

В моем случае сенсорное устройство ELAN20E7:00 04F3:20E7 id=13и сенсорный экран eDP1должны решить проблему, мне нужно сопоставить устройство, которое контролирует только для этого я выполнил эту командуxinput map-to-output 13 eDP1

Проблема решена и снова работает нормально :)

Я использую элементарную ОС freya, поэтому она должна работать на всех дистрибутивах на основе Ubuntu 14.04 LTS


Точно такая же команда работала для меня на моем ноутбуке HP Envy 15-k016nr с внешним монитором.
user207863

Это отлично работает на моем Dell Inspiron 5547. Интересно, что я использовал то, id=13что соответствует моему ELAN Touchscreen, хотя SynPS/2 Synaptics TouchPadэто то, что xinput-calibratorиспользовалось по умолчанию.
SimonT

3

Очень сложно найти решение, но на самом деле довольно прямолинейно, просто следуйте ответу «phnomic» здесь: сенсорный экран и дополнительный внешний монитор . Работает безупречно с моим Fujitsu T730 со всеми видами внешних мониторов!


Людям, сталкивающимся с этой проблемой, я очень рекомендую это решение. Я думаю, что это чище и быстрее, чем принятый ответ.
Томас

1
Это использует xsetwacom, который, как я полагаю, работает только для устройств Wacom? Однако есть родовое, xinput map-to-output <device> <output> похожее по духу.
Бени Чернявский-Паскин
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.