Вопрос или проблема
У меня есть “Lenovo ThinkPad X1 2-in-1 Gen 9” с установленной ubuntu 24.04. Сенсорный экран работает нормально. Однако калибровка цифрового пера неверная и всегда находится ближе к центру экрана, чем должна быть.
Я пробовал:
- xinput_calibrator. Он принимает только первый ввод через цифровое перо, а затем отклоняет все последующие вводы, не полученные от касания пальцем.
- OpenTabletCalibrator. Он не распознал никаких устройств. Для справки, в настройках питания перо указано как Wacom HID 5397.
- Libinput.calibrate-touchscreen по умолчанию использует ввод от пальца, и цели не отображаются на экране.
- weston-calibrator. Он принимает ввод от пальца, но неясно, как изменить режим ввода.
Кроме того, я пробовал взять вывод из xinput_calibrator (касание пальцем) и применить его, используя инструкции из Как я мог бы откалибровать экран планшета (только для ввода пера)?. Я полагаю, это не сработало, так как 24.04 работает на Wayland и просто имитирует поведение X, используя Xwayland.
Таким образом, я начал следовать этим инструкциям https://canonical-mir.readthedocs-hosted.com/stable/how-to/how-to-calibrate-a-touchscreen-device/ и столкнулся с дополнительной проблемой. udevadm info -q property /dev/input/event6
(что является правильной папкой) возвращает:
DEVPATH=/devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-1/i2c-WACF2200:00/0018:056A:5397.0002/input/input17/event6
DEVNAME=/dev/input/event6
MAJOR=13
MINOR=70
SUBSYSTEM=input
USEC_INITIALIZED=3379341
ID_INPUT=1
ID_INPUT_TABLET=1
ID_INPUT_WIDTH_MM=301
ID_INPUT_HEIGHT_MM=188
ID_SERIAL=noserial
ID_PATH=pci-0000:00:15.1-platform-i2c_designware.1
ID_PATH_TAG=pci-0000_00_15_1-platform-i2c_designware_1
LIBINPUT_DEVICE_GROUP=18/56a/5397:i2c-WACF2200:00
DEVLINKS=/dev/input/by-path/pci-0000:00:15.1-platform-i2c_designware.1-event-mouse
TAGS=:snap_libinput_replay:snap_libinput_record:snap_libinput_list-devices:snap_libinput_debug-events:snap_libinput_analyze:snap_libinput_mea>
CURRENT_TAGS=:snap_libinput_replay:snap_libinput_record:snap_libinput_list-devices:snap_libinput_debug-events:snap_libinput_analyze:snap_libi>
Это не содержит идентификатор производителя и идентификатор модели, используемые в правиле udev.
У меня есть два вопроса.
- Есть ли способ выбрать идентификатор устройства в weston-calibrator или лучший калибратор, который я еще не пробовал?
- Есть ли другой способ установить правило udev без правила идентификатора производителя и модели?
Спасибо за вашу помощь.
Ниже приведен вывод от xinput list
, на случай если это поможет:
WARNING: running xinput against an Xwayland server. See the xinput man page for details.
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ xwayland-pointer:15 id=6 [slave pointer (2)]
⎜ ↳ xwayland-relative-pointer:15 id=7 [slave pointer (2)]
⎜ ↳ xwayland-pointer-gestures:15 id=8 [slave pointer (2)]
⎜ ↳ xwayland-touch:15 id=10 [slave pointer (2)]
⎜ ↳ xwayland-tablet stylus:15 id=11 [slave pointer (2)]
⎜ ↳ xwayland-tablet eraser:15 id=12 [slave pointer (2)]
⎜ ↳ xwayland-tablet cursor:15 id=13 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ xwayland-keyboard:15 id=9 [slave keyboard (3)]
Ответ или решение
Калибровка сенсорного экрана на Lenovo ThinkPad X1 с Ubuntu 24.04
Если у вас возникают проблемы с калибровкой сенсорного экрана на вашем Lenovo ThinkPad X1 2-в-1 Gen 9 с установленной Ubuntu 24.04, вы не одиноки. Ваша ситуация с неправильной калибровкой стилуса является распространенной проблемой среди пользователей, особенно на системах с Wayland. Давайте разберемся, какие шаги вы можете предпринять для решения этих проблем.
1. Проблемы с калибровкой
Вы уже попробовали несколько решений, включая xinput_calibrator
, OpenTabletCalibrator
, libinput
, и другие инструменты, но, к сожалению, безуспешно. Вероятно, причиной является то, что они не поддерживают работу с вашим стилусом должным образом. Попробуем рассмотреть более целенаправленные решения.
2. Альтернативы для калибровки
Weston Calibrator: У этого инструмента есть возможность выбора устройства, но это может быть сложно сделать в контексте ваших текущих настроек. Чтобы улучшить ситуацию, попробуйте использовать следующие команды для установки:
sudo apt install weston
Затем запустите weston
и откройте weston-calibrator
в его окружении. Если ваш стилус по-прежнему не распознается, вам может потребоваться ручное редактирование конфигурационного файла weston.ini
, чтобы задать устройство напрямую.
Работа с Udev: Ваш вывод из udevadm
показывает, что информация о вашем устройстве недостаточна для генерации правила Udev. Однако есть способ создать правило, основанное на общем идентификаторе устройства. Для этого используйте следующее правило в папке /etc/udev/rules.d/
:
SUBSYSTEM=="input", SUBSYSTEM=="event", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="5397", ENV{ID_INPUT_TABLET}="1", ENV{ID_INPUT}="1"
Проверьте, может ли это предложение соответствовать вашему устройству.
3. Рекомендации по калибровке
-
Проверка драйверов: Убедитесь, что у вас установлены актуальные драйвера для стилуса. Иногда проблемы калибровки связаны с несовместимыми драйверами.
-
Использование
libinput
: Возможно, вам стоит попробовать работать сlibinput
в качестве альтернативного подхода. К сожалению, многие пользователи сообщают об отсутствии возможности калибровки для стилусов в этой среде. -
Переход на Xorg: Если проблемы продолжаются, подумайте о временном переходе на сервер Xorg, где инструменты калибровки могут работать более стабильно. Вы можете это сделать, выбрав сессию Xorg при входе в систему.
4. Заключение
Калибровка сенсорного экрана и стилуса на вашем Lenovo ThinkPad X1 может быть сложной, особенно в средах, как Wayland, с его ограничениями. Изучение различных инструментов и использование правил Udev может помочь вам решить проблему. Убедитесь, что вы держите свою систему обновленной и следите за сообществами Linux, где пользователи часто делятся решениями для специфических проблем оборудования.