Como você desativa o toque em um Wacom Bamboo CTH-470?

9

Comprei recentemente para minha namorada um Wacom Bamboo CTH-470 e está funcionando bem após a instalação do wacom-dkms. Agora colidi com um muro que não sei como contornar. O toque no tablet não será desligado. Estou executando o Ubuntu 12.04 Beta 2. Tentei desativar o toque nas configurações do wacom no menu de configurações. A caneta e o toque funcionam perfeitamente bem, é só que o toque a deixa louca ao tentar desenhar em myPaint.

Foxx
fonte

Respostas:

14

Editar

Ao verificar os comentários e outras respostas, parece que alguns ainda estão procurando um toque de alternância usando os botões do tablet. Se você quer apenas três coisas (mostradas no Ubuntu / Unity):

  1. Um comando simples (que pode ser executado no terminal ou em um arquivo de script)

A solução da randompast com um comando de 1 linha é boa e pode ser transformada em um comando de alternância de 1 linha mais conveniente:

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")}'

Você não precisa disso se já possui seu próprio script ou linha de comando, mas é uma maneira conveniente de alternar o toque dos tablets conectados sem saber o nome ou o ID dos tablets.

  1. Configurar um atalho de teclado

Se você quiser executar isso sem o terminal, salve o script em um arquivo, torne-o executável e crie um atalho de teclado para ele. Isso ocorre porque você não pode atribuir um comando diretamente aos botões do tablet (mas pode atribuir um pressionamento de tecla ...).

No Unity, abra Configurações do sistema> Teclado> Atalhos e crie um novo atalho. Evite a tecla Super, pois ela nem sempre funciona na etapa 3.

Como comando, coloque o nome do seu arquivo de script (caminho completo, entre aspas simples, se você não tiver certeza, arraste o arquivo em um terminal e use o comando criado).

insira a descrição da imagem aqui

  1. Atribua o pressionamento de tecla do atalho ao seu botão

Abra Configurações do sistema> Wacom Tablet> Botões de mapa ... e atribua a tecla que você escolheu ao seu botão.

Para saber a qual botão você pode primeiro atribuir letras a eles sem modificador, selecione um campo de texto e pressione os botões para ver a qual letra eles correspondem.

insira a descrição da imagem aqui

Aqui, cuidado: nem todos os botões serão reconhecidos (3 em 4 para o meu Bamboo) e nem todas as teclas funcionarão (não consigo usar nenhuma com a tecla Super para funcionar). Você terá que tentar combinações diferentes.

Resposta original (para aprender os comandos)

Configurei minha caneta e toque há mais de um ano, para que eu possa estar errado aqui. O que eu costumo fazer é executar em um terminal:

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

Isso não funcionará para você, pois você tem outro tablet, então tente primeiro

xsetwacom

que deve fornecer os parâmetros a serem usados. Primeiro você precisa obter o nome do seu dispositivo (vamos chamá-lo DEVICE_NAME), então tente:

xsetwacom --list devices

Isso me dá a minha caneta e toque:

Wacom BambooPT 2FG 4x5 Caneta apagador id: 11 tipo:
ERASER Wacom BambooPT 2FG 4x5 Caneta caneta stylus: 12 tipo: STYLUS
Wacom BambooPT 2FG 4x5 Caneta id dedo: 13 tipo: PAD
Wacom BambooPT 2FG 4x5 Caneta id touch: 14 tipo: TOUCH

Obviamente, aquele que é do tipo TOUCH é o que desativa aqui. Aqui DEVICE_NAME seria Wacom BambooPT 2FG 4x5 Finger touch e DEVICE_ID seria 14. Você precisa saber qual parâmetro desativar, então tente:

xsetwacom --list parameters

Há uma infinidade de parâmetros para ativar / desativar e, para cada nome de parâmetro (vamos chamar de PARAM_NAME), o tipo de valor esperado é explicado. Nesse caso, queremos desativar o parâmetro Touch, o que você pode fazer com a opção --set . A sintaxe é:

xsetwacom --set "DEVICE_NAME"  PARAM_NAME  PARAM_VALUE

ou

xsetwacom --set DEVICE_ID  PARAM_NAME  PARAM_VALUE

Se você não tiver certeza do que colocar no lugar de PARAM_VALUE, tente a opção --get para ver o valor atual:

xsetwacom --get "DEVICE_NAME"  PARAM_NAME
Maxweel
fonte
3
Não esqueça que o xsetwacom não armazena as configurações; portanto, você precisa executar a linha de comando sempre que fizer logon na sua sessão. Por conveniência, você pode vincular o script a um atalho de teclado (para poder ativar / desativar o toque à vontade) ou até vinculá-lo a um botão ou tablet (nunca tentei).
Maxweel
1
Isso é bastante útil, mas eu gostaria de atribuir a função Touch ON / OFF ao botão no próprio tablet, o que seria realmente útil, pois você não pode fazer isso nas Propriedades Wacom no menu Configurações do sistema . Porque ninguém se preocupou em atualizar as propriedades do Wacom corretamente para fornecer as funções para atribuir botões.
2

Aqui está uma solução de 1 linha:

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

Escrevi esse script para poder controlar a ativação / desativação do toque, independentemente do computador em que conecto o tablet (porque esses IDs mudam entre as máquinas). Você também pode achar útil.

#!/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)

Eu coloquei esse script em / usr / local / bin junto com esses dois scripts simples do bash para chamá-lo sem precisar lembrar os parâmetros ...

kermit-hw-bambu-untouch:

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

kermit-hw-bambu-touch:

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

Dito isto, acho realmente triste que não haja melhor suporte para tablets no Ubuntu. Talvez um dia a Wacom também mostre alguma atenção à nossa comunidade ...

metakermit
fonte
0

Jogando outro script no lote, escrevi este para mim. Eu o tenho em um arquivo executável wacomtouchem uma .scriptspasta que adicionei ao caminho do meu ambiente. Assim, para desativar o toque, só preciso executar wacomtouch off. Ele detecta automaticamente todos os parâmetros, portanto, teoricamente, funciona automaticamente com qualquer tablet Wacom.

(Isso depende do pcregreppacote.)

#!/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
CodeMouse92
fonte