我正在使用 Ubuntu 12.10 并且我正在运行双屏幕(23 英寸和 15 英寸)。我有一个 wacom intuos 2 9x12,它不能正确映射到我的第二台显示器,它也是 9x12(1400x1050)。我需要解决这个问题的原因是因为我创建了一个自制的 cintiq 并在屏幕上绘图(你可以在这里看到我在说什么:http : //forum.bongofish.co.uk/index.php?topic =2096.0)。笔在我屏幕的 x 轴上非常准确地匹配,所以我相信我的 wacom 数位板区域的宽度是可以的。我认为问题是我的 wacom 的 y 轴。光标与我的笔在屏幕底部相匹配,但是当我移动到屏幕顶部时,我的笔尖到光标的距离增加了(在屏幕顶部时,光标在笔下方约 1 英寸)。
我在互联网上看了几个小时试图找到解决方案,但我找不到任何解决方案。
另外,我想说这个问题只发生在Ubuntu中,我也安装了Windows 7,并且wacom与屏幕完美匹配。我也是 linux 的完全菜鸟,所以我不太了解导航终端。
Sta*_*uck 18
首先,确定您的系统如何识别您的平板电脑。
在终端输入:xsetwacom --list devices
Wacom BambooPT 2FG 4x5 Pen stylus id: 10 type: STYLUS
Wacom BambooPT 2FG 4x5 Finger touch id: 11 type: TOUCH
Wacom BambooPT 2FG 4x5 Pad pad id: 12 type: PAD
Wacom BambooPT 2FG 4x5 Pen eraser id: 17 type: ERASER
接下来确定将平板电脑映射到系统显示设置或终端中的哪个显示器或“输出”,xrandr --listactivemonitors
在我的系统上显示:
0: +*HDMI-2 1920/521x1080/293+1600+0 HDMI-2
1: +HDMI-1 1600/443x900/249+0+0 HDMI-1
最后,使用您刚刚收集的信息,使用
xsetwacom --set "[YourWacomDevice]" MapToOutput [your display]
(对列出的每个设备重复)。
[YourWacomDevice] = 设备名称或ID:#
所以,对我来说就是
xsetwacom --set "10" MapToOutput HDMI-2
xsetwacom --set "11" MapToOutput HDMI-2
xsetwacom --set "12" MapToOutput HDMI-2
xsetwacom --set "17" MapToOutput HDMI-2
由于这些设置在重新启动后不会保留,您可能希望将它们保存在启动时运行的脚本中。
使用xsetwacom --help
列出可能的选项和命令。使用该--list parameters
命令,我们可以看到所有支持参数的列表。该列表的末尾是MapToOutput - Map the device to the given output.
man xsetwacom
将显示它的手动输入,或者您可以在这里阅读
有关识别和配置显示器的更多信息,xrandr
请阅读此问题
感谢@RyanWC 和@user1355 为我指明了正确的方向。
小智 6
我发现我的问题是什么了。Intuos2 wacom 数位板有一个分配的数位板区域,用于与笔配合使用的自定义按钮。
在 Windows 中,它们被配置为可见。在 Ubuntu 中,该部分作为区域的一部分包含在内,这会扭曲映射。为了解决这个问题,我必须将我的配置xsetwacom "device name" Area 0 0 30480 24060
为Area 0 1400 30480 24060
.
我仍然想知道如何使更改永久化。我现在所能做的就是编写一个启动脚本来执行此操作,但效果不是很好。
小智 5
不知道这是否对您有帮助,但我有一个包含以下内容的脚本:
xsetwacom set "Wacom BambooFun 6x8 stylus" MapToOutput HEAD-0
xsetwacom set "Wacom BambooFun 6x8 eraser" MapToOutput HEAD-0
Run Code Online (Sandbox Code Playgroud)
这似乎正确地将手写笔和橡皮擦映射到我的主显示器。我不记得我最初从哪里得到它,也不记得在它工作之前是否必须进行任何配置。
在启动时运行脚本对我来说似乎很好。
小智 5
这是一个基于星巴克答案的小 bash 脚本,它将所有 wacom 设备的显示器输出更改为您的主显示器(或给定显示器的ID,如果作为参数提供)。
#!/bin/bash
#check if monitor number was given
if test -z "$1"
then
#no monitor number was given, use the main display
MON_NO=0
else
MON_NO=$1
fi
#get connection of monitor with number $MON_NO
MON_CON=$(xrandr --listactivemonitors | grep "$MON_NO:" | tr -s " " | cut -d " " -f 5)
#check if monitors id could be found
if test -z "$MON_CON"
then
#no monitor with given number found!
echo "no monitor with number $MON_NO was found!"
MON_COUNT=$(xrandr --listactivemonitors | grep "Monitors:" | cut -d " " -f 2)
echo "(A total of $MON_COUNT monitors were found.)"
exit -1
fi
#for each id of wacom devices set correct output monitor
xsetwacom list devices |
while IFS= read -r line; do
#get id of wacom device in line
WACOM_ID="$(echo $line | sed 's/.*id: //' | cut -d " " -f 1)"
#set monitor as output
xsetwacom --set $WACOM_ID MapToOutput $MON_CON
done
echo "Changed monitor for all wacom devices."
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
14533 次 |
最近记录: |