Как отключить сенсорный экран на Wacom Bamboo CTH-470?

Недавно я купил своей девушке Wacom Bamboo CTH-470, и она хорошо работает после установки wacom-dkms. Теперь я столкнулся со стеной, которую я не знаю, как обойти. Тач на планшете не выключится. Я использую Ubuntu 12.04 Beta 2. Я попытался отключить сенсорный экран из настроек wacom в меню настроек. Перо и касание работают отлично, просто прикосновение сводит ее с ума, когда я пытаюсь рисовать в myPaint.

4 ответа

Решение

редактировать

Проверяя комментарии и другие ответы, кажется, что некоторые все еще ищут переключение касания с помощью кнопок планшета. Если вы просто хотите, чтобы вам понадобилось 3 вещи (показано для Ubuntu/Unity):

  1. Простая команда (которую можно запустить в терминале или в файле скрипта)

Решение randompast с командой из 1 строки приятно и может быть превращено в более удобную команду переключения из 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")}'

Конечно, вам это не нужно, если у вас уже есть собственный сценарий или командная строка, но это удобный способ переключать касание подключенных планшетов, не зная их имени и идентификатора.

  1. Настройте сочетание клавиш

Если вы хотите запустить это без терминала, вам нужно сохранить скрипт в файле, сделать его исполняемым и создать для него комбинацию клавиш. Это потому, что вы не можете назначить команду непосредственно кнопкам планшета (но вы можете назначить нажатие клавиши...).

В Unity откройте " Системные настройки"> "Клавиатура"> "Ярлыки" и создайте новый ярлык. Избегайте супер ключа, так как он не всегда может работать на шаге 3.

В качестве команды введите имя файла скрипта (полный путь, между одинарными кавычками, если вы не уверены, перетащите файл в терминал и используйте созданную команду).

  1. Назначьте сочетание клавиш для вашей кнопки

Откройте "Настройки системы"> "Планшет Wacom"> "Кнопки карты"... и назначьте нажатие выбранной вами клавиши.

Чтобы узнать, какой кнопке вы можете присвоить им буквы без модификатора, выделите текстовое поле и нажмите кнопки, чтобы увидеть, какой букве они соответствуют.

Здесь будьте осторожны: не все кнопки будут распознаваться (3 из 4 для моего Bamboo), и не все нажатия клавиш будут работать (я не могу заставить их работать с помощью клавишиSuper). Вам придется попробовать разные комбинации.

Оригинальный ответ (для изучения команд)

Я настроил Pen & Touch более года назад, поэтому я могу ошибаться. Обычно я запускаю в терминале:

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

Это не будет работать для вас, так как у вас есть другой планшет, поэтому попробуйте сначала

xsetwacom

который должен дать вам параметры для использования. Сначала вам нужно получить имя вашего устройства (назовем его DEVICE_NAME), поэтому попробуйте:

xsetwacom --list devices

Это дает мне для моего Pen & Touch:

Wacom BambooPT 2FG 4x5 ластик для ручки ID: 11 тип: ERASER
Wacom BambooPT 2FG 4x5 Pen стилус id: 12 тип: СТИЛЬ
Wacom BambooPT 2FG 4x5 Код: 13 тип: PAD
Wacom BambooPT 2FG 4x5 касание пальцем id: 14 тип: TOUCH

Очевидно, что тот, который имеет тип TOUCH, является тем, чтобы отключить здесь. Здесь DEVICE_NAME будетWacom BambooPT 2FG 4x5 Finger touch, а 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

Вот решение в 1 строку:

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

Бросив еще один скрипт в пакет, я написал этот для себя. У меня это в исполняемом файле wacomtouch в .scripts папка, которую я добавил в мой путь к среде. Таким образом, чтобы отключить сенсорный, мне нужно только запустить 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

Я написал этот скрипт, чтобы я мог контролировать включение / выключение касания независимо от того, к какому компьютеру я подключаю планшет (поскольку эти идентификаторы меняются между компьютерами). Вы также можете найти это полезным.

#!/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<number>\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-бамбукового Untouch:

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

Кермит-HW-бамбуковое касание:

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

Тем не менее, мне очень жаль, что в Ubuntu нет лучшей поддержки для планшетов. Возможно, однажды Wacom также покажет нашему сообществу некоторое внимание...

Другие вопросы по тегам