【半原创】Linux下驱动起你的Wacom!
原帖是我自己发的http://forum.ubuntu.org.cn/viewtopic.php?f=126&t=182227
没有版权问题
这个论坛不支持代码显示,建议大家去原帖的地址(版主:抢论坛生意……)
以下为复制来的:
论坛很多人都说他们驱动不起来自己的wacom手写笔,包括我自己哈~
Google一会就发现了外国的伙计们早解决了这个问题,本文其实就算是照抄了以下文章。
http://ubuntuforums.org/showthread.php?t=967147
https://help.ubuntu.com/community/Wacom
http://linuxwacom.sourceforge.net/index ... /srvlayout
可能有BUG和不足,大家来找找……找到了跟帖哈,我会及时更新的。我的email:mengzhuo1203#gmail.com
本文仅在IBM-X41T下测试成功,但是也很有可能适用其他Wacom的手写笔
1.安装Wacom的XX(我菜,不知道是啥)
代码:
sudo apt-get install xserver-xorg-input-wacom wacom-tools
2.重启后?(当时关键更新完了……需要重启)
代码:
xxd /dev/ttyS0
回车后,用笔在屏幕(或者别的)上画画,看看终端有没有反应(输出一些数据),可能里面的S0是可以改成别的数字只要你有很多手写板……
其他的USB驱动的手写笔可能要
代码:
xxd /dev/input/event0
或者
代码:
xxd /dev/input/wacom/
这一步其实就是测试有没有安装成功,可能命令相当于将内存里的数据展示出来。
3.修改/etc/X11/xorg.conf(在WIKI上是方案2,好吧,其实我两个都两个方案都用了)
配置文件后添加下面的东西(这是我的xorg.conf的一部分,X41T用户可以直接拿去不用改了)
代码:
Section "InputDevice"
Driver "wacom"
Identifier "stylus"
#Option "Device" "/dev/input/wacom" # USB ONLY?
Option "Device" "/dev/ttyS0" # SERIAL ONLY
Option "Type" "stylus"
Option "ForceDevice" "ISDV4" # Tablet PC ONLY
#Option "USB" "on" # USB ONLY
EndSection
Section "InputDevice"
Driver "wacom"
Identifier "eraser"
#Option "Device" "/dev/input/wacom" # USB ONLY?
Option "Device" "/dev/ttyS0" # SERIAL ONLY
Option "Type" "eraser"
Option "ForceDevice" "ISDV4" # Tablet PC ONLY
#Option "USB" "on" # USB ONLY
EndSection
Section "InputDevice"
Driver "wacom"
Identifier "cursor"
#Option "Device" "/dev/input/wacom" # USB ONLY?
Option "Device" "/dev/ttyS0" # SERIAL ONLY
Option "Type" "cursor"
Option "ForceDevice" "ISDV4" # Tablet PC ONLY
#Option "USB" "on" # USB ONLY
EndSection
Section "ServerLayout"
Identifier "Default Layout"
Screen "Default Screen"
InputDevice "stylus""SendCoreEvents"
InputDevice "eraser""SendCoreEvents"
InputDevice "cursor""SendCoreEvents" # For non-LCD tablets only
#InputDevice "pad" # For Intuos3/CintiqV5/Graphire4/Bamboo tablets
# InputDevice "touch" "SendCoreEvents" # Only a few TabletPCs support this type
EndSection
保存,退出。
里面前面有 # 的那行就是被注释掉的(即不起作用), # SERIAL ONLY指串口专用,USB only指USB接口的专用。
如果是USB的Wacom
代码:
Option "Device" "/dev/input/wacom" # USB ONLY?
里面把第2步中有输出数据的设备改进去
4.设置一个奇怪的文件(人菜……不知道这是什么,我觉得不必要,但是还是贴出来,这个是WIKI中的方案1)
代码:
gksudo gedit /etc/hal/fdi/policy/custom_wacom.fdi
把下面的内容贴进文件里
代码:
<?xml version="1.0" encoding="UTF-8"?> <!-- -*- SGML -*- -->
<deviceinfo version="0.2">
<device>
<match key="info.capabilities" contains="input">
<match key="info.product" contains="Wacom">
<merge key="input.x11_driver" type="string">wacom</merge>
<merge key="input.x11_options.Type" type="string">stylus</merge>
</match>
<match key="info.product" contains="WALTOP">
<merge key="input.x11_driver" type="string">wacom</merge>
<merge key="input.x11_options.Type" type="string">stylus</merge>
</match>
</match>
<!-- N-Trig Duosense Electromagnetic Digitizer -->
<match key="info.product" contains="HID 1b96:0001">
<match key="info.parent" contains="if0">
<merge key="input.x11_driver" type="string">wacom</merge>
<merge key="input.x11_options.Type" type="string">stylus</merge>
</match>
</match>
</device>
</deviceinfo>
5.重启让系统重新载入X配置(知道怎么不重启电脑又可以重启X的人喊一声)
:em05 :em05 大功告成!
可选:
6.X41T旋转屏幕的脚本
代码:
#!/bin/sh
output="(normal left inverted right)" #LVDS
# if [ "$XROT_OUTPUT" ]
# then
# output=$XROT_OUTPUT;
# fi
devices="stylus cursor"
geomnbr=0
xrandr=normal
wacom=normal
if [ "$1" == "-" ] || [ "$1" == "+" ] || ! [ "$1" ];
then
operator="$1";
[ "$1" ] || operator='+';
case `xrandr --verbose | grep "$output" | sed "s/^[^ ]* [^ ]* [^ ]* ([^(]*) \(*\).*/\1/"` in
normal) geom=0;;
left) geom=1;;
inverted) geom=2;;
right) geom=3;;
esac
let geom=${geom}${operator}1+4
let geom=${geom}%4
else
geom="$1"
fi
case $geom in
1) wacom=2; xrandr=left ;;
2) wacom=3; xrandr=inverted ;;
3) wacom=1; xrandr=right ;;
*) wacom=0; xrandr=normal ;;
esac
echo "xrandr to $xrandr, xsetwacom to $wacom" >&2
if xrandr -o "$xrandr"; then
for d in $devices
do
xsetwacom set "stylus" Rotate "$wacom"
done
fi
#workaround for linuxwacom bug
if [ "`xsetwacom get stylus Mode`" == '1' ]; then
for d in $devices
do
xsetwacom set stylus CoreEvent "off"
xsetwacom set stylus Mode "off"
done
{ sleep 1;
for d in $devices
do
xsetwacom set stylus Mode "on"
xsetwacom set stylus CoreEvent "on"
done; } &
fi
用的时候就加个参数(0,1,2,3)在后面,原文在http://www.thinkwiki.org/wiki/Wacom_Serial_Tablet_PC_Stylus
页:
[1]