Я понимаю ваше разочарование, но эта проблема может быть решена очень просто с помощью xinput
инструмента.
Сначала подключите USB-мышь, а затем выполните следующую команду:
xinput list
чтобы увидеть id
вашу мышь. Вывод вышеуказанной команды может быть похож на:
Xinput | Кот
Id ID указателя виртуального ядра = 2 [главный указатель (3)]
Pointer ↳ Указатель XTEST виртуального ядра id = 4 [ведомый указатель (2)]
PS ↳ SynPS / 2 Synaptics TouchPad id = 14 [ведомый указатель (2)]
Mouse ↳ USB Mouse id = 11 [ведомый указатель (2)]
Id ID виртуальной клавиатуры = 3 [мастер клавиатура (2)]
...
В приведенном выше примере USB-мышь имеет id=11
. Мы будем использовать это id
в следующей команде, которая поменяет кнопки, предназначенные для левой руки, только для USB-мыши (а не для тачпада):
xinput set-button-map 11 3 2 1
В общем:
xinput set-button-map id 3 2 1
Чтобы отменить изменение, используйте:
xinput set-button-map id 1 2 3
Чтобы внести изменения навсегда, добавьте следующую команду в Startup Applications (поиск в Dash для Startup Applications ):
sh -c "xinput set-button-map id 3 2 1"
Обновить:
Поскольку идентификатор может измениться после перезагрузки, а имя USB-мыши - нет, вы также можете использовать имя мыши и применить его. Чтобы пропустить детали рег. выбрав имя, окончательное решение выглядит так:
для идентификатора в `/ usr / bin / xinput list | / bin / grep ' USB Mouse ' | / bin / grep -o [0-9] [0-9] `; do xinput set-button-map $ id 3 2 1; сделанный;
упакуйте его в вышеупомянутые приложения автозагрузки, которые вы получите наконец:
sh -c "для идентификатора в` / usr / bin / xinput list | / bin / grep ' USB Mouse ' | / bin / grep -o [0-9] [0-9] `; сделать xinput set-button-map $ id 3 2 1; готово; "
sh -c "for id in '/usr/bin/xinput list | /bin/grep 'Razer' | /bin/grep -o [0-9][0-9]'; do xinput set-button-map $id 3 2 1; done;"
и это работает (возможно, нужно заботиться о правильных дефисах). Спасибо за подсказку.