При подключении к компьютеру G-Pen 560 определяется как обычная мышь, т.е работает в режиме relative и силу нажатия на перо не отрабатывает. Нам нужно сделать все наоборот - вогнать планшет в абсолютный режим и отрабатывать силу нажатия.
Данный планшет поддерживается драйвером WizardPen, его можно собрать из исходников, а можно (нужно) взять готовый:
wget http://www.dallerweb.dk/ubuntu/wp/i386/wizardpen_drv.so
и поместить его в нужную директорию:
sudo cp wizardpen_drv.so /usr/lib/xorg/modules/input/
Теперь узнаем под каким именем планшет известен системе:
cat /sys/bus/usb/devices/*/product
В выводе этой команды ищем название планшета. У меня он определился как G-Pen.
Далее подсистеме udev объясняем что у нас есть еще одно usb устройство и его нужно определять как /dev/tablet-event. Для этого создаем в /etc/udev/rules.d новый файл 010-local.rules, или, если он уже существует, добавляет в него строку для нашего планшета:
BUS=="usb", KERNEL=="event*", SYSFS{product}=="G-Pen", NAME="input/%k", SYMLINK+="tablet-event", MODE="0666"
Перезапускаем udev:
sudo /etc/int.d/udev restart
В директории /dev/ появится ссылка tablet-event.
Настало время править конфиг xorg.conf.
Добавляем секцию, определяющую графический планшет и его параметры:
Section "InputDevice"
Identifier "WizardPen Tablet"
Option "SendCoreEvents" "relative"
Driver "wizardpen"
Option "Mode" "Absolute"
Option "Device" "/dev/tablet-event"
Option "TopX" "66"
Option "TopY" "196"
Option "TopZ" "128"
Option "BottomX" "12000"
Option "BottomY" "9000"
#Option "BottomZ" "300"
Option "MaxX" "12000"
Option "MaxY" "9000"
Option "MaxZ" "1023"
EndSection
И добавляем ссылку на планшет в секцию ServerLayout:
В Х-сах мышь висит на эвенте /dev/input/mice, который принимает запросы от всех указательных устройств. Чтобы мышь нормально работала при подключенном планшете, ее нужно повесить на собственный эвент. У меня это /dev/input/mouse1
Section "ServerLayout"
Identifier "Default Layout"
InputDevice "Generic Keyboard"
InputDevice "Configured Mouse"
InputDevice "WizardPen Tablet" "AlwaysCore"
...
Перегружаем X-сы. Предупреждаю, что планшет должен быть подключен, иначе Х-сы не стартуют. Где-то видел для этого хак - нужно внести еще такую секцию в xorg.conf:
Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
# Option "Device" "/dev/input/mice"
Option "Device" "/dev/input/mouse1"
Option "Protocol" "ImPS/2"
Option "ZAxisMapping" "4 5"
Option "Emulate3Buttons" "true"
EndSection
После всех этих плясок с бубном система узнает наш планшет... но сила нажатия так и не работает... Тут есть два пути. Первый - загрузиться в виндах (с установленными драйверами), чтобы планшет инициализировался. После этого, не отключая планшет, перегрузиться в Линукс. G-Pen заработает как и ему положено, с отработкой силы нажатия.
Section "ServerFlags"
Option "AllowMouseOpenFail" "on"
EndSection
Второй путь - скачать и собрать утилитку init-gpen, которая зашлет нужные байты в планшет. Порядок действий такой:
1. sudo rmmod usbhid
2. ./init-gpen
3. sudo modprobe usbhid
4. Restart Xorg
Правда на 4-м пункте у меня иногда Х-сы не перегружаются. Я просто ребутаю всю систему. Главное не отключать планшет, иначе придется выполнять 1-4 пункты заново.
Для настройки кнопок пера нужно выполнить команду:
xinput set-button-map "WizardPen Tablet" 1 3 2
или, при возникновении проблем
xinput set-button-map "WizardPen Tablet" 1 0 0
Все. Планшет полностью готов к работе.
Сила нажатия пера работает в Gimp и inkscape. В Gimp заходим в Файл->Настройка->Устройства ввода->Конфигурирование устройств ввода, добавляем WizardPen Tablet, Режим - Экран.
Радуемся жизни, она прекрасна.
17 комментариев:
Hello. This post is likeable, and your blog is very interesting, congratulations :-). I will add in my blogroll =). If possible gives a last there on my blog, it is about the Home Theater, I hope you enjoy. The address is http://home-theater-brasil.blogspot.com. A hug.
Спасибо огромное, сейчас будем пробовать! А то уже второй месяц планшет валяется в ящике стола.
Спасибо за интересную статью.
Статья хорошая, только вот я не могу создать файл rules т.к. etc/udev/rules принадлежит root'у, а войти под рутом у меня не получается...
Сори, разобрался, все сделал - не работает! то есть работает как и с самого начала, без всего этого - не учитывает силу нажатия и при отрыве стилуса от планшета думает что нажимается кнопка...
добрвй день. я плохо разбираюсьв таких вещах.
я преобрел планшет G-Pen 560
драйвер с компакт диска устанавливался некоректно.
И после недолгого пользования отказался работать вообще.
Скачивал драйвер с сайта. та же проблема.
Драйвер вроде бы устанвавливается. но не запускается приложение настроек планшета.
(пробовал на 3х разных компьютерах)
планшет ни как не реагирует. при загрузке Видновс индикатор наченает мигать, что говорит о том что с самим планшетом все впорядке.
Он не работает дажекакмішка (((
ПОмогите пожалуста решить эту проблемму. Нигде полезной информации не нашел
aleksde, ХЗ, под виндой у меня лично все работает.. драйвер скачивал с их сайта. А здесь вообще-то обсуждается планшет не под windows а под linux..
П.С. забил я на попытки настроить планшет г-пен под убунтой.. куплю себе ваком=)
Посмотрите по ссылке -->> https://help.ubuntu.com/community/TabletSetupWizardpen
Всё есть что необходимо, в том числе новый драйвер ;) Убунтейцы толковые ребята, всегда эт знал.
/TabletSetupWizardpen
мда, после таких статей понимаешь почему линукс не сильно популярен.
А с watcom'овскими планшетами ситуация лучше? Или же такие же пляски приходиться совершать?
felix, с вакомовским дела получше, но некоторые пляски всеже надо будет исполнить=) но их намного меньше понадобится) в убунте 8.04 ваком работал замечательно. обновился до 8.10 - появились косяки...
8.10 еще не стабильна, может поэтому косяки.
Всё работает, кроме того, что никак не реагирует на нажатия. Когда запустил wizardpen-calibrate, оно всё прекрасно определило, т.е. на нажатия среагировало. Но в гноме ничего не могу нажать. В чем может быть дело?
у меня после
Перезапускаем udev:
sudo /etc/int.d/udev restart
В директории /dev/ НЕ появится ссылка tablet-event.(((
Ubuntu 9.04 что делать?
Та же проблема...
Спасибо за новост
А в opensuse этот способ сработает?
Отправить комментарий