Как переключить опору устройства xinput

Я могу отключить устройство, как это:

xinput set-prop 13 "Device Enabled" 0

Но я хочу на самом деле установить пользовательский ярлык, который переключает это между 0\1. Мои навыки в bash немного ржавые, так как я могу это сделать? Там нет команды get-prop, я получил это далеко:

xinput list-props 13 | grep "Device Enabled"

Который правильно распечатывает

Device Enabled (135):   1

Но я не знаю, что делать дальше. Помогите?

1 ответ

Включите или выключите устройство xinput с помощью следующего скрипта bash.

#!/bin/bash

device=13
state=$(xinput list-props "$device" | grep "Device Enabled" | grep -o "[01]$")

if [ $state == '1' ];then
  xinput --disable "$device"
else
  xinput --enable "$device"
fi

Я сделал этот однострочный ответ из ответа pLumo. Это удобно, если вам просто нужна команда для ввода сочетания клавиш или запуска задания. Он использует тот факт, что вы также можете устанавливать свойства устройств по имени, и что имя сенсорной панели не изменится.

Чтобы получить имя устройства:

$ xinput | grep Touchpad
⎜   ↳ ETPS/2 Elantech Touchpad                  id=18   [slave  pointer  (2)]

Итак, мое устройство называется ETPS/2 Elantech Touchpad. Я жестко запрограммировал это в этот однострочник:

[ "$(xinput list-props 'ETPS/2 Elantech Touchpad' | grep 'Device Enabled' | grep -o '[01]$')" == "1" ] && xinput --disable 'ETPS/2 Elantech Touchpad' || xinput --enable 'ETPS/2 Elantech Touchpad'
Другие вопросы по тегам