Jak wyłączyć dotyk na Wacom Bamboo CTH-470?

9

Niedawno kupiłem mojej dziewczynie Wacom Bamboo CTH-470 i działa ona dobrze po zainstalowaniu wacom-dkms. Natknąłem się teraz na ścianę, której nie wiem jak się obejść. Dotyk na tablecie się nie wyłączy. Używam Ubuntu 12.04 Beta 2. Próbowałem wyłączyć dotyk z ustawień wacom w menu ustawień. Zarówno pióro, jak i dotyk działają doskonale, po prostu dotyk doprowadza ją do szaleństwa, gdy próbuje wciągnąć myPaint.

Foxx
źródło

Odpowiedzi:

14

Edytować

Sprawdzając komentarze i inne odpowiedzi, wygląda na to, że niektórzy nadal szukają przełączania za pomocą przycisków tabletu. Jeśli chcesz tylko, że potrzebujesz 3 rzeczy (pokazane dla Ubuntu / Unity):

  1. Proste polecenie (które można uruchomić w terminalu lub w pliku skryptu)

rozwiązanie randompast z poleceniem 1-liniowym jest fajne i można je zmienić w wygodniejsze polecenie 1-liniowe:

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

Nie potrzebujesz tego, jeśli masz już własny skrypt lub wiersz poleceń, ale jest to wygodny sposób przełączania dotyku podłączonych tabletów bez znajomości nazwy lub identyfikatora tabletu.

  1. Skonfiguruj skrót klawiaturowy

Jeśli chcesz uruchomić to bez terminala, musisz zapisać skrypt w pliku, uczynić go wykonywalnym i utworzyć dla niego skrót klawiaturowy. Jest tak, ponieważ nie można przypisać polecenia bezpośrednio do przycisków tabletu (ale można przypisać naciśnięcie klawisza ...).

W Unity otwórz Ustawienia systemowe> Klawiatura> Skróty i utwórz nowy skrót. Unikaj klawisza Super , ponieważ nie zawsze może działać w kroku 3.

Jako polecenie umieść nazwę pliku skryptu (pełna ścieżka, pomiędzy pojedynczymi cudzysłowami, jeśli nie masz pewności, przeciągnij plik do terminala i użyj utworzonego polecenia).

wprowadź opis zdjęcia tutaj

  1. Przypisz skrót klawiaturowy do przycisku

Otwórz Ustawienia systemu> Tablet Wacom> Przyciski mapy ... i przypisz wybraną kombinację klawiszy do przycisku.

Aby wiedzieć, który przycisk można przypisać do liter bez modyfikatora, wybierz pole tekstowe i naciśnij przyciski, aby zobaczyć, do której litery się odnoszą.

wprowadź opis zdjęcia tutaj

Uwaga: nie wszystkie przyciski zostaną rozpoznane (3 z 4 dla mojego Bamboo) i nie wszystkie klawisze będą działać (nie mogę uzyskać żadnego z klawiszem Super do pracy). Musisz wypróbować różne kombinacje.

Oryginalna odpowiedź (aby nauczyć się poleceń)

Skonfigurowałem mój Pen & Touch ponad rok temu, więc mogę się tutaj mylić. Zwykle uruchamiam w terminalu:

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

To nie zadziała, ponieważ masz inny tablet, więc spróbuj najpierw

xsetwacom

które powinny dać ci parametry do użycia. Najpierw musisz uzyskać nazwę swojego urządzenia (nazwijmy to DEVICE_NAME), więc spróbuj:

xsetwacom --list devices

To daje mi moje pióro i dotyk:

Wacom BambooPT 2FG 4x5 Identyfikator pióra gumki: 11 typ:
ERASER Wacom BambooPT 2FG 4x5 Identyfikator pióra: 12 typ: STYLUS
Wacom BambooPT 2FG 4x5 Identyfikator palca: 13 typ: PODKŁADKA
Wacom BambooPT 2FG 4x5 Identyfikator dotyku palca: 14 typ: TOUCH

Oczywiście ten, który jest typu TOUCH, wyłącza się tutaj. Tutaj DEVICE_NAME to Wacom BambooPT 2FG 4x5 Finger touch, a DEVICE_ID to 14. Następnie musisz wiedzieć, który parametr wyłączyć, więc spróbuj:

xsetwacom --list parameters

Istnieje mnóstwo parametrów do włączenia / wyłączenia, a dla każdej nazwy parametru (nazwijmy to PARAM_NAME) wyjaśniono oczekiwany typ wartości. W tym przypadku chcemy wyłączyć parametr Touch, co można zrobić za pomocą opcji --set . Składnia jest następująca:

xsetwacom --set "DEVICE_NAME"  PARAM_NAME  PARAM_VALUE

lub

xsetwacom --set DEVICE_ID  PARAM_NAME  PARAM_VALUE

Jeśli nie masz pewności, co zastąpić PARAM_VALUE, wypróbuj opcję --get, aby zobaczyć bieżącą wartość:

xsetwacom --get "DEVICE_NAME"  PARAM_NAME
Maxweel
źródło
3
Nie zapominaj, że xsetwacom nie przechowuje ustawień, więc musisz uruchamiać wiersz poleceń za każdym razem, gdy logujesz się do sesji. Dla wygody możesz powiązać skrypt ze skrótem klawiaturowym (aby móc dowolnie włączać / wyłączać dotyk) lub możesz nawet powiązać go z przyciskiem lub tabletem (chociaż nigdy go nie próbowałem).
Maxweel
1
Jest to bardzo przydatne, ale chciałbym móc przypisać funkcję Touch ON / OFF do przycisku na samym tablecie, co byłoby naprawdę pomocne, ponieważ nie można tego zrobić z właściwości Wacom w menu ustawień systemu . Ponieważ nikt nie zadał sobie trudu, aby poprawnie zaktualizować właściwości Wacom, aby nadać mu funkcje przypisywania przycisków.
2

Oto rozwiązanie 1-liniowe:

xsetwacom --list | grep --line-buffered "TOUCH" | awk '{system("xsetwacom --set "$8" touch off")}'
randompast
źródło
0

Napisałem ten skrypt, aby móc kontrolować włączanie / wyłączanie dotyku bez względu na komputer, do którego podłączam tablet (ponieważ te identyfikatory zmieniają się między komputerami). Może ci się też przydać.

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

Umieszczam ten skrypt w / usr / local / bin wraz z tymi dwoma prostymi skryptami bash, aby wywołać go bez konieczności pamiętania parametrów ...

kermit-hw-bamboo-untouch:

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

kermit-hw-bamboo-touch:

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

To powiedziawszy, bardzo mi przykro, że nie ma lepszej obsługi tabletów w Ubuntu. Może któregoś dnia Wacom zwróci też uwagę naszej społeczności ...

metakermit
źródło
0

Rzucając kolejny skrypt w partię, napisałem ten dla siebie. Mam go w pliku wykonywalnym wacomtouchw .scriptsfolderze dodanym do ścieżki środowiska. Dlatego, aby wyłączyć dotyk, wystarczy uruchomić wacomtouch off. Automatycznie wykrywa wszystkie parametry, więc teoretycznie działa automatycznie z każdym tabletem Wacom.

(To zależy od pcregreppakietu.)

#!/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
źródło