При запуске настройки xinput dualscreen с одним сенсорным экраном, который закрывает один из двух мониторов, у меня отсутствует один ввод. 20.04

Вопрос или проблема

Я запускаю киоск с двумя экранами, одна сторона – сенсорный экран, другая – пассивная. Обычно для такой конфигурации я использую XINPUT и XRANDR, чтобы сопоставить сенсорный экран с правильным монитором. Ниже будут результаты этого и пример .sh файла, который я обычно помещаю в автозагрузку, чтобы он работал после перезагрузки. На этот раз у меня уникальный монитор с ИК-сенсорным экраном, когда я запускаю xinput, сенсорный экран не отображается в списке. Я знаю, что компьютер видит ввод с сенсорного экрана, потому что я могу щелкать и перетаскивать, но он в неправильной ориентации и разбросан по нескольким экранам. Есть ли какие-нибудь предложения, как найти сенсорный экран и сопоставить его с конкретным монитором?

eyeon@np-center-ul-ser5:~$ xinput

> ⎡ Виртуальный основной указатель                     id=2    [главный указатель  (3)]
> ⎜   ↳ Виртуальный основной указатель XTEST            id=4    [рабочий указатель 
> (2)]
>               viid=9ouch[рабочий указатель  (2)] ⎣ Виртуальная основная клавиатура          id=3    [главная клавиатура (2)]
>     ↳ Виртуальная основная клавиатура XTEST         id=5    [рабочая клавиатура (3)]
>     ↳ Кнопка питания                               id=6    [рабочая клавиатура (3)]
>     ↳ Видеошина                                    id=7    [рабочая клавиатура (3)]
>     ↳ Кнопка питания                               id=8    [рабочая клавиатура (3)]
>               viid=10uch[рабочая клавиатура (3)]

eyeon@np-center-ul-ser5:~$ xrandr

Экран 0: минимум 320 x 200, текущий 2160 x 1920, максимум 16384 x 16384
DisplayPort-0 подключен, основной 1080x1920+0+0 слева (обычно слева перевернуто вправо по оси x, y) 1210mm x 681mm
   1920x1080     60.00*+  50.00    59.94    30.00    25.00    24.00    29.97    23.98  
   1680x1050     59.88  
   1600x900      60.00  
   1280x1024     75.02    60.02  
   1440x900      59.90  
   1366x768      59.79  
   1280x800      59.91  
   1152x864      75.00  
   1280x720      60.00    50.00    59.94  
   1024x768      75.03    70.07    60.00  
   832x624       74.55  
   800x600       72.19    75.00    60.32  
   720x576       50.00  
   720x480       60.00    59.94  
   640x480       75.00    72.81    66.67    60.00    59.94  
   720x400       70.08  
HDMI-A-0 подключен 1080x1920+1080+0 справа (обычно слева перевернуто вправо по оси x, y) 1872mm x 1053mm
   3840x2160     45.00 +  60.00    50.00    59.94    30.00    25.00    24.00    29.97    23.98  
   4096x2160     60.00    50.00    59.94    30.00    25.00    24.00    29.97    23.98  
   1920x1200     45.00  
   1920x1080     60.00    50.00    59.94    30.00    25.00    24.00    29.97    23.98* 
   1600x1200     60.00  
   1680x1050     59.88  
   1400x1050     59.95  
   1280x1024     75.02    60.02  
   1440x900      59.90  
   1280x960      60.00  
   1280x800      59.91  
   1152x864      75.00  
   1280x720      60.00    50.00    59.94  
   1024x768      75.03    70.07    60.00  
   832x624       74.55  
   800x600       72.19    75.00    60.32    56.25  
   720x576       50.00  
   720x480       60.00    59.94  
   640x480       75.00    72.81    60.00    59.94  
   720x400       70.08  
DisplayPort-1 отключен (обычно слева перевернуто вправо по оси x, y)
DisplayPort-2 отключен (обычно слева перевернуто вправо по оси x, y)

