web-dev-qa-db-fra.com

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

J'ai récemment acheté un Wacom Bamboo CTH-470 à ma copine, qui fonctionne bien après l'installation de Wacom-dkms. Je suis maintenant tombé sur un mur que je ne sais pas comment me déplacer. Le contact sur la tablette ne s'éteindra pas. J'utilise Ubuntu 12.04 Beta 2. J'ai essayé de désactiver le toucher depuis les paramètres de wacom du menu des paramètres. Le stylet et le toucher fonctionnent parfaitement, mais le toucher la rend folle en essayant de dessiner dans myPaint.

9
Foxx

Modifier

En vérifiant les commentaires et autres réponses, il semble que certains cherchent encore à utiliser les boutons de la tablette. Si vous voulez juste que vous ayez besoin de 3 choses (montrées pour Ubuntu/Unity):

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

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

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 votre propre ligne de commande, bien sûr, mais c’est un moyen pratique de basculer le contact des tablettes connectées sans connaître leur nom ou leur identifiant.

  1. Mettre en place un raccourci clavier

Si vous souhaitez exécuter ceci 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 risque de ne pas toujours fonctionner à l'étape 3.

En tant que commande, indiquez le nom de votre fichier de script (chemin complet, entre guillemets, si vous n’êtes pas sûr, faites-le glisser dans un terminal et utilisez la commande créée).

enter image description here

  1. Attribuer la frappe du raccourci à votre bouton

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

Pour savoir quel bouton est celui auquel vous pouvez d’abord attribuer des lettres sans modificateur, sélectionnez un champ de texte et appuyez sur les boutons pour voir la lettre à laquelle elles correspondent.

enter image description here

Ici, méfiez-vous: tous les boutons ne seront pas reconnus (3 sur 4 pour mon Bamboo) et toutes les touches ne fonctionneront pas (je ne peux en obtenir aucun 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, alors je me trompe peut-être ici. Ce que je fais habituellement est de courir 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 alors essayez d'abord

xsetwacom

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

xsetwacom --list devices

Cela me donne pour mon Pen & Touch:

Stylet gomme Wacom BambooPT 2FG 4x5, id: 11, type: EFFACER
Wacom BambooPT 2FG 4x5 Identifiant du stylet: 12 type: STYLE
Wacom BambooPT 2FG 4x5 Identifiant du pad de doigt: 13 type: PAD
Wacom BambooPT 2FG 4x5 Identification tactile: 14 Type: TOUCH

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

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 le bouton --ensemble option. La syntaxe est la suivante:

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
14
Maxweel

Voici une solution à 1 ligne:

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

En lançant un autre script dans le lot, j'ai écrit celui-ci pour moi-même. Je l'ai dans un fichier exécutable wacomtouchdans un dossier .scripts que j'ai ajouté à mon chemin d'accès à l'environnement. Ainsi, pour désactiver le toucher, je n'ai besoin que d'exécuter wacomtouch off. Il détecte automatiquement tous les paramètres et fonctionne donc théoriquement avec toutes les tablettes Wacom.

(Cela repose sur le package pcregrepname__.)

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

J'ai écrit ce script pour que je puisse contrôler l'activation/désactivation du toucher, quel que soit l'ordinateur sur lequel je branche la tablette (car ces identifiants changent d'une machine à l'autre). Vous pourriez trouver cela utile aussi.

#!/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 à mémoriser les 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 dommage qu’il n’y ait pas de meilleure prise en charge des tablettes dans Ubuntu. Peut-être qu'un jour Wacom attirera également l'attention de notre communauté ...

0
metakermit