Почему сенсорная панель Acer Aspire V3-551G не работает на Ubuntu?

Для чего это стоит, основываясь на предыдущих ответах и ​​моей собственной игре, я создал следующий скрипт, который я называю toggle_keyboard.sh и размещаю на своем пути ~/bin. У меня есть комбинация клавиш, которая запускает его для CtrlWinK.

Некоторые проблемы с предыдущими ответами и преимуществами моего скрипта:

Опираясь на номер id с xinput, не удается при перезагрузке и номер идентификатора изменяется. Это случилось со мной при запуске xinput float 13. В итоге я отключил неправильное оборудование. Если вы перезагрузитесь, файл будет удерживать включенное / отключенное состояние. Файл скажет вам, что клавиатура отключена (если вы отключили ее со сценарием), но после перезагрузки она снова будет включена. Мое решение получает информацию о включении / отключении от синтаксической команды xinput. Мой скрипт будет работать с любым xinput-устройством, которое появляется при вводе xinput list --name-only. Просто получите имя и отредактируйте первые четыре переменные. Я использую его для клавиатуры ноутбука, веб-камеры, сенсорного монитора и нескольких других вещей, которые я использую только раз в то время.
#!/bin/bash
# Toggle the laptop keyboard either on or off and notify the user about it

# Device name can be found by typing this command: xinput list --name-only
DEVICE_NAME="AT Translated Set 2 keyboard"
# The display name of the device in the notify-send popup
DEVICE_DISPLAY_NAME="Laptop Keyboard"

# Set these to the icons you want to use.
# If they are not found, the notification will still work.
ICON_ENABLE="$HOME/.icons/keyboard.png"
ICON_DISABLE="$HOME/.icons/keyboard_disabled.png"

function xinput_set_prop() {
        xinput set-prop "$DEVICE_NAME" "Device Enabled" $1
}

function notify_change() {
        if [ -f "$1" ]; then
                notify-send --urgency=low --icon="$1" "$2"
        else
                notify-send --urgency=low "$2"
        fi
}

# Returns 1 if device is enabled, 0 if disabled
is_enabled=$(xinput list-props "$DEVICE_NAME" | grep "Device Enabled" | awk '{ print $4 }' | sed 's/[^0-9]*//g')

if [ $is_enabled -eq 1 ]; then
        # device is enabled, so disable it
        xinput_set_prop 0
        notify_change "$ICON_DISABLE" "$DEVICE_DISPLAY_NAME Disabled"
else
        # device is disabled, so enable it
        xinput_set_prop 1
        notify_change "$ICON_ENABLE" "$DEVICE_DISPLAY_NAME Enabled"
fi
1
задан 22 February 2013 в 02:45

0 ответов

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

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