Как переключить команду нажатием клавиши в Arch Linux с помощью i3

Я нахожу коврик для мыши на своем ноутбуке раздражающим, потому что я часто чищу его рукой, когда я печатаю, поэтому я решил сделать переключатель, чтобы выключить его и снова включить, когда я хочу использовать мышь. По какой-то причине синаптики не поднимают мой коврик для мыши, поэтому я прибегаю к использованию xinput disable 11 11 - это идентификатор моего коврика для мыши. Я пытаюсь использовать bindsym в конфигурации i3, чтобы "m" переключал коврик для мыши. Я сделал скрипт sh для отключения коврика для мыши, но он не включается при повторном нажатии "m". Я решил сделать системную переменную, чтобы определить, включен ли коврик для мыши или нет, но сценарий sh, похоже, не видит его должным образом. На данный момент это мой скрипт под названием "trackpad" в / bin:

#!/bin/bash
if [[ $1 -eq 1 ]]
then
    xinput enable 11 && export TRACKPAD=0
else
    xinput disable 11 && export TRACKPAD=1
fi

Тогда в моем файле конфигурации i3 у меня есть:

bindsym $mod+m exec trackpad $TRACKPAD

Я не уверен, что это даже лучший способ сделать это, поэтому любые альтернативные предложения будут хороши. Иначе как я могу это исправить? Я довольно новичок в Linux.

1 ответ

Решение

xinput предлагает аргумент list-props для перечисления всех свойств устройства. По крайней мере, с моей тачпадом, выполняя xinput enable а также xinput disable переключает собственность Device Enabled (0/1). Отслеживание состояния этого свойства позволяет проверить, включено ли устройство в данный момент.

Быстрый и грязный подход к использованию этого для вашей проблемы может быть следующим фрагментом:

#!/bin/bash
if xinput list-props 11 | grep -qE "Device Enabled.*1$"
then 
    xinput disable 11
else 
    xinput enable 11
fi

или как простой однострочник:

#!/bin/bash
xinput list-props 11 | grep -qE "Device Enabled.*1$" && xinput disable 11 || xinput enable 11

Как видите, эти сценарии не нуждаются в аргументе для передачи. Простое выполнение переключает состояние устройства.

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