Comment désactiver le toucher sur un Wacom Bamboo CTH-470?

9

J'ai acheté récemment à ma petite amie un Wacom Bamboo CTH-470 et il fonctionne bien après l'installation de wacom-dkms. Je suis maintenant tombé sur un mur que je ne sais pas comment contourner. Le toucher sur la tablette ne s'éteindra pas. J'utilise Ubuntu 12.04 Beta 2. J'ai essayé de désactiver le contact depuis les paramètres wacom dans le menu des paramètres. Le stylet et le toucher fonctionnent parfaitement bien, c'est juste que le toucher la rend folle lorsqu'elle essaie de dessiner dans myPaint.

Foxx
la source

Réponses:

14

Éditer

En vérifiant les commentaires et autres réponses, il semble que certains recherchent toujours le basculement tactile à l'aide des boutons de la tablette. Si vous voulez juste que vous ayez besoin de 3 choses (affichées pour Ubuntu / Unity):

  1. Une commande simple (qui peut être exécutée dans le terminal ou dans un fichier script)

La solution de randompast avec une commande 1 ligne est agréable et peut être transformée en une commande bascule 1 ligne plus pratique:

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

Vous n'avez pas besoin de cela si vous avez déjà votre propre script ou ligne de commande, bien sûr, mais c'est un moyen pratique de basculer le toucher des tablettes connectées sans connaître le nom ou l'identifiant des tablettes.

  1. Configurer un raccourci clavier

Si vous souhaitez l'exécuter sans le terminal, vous devez enregistrer le script dans un fichier, le rendre exécutable et créer un raccourci clavier pour celui-ci. C'est parce que vous ne pouvez pas assigner une commande directement aux boutons de la tablette (mais vous pouvez assigner une frappe ...).

Dans Unity, ouvrez Paramètres système> Clavier> Raccourcis et créez un nouveau raccourci. Évitez la touche Super car elle ne fonctionnera pas toujours à l'étape 3.

Comme commande, mettez le nom de votre fichier de script (chemin complet, entre guillemets simples, si vous n'êtes pas sûr, glissez-déposez le fichier dans un terminal et utilisez la commande créée).

entrez la description de l'image ici

  1. Attribuez la séquence de touches du raccourci à votre bouton

Ouvrez Paramètres système> Tablette Wacom> Boutons de carte ... et affectez la touche que vous avez choisie à votre bouton.

Pour savoir à quel bouton vous pouvez d'abord leur affecter des lettres sans modificateur, sélectionnez un champ de texte et appuyez sur les boutons pour voir à quelle lettre ils correspondent.

entrez la description de l'image ici

Attention, tous les boutons ne seront pas reconnus (3 sur 4 pour mon Bamboo) et toutes les frappes ne fonctionneront pas (je ne peux pas en obtenir avec la touche Super ). Vous devrez essayer différentes combinaisons.

Réponse originale (pour apprendre les commandes)

J'ai installé mon Pen & Touch il y a plus d'un an, donc je peux me tromper ici. Ce que je fais habituellement est exécuté dans un terminal:

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

Cela ne fonctionnera pas pour vous car vous avez une autre tablette, essayez d'abord

xsetwacom

qui devrait vous donner les paramètres à utiliser. Vous devez d'abord obtenir le nom de votre appareil (appelons-le DEVICE_NAME), alors essayez:

xsetwacom --list devices

Cela me donne pour mon Pen & Touch:

Wacom BambooPT 2FG 4x5 Pen gomme id: 11 type: ERASER
Wacom BambooPT 2FG 4x5 Pen stylet id: 12 type: STYLUS
Wacom BambooPT 2FG 4x5 Finger pad id: 13 type: PAD
Wacom BambooPT 2FG 4x5 Finger touch id: 14 type: TOUCH

Evidemment celui qui est de type TOUCH est celui à désactiver ici. Ici DEVICE_NAME serait Wacom BambooPT 2FG 4x5 Finger touch et DEVICE_ID serait 14. Ensuite, vous devez savoir quel paramètre désactiver, alors essayez:

xsetwacom --list parameters

Il y a une pléthore de paramètres à activer / désactiver, et pour chaque nom de paramètre (appelons cela PARAM_NAME) le type de valeur attendu est expliqué. Dans ce cas, nous voulons désactiver le paramètre Touch, ce que vous pouvez faire avec l' option --set . La syntaxe est:

xsetwacom --set "DEVICE_NAME"  PARAM_NAME  PARAM_VALUE

ou

xsetwacom --set DEVICE_ID  PARAM_NAME  PARAM_VALUE

Si vous ne savez pas quoi mettre à la place de PARAM_VALUE, essayez l'option --get pour voir la valeur actuelle:

xsetwacom --get "DEVICE_NAME"  PARAM_NAME
Maxweel
la source
3
N'oubliez pas que xsetwacom ne stocke pas les paramètres, vous devez donc exécuter la ligne de commande chaque fois que vous vous connectez à votre session. Pour plus de commodité, vous pouvez avoir le script lié à un raccourci clavier (pour pouvoir activer / désactiver le toucher à volonté) ou vous pouvez même le lier à un bouton ou à votre tablette (jamais essayé cependant).
Maxweel
1
C'est assez utile, mais j'aimerais pouvoir attribuer la fonction Touch ON / OFF au bouton de la tablette elle-même, ce qui serait vraiment utile, car vous ne pouvez pas le faire à partir des propriétés Wacom dans le menu Paramètres système . Parce que personne n'a pris la peine de mettre à jour les propriétés Wacom correctement pour lui donner les fonctions d'attribution des boutons.
2

Voici une solution à 1 ligne:

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

J'ai écrit ce script afin de pouvoir contrôler l'activation / la désactivation du toucher, quel que soit l'ordinateur auquel je branche la tablette (car ces ID changent entre les machines). Vous pourriez également le trouver utile.

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

J'ai mis ce script dans / usr / local / bin avec ces deux scripts bash simples pour l'appeler sans avoir à me souvenir des paramètres ...

kermit-hw-bamboo-untouch:

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

kermit-hw-bamboo-touch:

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

Cela dit, je trouve vraiment triste qu'il n'y ait pas de meilleur support pour les tablettes dans Ubuntu. Peut-être qu'un jour Wacom montrera à notre communauté une certaine attention aussi ...

metakermit
la source
0

Jetant encore un autre script dans le lot, j'ai écrit celui-ci pour moi. Je l'ai dans un fichier exécutable wacomtouchdans un .scriptsdossier que j'ai ajouté à mon chemin d'accès à l'environnement. Ainsi, pour désactiver le toucher, je n'ai qu'à exécuter wacomtouch off. Il détecte automatiquement tous les paramètres, il fonctionne donc théoriquement avec n'importe quelle tablette Wacom automatiquement.

(Cela dépend du pcregreppackage.)

#!/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
la source