Если вам нужно переключить состояние (и ваш обратный / обратный порядок клавиш мыши является таким состоянием), устройства вы должны иметь возможность запрашивать у устройства текущее состояние или сохранять состояние в какой-то файл.
Поскольку я не смог найти, есть ли у xinput
способ запрашивать у мыши отображение кнопок, вам, вероятно, следует сохранить состояние в файле, например ~ / .config / mousebuttons
. Ваш скрипт должен записывать "в обратном направлении" в файл при выполнении:
xinput set-button-map 12 3 2 1 и записывать "normal" в этот файл при выполнении:
xinput set-button -map 12 2 3
Фактическое действие, которое необходимо предпринять, зависит от чтения файла: выполните первый шаг, если содержимое файла при запуске сценария нормальное
(или файл не существует) , и сделайте второе, если содержимое обратное
.
При каждом вызове содержимое файла меняется с обратного
на нормальное
. Ваше фактическое состояние может не отражать содержимое файла, например после перезагрузки, поэтому распечатайте на экране новое состояние для визуального напоминания. Если файл не синхронизирован с состоянием, однократный вызов вашего скрипта синхронизирует его снова.
Если вам нужен только Gnome, следуйте этой статье Arch Wiki https://wiki.archlinux.org/index .php / Keyboard_configuration_in_Xorg # Switching_between_keyboard_layouts
Если вам это нужно в терминале, также посмотрите этот https://wiki.archlinux.org/index.php/Keyboard_configuration_in_console