Я вижу, что могу настроить мышь и сенсорную панель на одной панели (Ubuntu 13.10, по умолчанию, Gnome). Что в некоторой степени. А именно, я хочу, чтобы тачпад был настроен иначе, чем мышь и ...
Когда у меня подключена мышь (USB), я обычно использую ее левой рукой. Поэтому я переключаю кнопки на левшей. Но когда я использую тачпад, я чувствую себя немного потерянным с такой конфигурацией. Поэтому я хочу, чтобы это было правшой.
Есть ли способ добиться следующего: когда я подключаю мышь (соответственно, когда она обнаружена), автоматически переключаюсь на левую руку, а когда я отключаю ее, автоматически переключаюсь на правую?
Я обнаружил, что команда запуска в другом ответе работает, только если идентификатор представляет собой двузначное число. Вот мои модификации, которые должны работать как для однозначных, так и для двузначных чисел:
В Startup Applications
bash -c "for id in `/usr/bin/xinput list | /bin/grep 'USB Mouse' | /bin/grep -o id=[0-9][0-9]*`; do xinput set-button-map ${id:3} 3 2 1; done;"
Есть даже более простой способ, чем в ответе Раду Радеану . xinput
принимает имя устройства ввода в качестве альтернативы его числовому идентификатору. Поскольку ваша USB-мышь, вероятно, обрабатывается в общем, ее имя, скорее всего, USB Mouse
. Поэтому вам, вероятно, даже не нужно запускать xinput list
.
Таким образом, ваш xinput set-button-map
с этим именем вместо числового идентификатора становится:
xinput set-button-map "USB Mouse" 3 2 1
Это занимает место xinput set-button-map id 3 2 1
и должно достигать того же самого, с 3 2 1
делая это левая мышь, точно так же, как при использовании числового идентификатора . (И замена 3 2 1
на 1 2 3
будет по-прежнему работать, чтобы переключить его на праворукую мышь.)
Это имеет то преимущество, что, если оно работает изначально, оно будет продолжать работать через перезагрузки, без необходимости получения идентификационного номера устройства с помощью длинных сложных команд.
Я понимаю ваше разочарование, но эту проблему можно решить очень просто с помощью инструмента xinput
.
Сначала подключите USB-мышь, затем выполните следующую команду:
xinput list
, чтобы увидеть id
вашей мыши. Вывод вышеуказанной команды может быть похож на:
xinput | cat ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ SynPS/2 Synaptics TouchPad id=14 [slave pointer (2)] ⎜ ↳ USB Mouse id=11 [slave pointer (2)] ⎣ Virtual core keyboard id=3 [master keyboard (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"
Обновление:
Поскольку идентификатор может измениться после перезагрузки, но имя USBmouse нет, вы также можете использовать имя мыши и применить его. Чтобы пропустить детали рег. выбрав имя, окончательное решение выглядит следующим образом:
for id in `/usr/bin/xinput list | /bin/grep 'USB Mouse' | /bin/grep -o [0-9][0-9]`; do xinput set-button-map $id 3 2 1; done;
упакуйте его в вышеупомянутые приложения для запуска , в итоге вы получите:
sh -c "for id in `/usr/bin/xinput list | /bin/grep 'USB Mouse' | /bin/grep -o [0-9][0-9]`; do xinput set-button-map $id 3 2 1; done;"
device_id=$(/usr/bin/xinput list \
| /bin/grep 'slave pointer' \
| /bin/grep 'Wireless Keyboard&Mouse' \
| tr " " "\n" \
| /bin/grep "id=" \
| /bin/grep -o [0-9][0-9]* \
)
/usr/bin/xinput set-button-map $device_id 3 2 1
Вот более подробное решение, которое решает две проблемы:
xinput list
показывает 2 записи с одинаковым именем («2.4G Wireless Keyboard & Mouse»), за исключением одного «[slave pointer (2)]», а другой «» [подчиненная клавиатура (3)] ". Так, с решением @reedstrm у меня была эта ошибка: «Существует несколько устройств с именем« 2.4G Wireless Keyboard & amp; Mouse ».» клавиатура, имеющая сообщение об ошибке «устройство не имеет кнопок» со вторым.