你怎么关掉Wacom Bamboo CTH-470?

我最近给我的女朋友买了一台Wacom Bamboo CTH-470,在安装了wacom-dkms之后运行良好。 我现在遇到了一堵墙,我不知道如何绕行。 平板电脑上的触摸不会关闭。 我正在运行Ubuntu 12.04 Beta 2.我尝试从设置菜单中的wacom设置关闭触摸。 笔和触摸都可以完美地工作,只是在尝试绘制myPaint时触摸会让她疯狂。

编辑

检查评论和其他答案看起来有些仍在寻找使用平板电脑的按钮切换触摸。 如果你只是想要你需要3件事(显示为Ubuntu / Unity):

  1. 一个简单的命令(可以在终端或脚本文件中运行)

使用1行命令的randompast解决方案很不错,可以转换为更方便的1行切换命令:

xsetwacom --list | grep --line-buffered "TOUCH" | awk '{system("echo "$8";xsetwacom --get "$8" TOUCH;")}' | tr "\n" " " | awk '$2 == "off" {system("xsetwacom --set "$1" TOUCH on")} $2 == "on" {system("xsetwacom --set "$1" TOUCH off")}' 

如果您已经拥有自己的脚本或命令行,则不需要这样做,但这是一种在不知道平板电脑名称或ID的情况下切换连接平板电脑的便捷方式。

  1. 设置键盘快捷键

如果要在没有终端的情况下运行此操作,则需要将脚本保存在文件中,使其可执行并为其创建键盘快捷键。 那是因为您无法直接将命令分配给平板电脑的按钮(但您可以指定按键…)。

在Unity中打开系统设置>键盘>快捷方式并创建新的快捷方式。 避免使用超级密钥,因为它可能并不总是在步骤3中起作用。

作为命令,输入脚本文件的名称(完整路径,单引号之间,如果您不确定,则将文件拖放到终端并使用创建的命令)。

在此处输入图像描述

  1. 将快捷键的按键分配给按钮

打开系统设置> Wacom数位板>地图按钮…并将您选择的按键分配给按钮。

要知道哪个按钮可以首先为它们分配没有修饰符的字母,请选择一个文本字段并按下按钮以查看它们对应的字母。

在此处输入图像描述

这里要注意:并不是所有的按钮都会被识别(我的Bamboo中有4个按钮)并且不是所有按键都能正常工作(我无法使用Super键工作)。 你必须尝试不同的组合。

原始答案(学习命令)

我在一年前设置了Pen&Touch,所以我可能在这里错了。 我通常做的是在终端中运行:

 xsetwacom --set "Wacom BambooPT 2FG 4x5 Finger touch" touch off 

这对你不起作用,因为你有另一个平板电脑,所以先试试

 xsetwacom 

哪个应该给你使用的参数。 首先,您需要获取设备的名称(我们称之为DEVICE_NAME),请尝试:

 xsetwacom --list devices 

这让我的笔和触摸:

Wacom BambooPT 2FG 4×5笔式橡皮擦id:11型:橡皮擦
Wacom BambooPT 2FG 4×5笔式手写笔id:12型:STYLUS
Wacom BambooPT 2FG 4×5手指垫id:13型:PAD
Wacom BambooPT 2FG 4×5手指触摸id:14类型:触摸

显然,TOUCH类型的那个是在这里禁用的那个。 这里DEVICE_NAME将是Wacom BambooPT 2FG 4×5手指触摸 ,DEVICE_ID将是14.然后你需要知道要禁用哪个参数,所以尝试:

 xsetwacom --list parameters 

有许多参数可用于启用/禁用,并且对于每个参数名称(让我们称之为PARAM_NAME),将解释预期值的类型。 在这种情况下,我们要将Touch参数关闭,您可以使用–set选项。 语法是:

 xsetwacom --set "DEVICE_NAME" PARAM_NAME PARAM_VALUE 

要么

 xsetwacom --set DEVICE_ID PARAM_NAME PARAM_VALUE 

如果您不确定要替换PARAM_VALUE的内容,请尝试使用–get选项查看当前值:

 xsetwacom --get "DEVICE_NAME" PARAM_NAME 

这是一个单行解决方案:

 xsetwacom --list | grep --line-buffered "TOUCH" | awk '{system("xsetwacom --set "$8" touch off")}' 

我编写了这个脚本,这样无论我将平板电脑插入哪台计算机,我都可以控制打开/关闭触摸function(因为这些ID会在计算机之间发生变化)。 您可能会发现它也很有用。

 #!/usr/bin/python # kermit-internal-pytouch 0|1 import re, sys, subprocess resp = subprocess.Popen(['xinput', '-list'], stdout = subprocess.PIPE) out, err = resp.communicate() WacomLine = re.compile('Wacom') FingerLine = re.compile('Finger') idExpr=re.compile('id=(?P\d+)') for line in out.split("\n"): if WacomLine.search(line) and FingerLine.search(line): identifier = idExpr.search(line) num = identifier.group("number") subprocess.call(['xinput', '-set-prop', num, "Device Enabled", sys.argv[1]]) resp = subprocess.Popen(['xinput', '-list'], stdout = subprocess.PIPE) out, err = resp.communicate() print(out) 

我把这个脚本和/ usr / local / bin一起放在这两个简单的bash脚本中来调用它而不必记住参数……

克米特-HW-竹非触摸:

 #!/bin/bash kermit-internal-pytouch 0 exit 

克米特-HW-竹触摸:

 #!/bin/bash kermit-internal-pytouch 1 exit 

也就是说,我发现在Ubuntu中没有更好的平板电脑支持真的很难过。 也许有一天Wacom也会向我们的社区展示一些关注……

在批处理中抛出另一个脚本,我为自己写了这个。 我将它添加到我的环境路径中的.scripts文件夹中的可执行文件wacomtouch中。 因此,要禁用触摸,我只需要wacomtouch off 。 它会自动检测所有参数,因此理论上可以自动使用任何Wacom数位板。

(这依赖于pcregrep包。)

 #!/bin/bash STATUS="$1" #Isolate the id of the touch device automatically. rawID=`xsetwacom --list | pcregrep -M 'TOUCH' | pcregrep -o 'id\: \d*'` #Trim further device=`echo "$rawID" | grep -o "[0-9]\+"` xsetwacom --set $device touch $1 case $1 in on) echo "Tablet touch is ENABLED." ;; off) echo "Tablet touch is DISABLED." ;; *) echo "Invalid option. Must be either on or off." ;; esac