Wie schalten Sie die Berührung eines Wacom Bamboo CTH-470 aus?

9

Ich habe meiner Freundin kürzlich einen Wacom Bamboo CTH-470 gekauft, der nach der Installation von wacom-dkms gut läuft. Ich bin jetzt gegen eine Wand gelaufen, die ich nicht umgehen kann. Die Berührung auf dem Tablet lässt sich nicht ausschalten. Ich verwende Ubuntu 12.04 Beta 2. Ich habe versucht, den Touch über die Wacom-Einstellungen im Einstellungsmenü auszuschalten. Der Stift und die Berührung funktionieren beide einwandfrei. Es ist nur so, dass die Berührung sie wahnsinnig macht, wenn sie versucht, in myPaint zu zeichnen.

Foxx
quelle

Antworten:

14

Bearbeiten

Wenn Sie die Kommentare und andere Antworten überprüfen, sieht es so aus, als würden einige immer noch nach Umschalttasten mit den Tasten des Tablets suchen. Wenn du nur das willst, brauchst du 3 Dinge (gezeigt für Ubuntu / Unity):

  1. Ein einfacher Befehl (der im Terminal oder in einer Skriptdatei ausgeführt werden kann)

Die Lösung von randompast mit einem 1-zeiligen Befehl ist nett und kann in einen bequemeren 1-zeiligen Umschaltbefehl umgewandelt werden:

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

Sie brauchen das natürlich nicht, wenn Sie bereits über ein eigenes Skript oder eine eigene Befehlszeile verfügen, aber es ist eine bequeme Möglichkeit, die Berührung verbundener Tablets umzuschalten, ohne den Namen oder die ID des Tablets zu kennen.

  1. Richten Sie eine Tastenkombination ein

Wenn Sie dies ohne Terminal ausführen möchten, müssen Sie das Skript in einer Datei speichern, ausführbar machen und eine Tastenkombination dafür erstellen. Das liegt daran, dass Sie den Tasten des Tablets keinen Befehl direkt zuweisen können (aber Sie können einen Tastendruck zuweisen ...).

Öffnen Sie in Unity Systemeinstellungen> Tastatur> Verknüpfungen und erstellen Sie eine neue Verknüpfung. Vermeiden Sie den Super- Schlüssel, da er in Schritt 3 möglicherweise nicht immer funktioniert.

Geben Sie als Befehl den Namen Ihrer Skriptdatei ein (vollständiger Pfad zwischen einfachen Anführungszeichen, wenn Sie sich nicht sicher sind, ziehen Sie die Datei per Drag & Drop in ein Terminal und verwenden Sie den erstellten Befehl).

Geben Sie hier die Bildbeschreibung ein

  1. Weisen Sie Ihrer Schaltfläche den Tastenanschlag der Verknüpfung zu

Öffnen Sie Systemeinstellungen> Wacom Tablet> Kartenschaltflächen ... und weisen Sie Ihrer Schaltfläche den von Ihnen gewählten Tastenanschlag zu.

Um zu wissen, welche Schaltfläche welche ist, können Sie ihnen zuerst Buchstaben ohne Modifikator zuweisen, wählen Sie ein Textfeld aus und drücken Sie die Schaltflächen, um zu sehen, welchem ​​Buchstaben sie entsprechen.

Geben Sie hier die Bildbeschreibung ein

Hier Vorsicht: Nicht alle Tasten werden erkannt (3 von 4 für meinen Bambus) und nicht alle Tastenanschläge funktionieren (mit der Super- Taste kann ich keine zum Laufen bringen). Sie müssen verschiedene Kombinationen ausprobieren.

Ursprüngliche Antwort (um die Befehle zu lernen)

Ich habe meinen Pen & Touch vor über einem Jahr eingerichtet, damit ich mich hier irre. Was ich normalerweise mache, ist in einem Terminal zu laufen:

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

Dies funktioniert bei Ihnen nicht, da Sie ein anderes Tablet haben. Versuchen Sie es also zuerst

xsetwacom

Das sollte Ihnen die zu verwendenden Parameter geben. Zuerst müssen Sie den Namen Ihres Geräts abrufen (nennen wir es DEVICE_NAME). Versuchen Sie also Folgendes:

