Вопрос или проблема
У меня есть графический планшет Huion Kamvas 24 Pro с экраном. Я загружаюсь в Windows, когда хочу его использовать, потому что Huion заявляет, что у них нет драйверов для него, но я только что обнаружил, что он на самом деле работает — в некоторой степени.
Он настроен как второй монитор, и когда я использую перо на нем, оно манипулирует курсором на основном мониторе. Что мне нужно сделать, чтобы переключить его на другой монитор? Конфигурационный интерфейс “wacom tablet” его не обнаруживает. Нужно ли мне редактировать системный файл, чтобы как-то сделать ядро осведомленным о планшете? Кажется, это должно быть относительно простое решение, учитывая, что ввод на самом деле работает – он просто переходит к неправильному экрану…
Это единственная причина, по которой я когда-либо загружаюсь в Windows. Было бы здорово просто оставаться в Linux.
Похоже, это характерно для таких вещей: можно провести полдня, работая над проблемой, а затем понять, как её решить, через 15 минут после того, как наконец сдался и задал вопрос. Следующая страница помогла мне найти решение:
https://forum.kde.org/viewtopic.php?f=139&t=125532
Это пост в самом низу от “timotimo” в 2016 году. Он использует xinput, чтобы получить идентификаторы вводов, соответствующие стилусу и планшету. Затем он использует xrandr, чтобы получить идентификаторы выводов, связанные с его мониторами. Затем он использует “xinput map-to-output [input identifier] [output identifier]” для соответствующих значений. У меня были совсем другие выводы из xinput и xrandr, специфичные для моей системы, но я быстро смог сделать это с помощью небольшого метода проб и ошибок.
Лучшее в этом решении то, что оно не требует установки чего-либо. Оба инструмента уже установлены в Ubuntu.
Я столкнулся с той же проблемой с моим планшетом Huion Kamvas 24 Plus на Linux Mint 22.1 Cinnamon. К сожалению, xinput map-to-output "[device]" [monitor]
не сработал для меня или других решений. Да, курсор переместился на правильный экран, однако смещение было на несколько сантиметров…
Вот шаги, которые решили эту проблему для меня:
-
Установите ваш планшет как основной монитор
-
Сбросьте его координаты:
xinput set-prop "HUION 256C PEN STYLUS Pen (0)" --type=float "Coordinate Transformation Matrix" 0 0 0 0 0 0 0 0 0
-
Примечание: этот исправление, вероятно, исчезнет, если вы отключите планшет или перезагрузите компьютер. Решение заключается в том, чтобы настроить запуск этого скрипта при старте системы.
Вот некоторые дополнительные ресурсы, которые могут помочь в случае, если это не решило проблему или вы не хотите устанавливать ваш планшет как основной монитор.
https://unix.stackexchange.com/questions/229908/calibrating-pen-and-touch-via-xinput
.
Ответ или решение
Для решения проблемы отображения курсора на неправильном экране при использовании графического планшета Huion Kamvas 24 Pro под управлением операционной системы Linux, необходимо применить специфические подходы и настройки, поскольку драйверов напрямую от производителя для Linux не предусмотрено. Рассмотрим систематический подход к решению данной задачи с учетом фона и специфики, описанных пользователями.
Теория
Графические планшеты с экраном, такие как Huion Kamvas, могут функционировать как вторичные мониторы. Проблема, когда курсор отражается на основном мониторе, а не на самом планшете, часто связана с настройками конфигурации устройств ввода и вывода в операционной системе. В Linux системы X11 и Wayland управляют подобными устройствами, и для решения проблемы необходимо правильно настроить привязку устройств ввода к соответствующим экранам. Инструменты, такие как xinput
и xrandr
, предоставляют возможность ручного вмешательства для настройки этих привязок.
Пример
Предположим, что ваше устройство ввода не определилось автоматически системой и требует ручной настройки. Одна из ранее упомянутых методик включает использование команды xinput
для определения идентификаторов вводных устройств (например, стилуса) и команды xrandr
для определения названий выводных устройств (мониторов).
Пример исправления может выглядеть следующим образом:
-
Получение идентификаторов вводных устройств:
xinput
Результат даст список всех подключенных графических устройств. Например, вы можете увидеть строку вида: "HUION 256C PEN STYLUS Pen (0)".
-
Определение идентификаторов вывода:
xrandr
Эта команда выведет список дисплеев. Определите тот, который соответствует вашему графическому планшету.
-
Привязка вводного устройства к нужному экрану:
xinput map-to-output "HUION 256C PEN STYLUS Pen (0)" HDMI-1
Здесь
"HUION 256C PEN STYLUS Pen (0)"
— это имя вашего стилуса, полученное изxinput
, аHDMI-1
— имя дисплея вашего планшета изxrandr
.
Применение
Хотя метод с использованием xinput map-to-output
решает проблему на момент выполнения, могут возникнуть случаи, когда это может не работать должным образом из-за ошибок или особенностей конкретных моделей планшета или конфигураций дисплея. Как отметил другой пользователь, важно учитывать узнаваемые оффсеты или сбои, которые могут возникнуть.
По этой причине можно применить дополнительный подход:
- Сброс координат планшета командой:
xinput set-prop "HUION 256C PEN STYLUS Pen (0)" --type=float "Coordinate Transformation Matrix" 0 0 0 0 0 0 0 0 0
Это позволит переопределить неправильно заданные значения до логического значения по умолчанию, и уже от него корректировать по результатам.
Если ваша система не сохраняет изменения при перегрузке устройства или системы, имеет смысл сделать сценарий автозапуска с указанными командами. Это возможно определить в конфигурации настольного окружения или через системы автозагрузки, такие как cron
или systemd
.
Также полезно ознакомиться с сопутствующими ресурсами, например:
Эти примеры показывают, как решение подобных проблем требует теоретического понимания работы устройств ввода и вывода в Linux, а также методичного подхода в практической реализации, что может варьироваться в зависимости от конкретных особенностей устройств и версий ОС.