eyeon@np-center-ul-ser5:~$ 

Это то, что я бы поместил в файл .sh, если бы был сенсорный экран, но сенсорного экрана, который можно сопоставить, нет.

sleep 4 && xinput map-to-output 4 DisplayPort-0&

Есть какие-нибудь предложения?

Ответ или решение

Ваш вопрос о пропаже устройства ввода при настройке распределения экранов в Ubuntu 20.04 интересует многих пользователей, работающих с сенсорными экранами и многомониторными конфигурациями. Давайте подробно рассмотрим возможные причины и шаги для их решения.

1. Проверка распознавания сенсорного экрана

Несмотря на то что ваш сенсорный экран обнаруживается системой, он может не отображаться в списке устройств xinput. Для начала, убедитесь, что устройство корректно распознается ядром Linux. Это можно проверить, выполнив следующий команду:

lsusb

Ищите строку, относящуюся к вашему сенсорному экрану. Если устройство отображается в списке, это подтверждает его функционирование на уровне аппаратного обеспечения.

2. Обновление драйверов

Проблема может заключаться в отсутствии или устаревании драйверов для вашего сенсорного экрана. Выполните следующие команды для проверки обновлений:

sudo apt update
sudo apt upgrade

Также рекомендуется проверить, доступны ли специфические драйверы для вашего устройства. Для этого вы можете использовать dmesg | grep -i touch, чтобы отфильтровать сообщения ядра, относящиеся к сенсорному экрану.

3. Установка необходимых пакетов

Убедитесь, что у вас установлены необходимые пакеты для работы сенсорных экранов. Воспользуйтесь следующей командой для установки:

sudo apt install xserver-xorg-input-evdev

Это обеспечит поддержку различных устройств ввода, включая сенсорные экраны.

4. Настройка конфигурации X11

После того как устройство будет обнаружено, перейдите к его настройке. Создайте файл конфигурации X11 для вашего сенсорного экрана, если его нет. Для этого выполните:

sudo nano /usr/share/X11/xorg.conf.d/99-touchscreen.conf

И добавьте следующее:

Section "InputClass"
    Identifier "touchscreen"
    MatchProduct "имя вашего устройства"
    Driver "evdev"
    Option "Calibration" "xmin xmax ymin ymax"
    Option "EmulateThirdButton" "1"
EndSection

Под "имя вашего устройства" укажите точное имя вашего сенсорного экрана, как оно отображается в системе.

5. Перемещение сенсорного ввода на экран

После успешного обнаружения устройства и его настройки вы сможете использовать xinput для отображения устройства ввода и его сопоставления с выходом:

xinput list

Эта команда выведет список всех устройств ввода. Найдите ваше устройство сенсорного экрана и запомните его ID. Затем выполните следующую команду, чтобы сопоставить сенсорный экран с конкретным монитором:

xinput map-to-output <ID_BOX> <имя_монитора>

Замените <ID_BOX> на ID вашего сенсорного экрана, а <имя_монитора> — на нужный вам монитор (например, DisplayPort-0).

6. Скрипт автозагрузки

Если все настроено правильно, добавьте команды в ваш .sh файл:

sleep 4 && xinput map-to-output <ID_BOX> DisplayPort-0 &

Заключение

Кратко подытожим, если ваш сенсорный экран не распознается в xinput, это может быть вызвано множеством причин — от отсутствия драйверов до неправильной конфигурации X11. Следуя приведенным выше шагам, вы сможете диагностировать и устранить проблему, что позволит корректно настроить систему и верно сопоставить устройств и мониторов.

Если у вас возникнут дополнительные вопросы или сложности, не стесняйтесь обращаться за помощью в сообщество пользователей Linux или к специалистам, работающим с подобными конфигурациями.

Оцените материал
Добавить комментарий

Капча загружается...