xsetwacom --list devices

Dies gibt mir für meinen Pen & Touch:

Wacom BambooPT 2FG 4x5 Radiergummi-ID: 11 Typ: ERASER
Wacom BambooPT 2FG 4x5 Stift-Stift-ID: 12 Typ: STYLUS
Wacom BambooPT 2FG 4x5 Fingerpad-ID: 13 Typ: PAD
Wacom BambooPT 2FG 4x5 Fingerberührungs-ID: 14 ​​Typ: TOU

Offensichtlich ist derjenige, der vom Typ TOUCH ist, derjenige, der hier deaktiviert wird. Hier wäre DEVICE_NAME Wacom BambooPT 2FG 4x5 Finger Touch und DEVICE_ID wäre 14. Dann müssen Sie wissen, welcher Parameter deaktiviert werden soll. Versuchen Sie also:

xsetwacom --list parameters

Es gibt eine Vielzahl von Parametern zum Aktivieren / Deaktivieren, und für jeden Parameternamen (nennen wir diesen PARAM_NAME) wird der erwartete Werttyp erläutert. In diesem Fall möchten wir den Touch-Parameter deaktivieren , was Sie mit der Option --set tun können . Die Syntax lautet:

xsetwacom --set "DEVICE_NAME"  PARAM_NAME  PARAM_VALUE

oder

xsetwacom --set DEVICE_ID  PARAM_NAME  PARAM_VALUE

Wenn Sie nicht sicher sind, was Sie anstelle von PARAM_VALUE einsetzen sollen, versuchen Sie die Option --get, um den aktuellen Wert anzuzeigen:

xsetwacom --get "DEVICE_NAME"  PARAM_NAME
Maxweel
quelle
3
Vergessen Sie nicht, dass xsetwacom die Einstellungen nicht speichert. Sie müssen daher die Befehlszeile jedes Mal ausführen, wenn Sie sich bei Ihrer Sitzung anmelden. Der Einfachheit halber können Sie das Skript an eine Tastenkombination binden lassen (um Berührungen nach Belieben aktivieren / deaktivieren zu können), oder Sie können es sogar an eine Schaltfläche oder Ihr Tablet binden (haben es jedoch nie ausprobiert).
Maxweel
1
Dies ist ziemlich nützlich, aber ich möchte die Touch ON / OFF-Funktion der Taste auf dem Tablet selbst zuweisen können, was sehr hilfreich wäre, da Sie dies nicht über die Wacom-Eigenschaften im Menü Systemeinstellungen tun können . Weil sich niemand die Mühe gemacht hat, die Wacom-Eigenschaften ordnungsgemäß zu aktualisieren, um die Funktionen zum Zuweisen von Schaltflächen zu erhalten.
2

Hier ist eine 1-Zeilen-Lösung:

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

Ich habe dieses Skript geschrieben, damit ich das Ein- und Ausschalten von Touch steuern kann, unabhängig davon, an welchen Computer ich das Tablet anschließe (da sich diese IDs zwischen den Computern ändern). Vielleicht finden Sie es auch nützlich.

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

Ich habe dieses Skript zusammen mit diesen beiden einfachen Bash-Skripten in / usr / local / bin abgelegt, um es aufzurufen, ohne mich an die Parameter erinnern zu müssen ...

kermit-hw-bambus-unberührt:

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

kermit-hw-bamboo-touch:

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

Trotzdem finde ich es sehr traurig, dass es in Ubuntu keine bessere Unterstützung für Tablets gibt. Vielleicht wird Wacom eines Tages auch unserer Community etwas Aufmerksamkeit schenken ...

Metakermit
quelle
0

Ich warf noch ein weiteres Skript in den Stapel und schrieb dieses für mich. Ich habe es in einer ausführbaren Datei wacomtouchin einem .scriptsOrdner, den ich meinem Umgebungspfad hinzugefügt habe. Um die Berührung zu deaktivieren, muss ich nur rennen wacomtouch off. Es erkennt automatisch alle Parameter und funktioniert theoretisch automatisch mit jedem Wacom-Tablet.

(Dies hängt vom pcregrepPaket ab.)

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