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

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

9
задан 30 November 2012 в 21:27

4 ответа

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

xsetwacom --list | grep --line-buffered "TOUCH" | awk '{system("xsetwacom --set "$8" touch off")}'
0
ответ дан 30 November 2012 в 21:27

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

#!/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 наряду с этими двумя простыми сценариями удара для вызова его, не имея необходимость помнить параметры...

kermit-hw-bamboo-untouch:

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

kermit-hw-bamboo-touch:

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

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

0
ответ дан 30 November 2012 в 21:27

Бросив еще один скрипт в пакет, я написал этот для себя. У меня есть это в исполняемом файле 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
0
ответ дан 30 November 2012 в 21:27

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

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

  1. Простая команда (которую можно запустить в терминале или в файле сценария)
[ 1127] Решение 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 откройте Системные настройки> Клавиатура> Сочетания клавиш и создайте новый ярлык. Избегайте клавиши Super , так как она не всегда работает на шаге 3.

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

enter image description here

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

Открыть Системные настройки> Wacom Tablet> Кнопки карты ... и назначьте нажатие клавиши для вашей кнопки.

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

enter image description here

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

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

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

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

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

xsetwacom

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

xsetwacom --list devices

Это даст мне перо и усилитель; Сенсорный:

Идентификатор ластика пера Wacom BambooPT 2FG 4x5: 11 тип: ERASER
Идентификатор стилуса Wacom BambooPT 2FG 4x5: 12 тип: STYLUS
Подушка для пальцев Wacom BambooPT 2FG 4x5 id: 13 тип: PAD
Wacom BambooPT 2FG 4x5 идентификатор касания пальцем id: 14 type: 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, чтобы увидеть текущее значение: [ 1146]

xsetwacom --get "DEVICE_NAME"  PARAM_NAME
0
ответ дан 30 November 2012 в 21:27

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

Похожие вопросы: