Вопрос или проблема
Я только что купил мышь с трекболом на 4 кнопки без колесика (многие из них, по каким-то причинам, не имеют колесика), и мне бы хотелось, чтобы одна из этих кнопок вела себя как средняя кнопка мыши (для автопрокрутки). По умолчанию 4 кнопки предназначены для левого клика, правого клика, назад и вперед (т.е. назад/вперед страницы при просмотре веб-страниц). Я изменил кнопки назад/вперед, чтобы они работали как Page Up и Page Down (используя xte
и xbindkeys
, как было предложено в ответе на вопрос где-то на StackExchange), но я не был полностью удовлетворен этим; поэтому я хотел бы сделать одну из этих кнопок (кнопку назад) средней кнопкой мыши и придумать что-то креативное для другой, но я не знаю, как заставить одну кнопку мыши эмулировать другую (также я не знаю названия средней кнопки мыши). Однако я знаю, как сделать так, чтобы кнопка мыши представляла собой клавишу или комбинацию клавиш на клавиатуре (или как заставить ее запускать программу или скрипт). Изменение: Я нашел способ переназначить кнопки мыши, но это, похоже, не работает с кнопкой 2 (это правая кнопка, верно? Я имею в виду кнопку, которая вызывает появление круга со стрелками, и когда вы двигаете мышь, она прокручивает в том направлении, в котором вы ее двигаете; также, когда вы кликаете по ссылке с ее помощью, она открывает ссылку в новой вкладке и так далее).
В любом случае, вот что я попытался вставить в файл .xbindkeysrc
:
"xte 'mouseclick 2'"
b:8
Примечание: Одновременное нажатие левой и правой кнопки не эмулирует среднюю кнопку мыши в моей ОС (Xubuntu 17.04) с моей мышью.
Эту проблему можно решить, переназначив кнопки мыши на клавиши клавиатуры с помощью xkbset: смотрите Использовать клавиши для кнопок мыши на Linux. Альтернатива AHK?
Ответ или решение
Как смоделировать нажатие средней кнопки мыши в Linux
Недавно вы приобрели трекбол без колеса прокрутки и столкнулись с необходимостью имитировать нажатие средней кнопки мыши для автопрокрутки и других функций. Поскольку современные дистрибутивы Linux, такие как Xubuntu, позволяют настраивать кнопки мыши, в этой статье мы обсудим, как настроить вашу четырёхкнопочную мышь таким образом, чтобы одна из дополнительных кнопок выступала в роли средней.
Шаг 1: Установка необходимых инструментов
Чтобы начать, убедитесь, что у вас установлены xbindkeys
и xte
, которые помогут вам связать действия кнопок с командами. Вы можете установить их с помощью вашего пакетного менеджера:
sudo apt-get install xbindkeys xdotool
Шаг 2: Конфигурация xbindkeys
Создайте или откройте файл конфигурации ~/.xbindkeysrc
. Если файл отсутствует, вы можете его создать:
touch ~/.xbindkeysrc
Теперь добавьте в файл конфигурацию, которая будет связывать одну из кнопок с действием нажатия средней кнопки мыши. Допустим, вы хотите, чтобы кнопка "Назад" (которая обычно настроена как кнопка 8 на вашей мыши) имитировала нажатие средней кнопки:
"xte 'mouseclick 2'"
b:8
Таким образом, при нажатии кнопки 8 будет исполняться команда mouseclick 2
, которая имитирует нажатие средней кнопки. Обратите внимание, что нажатие средней кнопки обозначается как mouseclick 2
.
Шаг 3: Перезапуск xbindkeys
После изменения конфигурации вам необходимо перезапустить службу xbindkeys
, чтобы применить изменения. Это можно сделать, выполнив следующую команду:
killall xbindkeys
xbindkeys
Шаг 4: Убедитесь, что изменения работают
Теперь проверьте, правильно ли настроена кнопка. Примените ваши настройки, попробовав щелкнуть на ссылку в браузере или активировав автопрокрутку. Нажатие кнопки "Назад" должно теперь выполнять функцию, аналогичную нажатию средней кнопки.
Дополнительные настройки
Если вы хотите изменить назначение других кнопок или настроить специфические сочетания, вы можете добавить дополнительные строки в файл ~/.xbindkeysrc
. Например, если у вас есть другая кнопка, которую вы хотите использовать для другого действия, вы можете сделать это следующим образом:
"xte 'key Page_Up'"
b:9 # допустим, кнопка 9 назначена для перехода на страницу вверх
Примечания о функциональности
Следует отметить, что xte
и xbindkeys
работают в большинстве сред рабочего стола, однако могут быть некоторые ограничения в зависимости от используемого окружения. Если вы столкнулись с проблемами или у вас есть специфические требования, возможно, вам потребуется исследовать дополнительные графические интерфейсы управления мышью, такие как imwheel
или воспользоваться редакторами конфигурации xkb, что позволит вам более тонко настраивать поведение вашей мыши.
Заключение
Таким образом, вы смогли имитировать поведение средней кнопки мыши, используя инструменты xbindkeys и xte, что позволяет более эффективно использовать вашу трекбол. Если у вас возникли дополнительные вопросы или проблемы, не стесняйтесь обращаться в сообщества Linux, где опытные пользователи обязательно окажут помощь.