Как вы отключите Touch Bamboo CTH-470?

11.10 / 12.04

Из этого отчета об ошибке появляется, что ключ шага объема исчез в 11.10 и еще не появился (пока).

Таким образом, нет простое простое изменение конфигурации, которое вы можете сделать, чтобы уменьшить шаг объема.

Сообщение № 18 в ссылке дает интересное обходное решение, которое включает в себя использование возможности alsamixer увеличения и уменьшения, а также отправки уведомлений на рабочий стол.

Однако я не мог заставить его работать, поэтому мое решение основано на этом сообщении.

С помощью этого решения шаг по умолчанию будет уменьшен до двухзначного, проценты шагов

Как

Установите пакет xbindkeys (используя Synaptic или с sudo apt-get install xbindkeys).

Используя ваш любимый текстовый редактор, создайте файл в домашней папке с именем .volumeHack.sh и скопируйте и вставьте содержимое ниже в этот файл, т. Е.

gedit ~/.volumeHack.sh

Запустите chmod a+x .volumeHack.sh, чтобы сделать его исполняемым. [!d11 ]

Затем отредактируйте файл ~/.xbindkeysrc и скопируйте & amp; вставьте текст ниже в нижней части этого файла. то есть

gedit ~/.xbindkeysrc

Выход из системы и вход в систему

.xbindkeysrc

# Increase volume
#"amixer set Master playback 1+"
"sh ~/.volumeHack.sh -c up -i 2% -m Master"
    m:0x0 + c:123
    XF86AudioRaiseVolume

# Decrease volume
"sh ~/.volumeHack.sh -c down -i 2% -m Master"
    m:0x0 + c:122
    XF86AudioLowerVolume

# Toggle mute - this is not used here
#"amixer set Master toggle"
# m:0x0 + c:121
# XF86AudioMute

.volumeHack.sh

#!/bin/sh

usage="usage: $0 -c {up|down|mute} [-i increment] [-m mixer]"
command=
increment=5%
mixer=Master

while getopts c:i:m:h o
do case "$o" in
    c) command=$OPTARG;;
    i) increment=$OPTARG;;
    m) mixer=$OPTARG;;
    h) echo "$usage"; exit 0;;
    ?) echo "$usage"; exit 0;;
esac
done

#echo "command:$command"
#echo "increment:$increment"
#echo "mixer:$mixer"

if [ "$command" = "" ]; then
    shift $(($OPTIND - 1))
    command=$1
    exit 0;
fi

if [ "$command" = "" ]; then
    echo "usage: $0 {up|down|mute} [increment]"
    exit 0;
fi

display_volume=0

if [ "$command" = "up" ]; then
    display_volume=$(amixer set $mixer $increment+ unmute | grep -m 1 "%]" | cut -d "[" -f2|cut -d "%" -f1)
fi

if [ "$command" = "down" ]; then
    display_volume=$(amixer set $mixer $increment- unmute | grep -m 1 "%]" | cut -d "[" -f2|cut -d "%" -f1)
fi

icon_name=""

if [ "$command" = "mute" ]; then
    if amixer get Master | grep "\[on\]"; then
        display_volume=0
        icon_name="notification-audio-volume-muted"
        amixer set $mixer mute
    else
        display_volume=$(amixer set $mixer unmute | grep -m 1 "%]" | cut -d "[" -f2|cut -d "%" -f1)
    fi
fi

if [ "$icon_name" = "" ]; then
    if [ "$display_volume" = "0" ]; then
        icon_name="notification-audio-volume-off"
    else
        if [ "$display_volume" -lt "33" ]; then
            icon_name="notification-audio-volume-low"
        else
            if [ "$display_volume" -lt "67" ]; then
                icon_name="notification-audio-volume-medium"
            else
                icon_name="notification-audio-volume-high"
            fi
        fi
    fi
fi
notify-send " " -i $icon_name -h int:value:$display_volume -h string:synchronous:volume

#echo "icon: $icon_name and $display_volume"
1
задан 30 November 2012 в 23:27

3 ответа

Вот однострочное решение:

xsetwacom --list | grep --line-buffered "TOUCH" | awk '{system("xsetwacom --set "$8" touch off")}'
1
ответ дан 25 May 2018 в 13:03

Я написал этот сценарий, чтобы я мог контролировать включение / выключение касания независимо от того, на каком компьютере я подключаю планшет (потому что эти идентификаторы меняются между машинами). Вы можете найти это полезным.

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

Я поместил этот скрипт в / usr / local / bin вместе с этими двумя простыми сценариями bash, чтобы вызвать его, не запомни параметры ...

kermit-hw-bamboo-untouch:

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

kermit-hw-bamboo-touch:

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

При этом мне очень грустно, что в Ubuntu нет лучшей поддержки планшетов. Возможно, однажды Wacom также покажет нашему сообществу ...

0
ответ дан 25 May 2018 в 13:03

Бросив еще один скрипт в пакет, я написал это для себя. Я имею его в исполняемом файле wacomtouch в папке .scripts, которую я добавил в свой путь к среде. Таким образом, чтобы отключить прикосновение, мне нужно запустить wacomtouch off. Он автоматически обнаруживает все параметры, поэтому он теоретически работает с любым планшетом Wacom автоматически.

(Это зависит от пакета pcregrep.)

#!/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
ответ дан 25 May 2018 в 13:03

Другие вопросы по тегам:

Похожие вопросы: