Linux Mint Forums
Forum rules
There are no such things as «stupid» questions. However if you think your question is a bit stupid, then this is the right place for you to post it. Please stick to easy to-the-point questions that you feel people can answer fast. For long and complicated questions prefer the other forums within the support section.
Before you post please read how to get help. Topics in this forum are automatically closed 6 months after creation.
mouse buttons?
Post by nvrBungeeJumped » Sun Mar 24, 2013 1:26 pm
What is the best way to configure mouse buttons in Linux mint?
I am using an Evoluent VerticalMouse 4, which has a bunch of nice buttons I’de like to take advantage of. Unfortunately evoulant does not have a linux driver, they’ve only just got a macintosh drive out.
What other options are there for configuring these buttons. I mostly want to set one to close a window and two others to cycle through google chrome tabs. Can I do this with keyboard shortcuts? Instead of a keyboard command, just map that action to a mouse button?
Last edited by LockBot on Wed Dec 28, 2022 7:16 am, edited 1 time in total.
Reason: Topic automatically closed 6 months after creation. New replies are no longer allowed.
Re: mouse buttons?
Post by Thubo » Sun Mar 24, 2013 2:28 pm
You can use xbindkeys, xvkbd and xautomation to bind nearly any command or key-combo to one or your mouse buttons. I use it with my Logitech Performance MX and it works without any problems, although the configuration is not as easy as with a nice driver on windows.
Re: mouse buttons?
Post by nvrBungeeJumped » Tue Mar 26, 2013 12:09 am
I’ll give it a try. Which one works the best for you/currently using or like the most?
Re: mouse buttons?
Post by Thubo » Tue Mar 26, 2013 3:39 am
xbindkeys reads a configuration in /home//.xbindkeysrc which holds for example information like this:
#Mouse10 => Mouse2 "xte 'mouseclick 2' " b:10 + Release
This one binds the mouse button 10 (The window switcher button on my mouse) to produce the same action as if I clicked the middle key of my mouse (mouse-copy). xvkbd and xautomation kind of «perform» the actions you bind with xbindkeys. You could also bind any key-combination like alt+tab or whatever you like to this mouse button. You can also bind keyboard shotcuts or extra buttons on you keyboard. for example:
#\ "xvkbd -xsendevent -text '\[backslash]'" m:0xc + c:20 Control+Alt + ssharp
creates a backslash if you press the left ctr+alt and backslash (you need it if you type with the 10-finger-system).
To find out which signal your mouse initially sends when clicking a button you can use
The exact synthax for the .xbindkeysrc file is a little tricky, google holds a lot of examples
Cheers,
Thubo
PS. If you changed your .xbindkeysrc and what to test it without restarting just do:
sudo killall xbindkeys xbindkeys -f /home//.xbindkeysrc
Дополнительные кнопки мыши в Linux
Я долго не знал, как подступиться к настройке дополнительных кнопок мыши в Linux. В отличие от Windows здесь нет или почти нет для этого программок с графическим интерфейсом. Меня пугало, что придётся возиться с командной строкой и какими-нибудь мутными конфигами. Теперь, вспоминая эти страхи, как-то даже смешно. На деле всё оказалось слишком просто.
Инструкция годиться для любых современных версий Ubuntu, как впрочем и многих других дистрибутивов Linux. Все сразанное далее опробовано в Elementary OS 0.4 Loki, 5.0 Juno, 5.1 Hera. Я пользуюсь этой операционной системой, поэтому в статье чуть больше внимания будет именно ей.
Внимание! Вам сюда, если у вас Wayland. В Ubuntu 22.04 и новее Wayland по умолчанию.
Моя мышка Logitech VX Revolution из-за которой пришлось заморочиться:
Я привык на подобные мышки на боковые кнопки назначать функции копирования и выставки. Конечно, функции дополнительным кнопкам можно назначить любые — разные сочетания кнопок клавиатуры, комбинации одновременного нажатия кнопок на клавиатуре и мышке.
Аналогично всё настраивается и для мышек очень многих других моделей и производителей. Позднее я настраивал:
Для начала открываем консоль. В основном все действия будут производиться с её помощью.
Устанавливаем необходимый софт в Ubuntu/Debian/etc:
sudo apt install xbindkeys xautomation x11-utils
sudo dnf install xbindkeys xautomation
К сожалению в Fedora нет особого смысла настраивать xbindkeys, т.к. программа не будет обрабатывать нажатия кнопок в приложениях, написанных для Wayland. Решение здесь.
Драйвер или что-то ещё дополнительное для вашей мышки искать не надо! Она ведь у вас работает, курсор движется? Значит всё и так уже есть, обычно этого достаточно. Убедиться в работе всех кнопок мышки поможет следующая команда:
Она откроет над консолью небольшое окошко. Вам нужно будет навести на него курсор мыши и нажимать те её дополнительные кнопки, которые требуется настроить. Так вы узнаете порядковые номера этих кнопок, запишите их, они потребуются чуть позже.
Закройте маленькое окошко, чтобы закончить.
Следующая команда создаёт в домашней папке текущего пользователя файл конфигурации, редактируя его потом мы будем настраивать кнопки. Вы должны выполнять эту команду под тем пользователем, под которым обычно работаете в системе. Если вы её выполните под root, то соответственно файл поместиться в домашнюю папку root, а это часто не то, что надо.
xbindkeys --defaults > $HOME/.xbindkeysrc
В моём случае файл разместился по такому пути:
Теперь редактируем его своим любимым редактором. Если у вас такового нет, могу порекомендовать встроенные редакторы файловых коммандеров mc или Double Commander.
По умолчанию в файле на 40 строке присутствует включенный пример:
# Examples of commands: "xbindkeys_show" control+shift + q
Можно его отключить (закомментировать), установив вначале строк символ # . Следом пишем свои команды. Например, я для боковых кнопок мышки добавил две следующие:
"xte 'keydown Control_L' 'key Insert' 'keyup Control_L'" b:9 "xte 'keydown Shift_L' 'key Insert' 'keyup Shift_L'" b:8
Из кода видно, что происходит. В первом случае, держим левый «Ctrl», нажимаем кнопку «Insert», отпускаем левый «Ctrl». Вся эта эмуляция клавиатуры происходит по нажатию кнопки мышки под номером 9.
Комбинации кнопок Ctrl+Insert и Shift+Insert для копирования и вставки считаются общепринятыми, как и Ctrl+C и Ctrl+V. В настройки лучше прописывать именно первый вариант. Он будет работать всегда, при любой включенной раскладке клавиатуры.
А вот комбинации Ctrl+C и Ctrl+V будут работать, только если будет включена латинская. Во всяком случае так в Elementary OS, возможно в простой Ubuntu такого нет. На англоязычных интернет-ресурсах часто советуют следующий код, т.к. у них нет трудностей с раскладками:
"xte 'keydown Control_L' 'key c' 'keyup Control_L'" b:9 "xte 'keydown Control_L' 'key v' 'keyup Control_L'" b:8
Пример, когда нужно просто эмулировать нажатие кнопок клавиатуры:
"xte 'key Control_L'" b:13 "xte 'key q'" b:14
Эмуляция нажатия комбинации CTRL + левая кнопка мыши, чтобы по дополнительной кнопке 10 мыши в веб-браузере открывать вкладку в новом окне:
"xte 'keydown Control_L' 'mouseclick 1' 'keyup Control_L'" b:10 + Release
Следующей командой можно посмотреть справку, где приводятся коды других функциональных кнопок клавиатуры, которые могут пригодиться для конфига:
Ещё можно узнать коды вообще любых кнопок так:
А такая команда позволяет протестировать сделанные в файле .xbindkeysrc настройки:
Если всё готово и вы хотели бы начать пользоваться дополнительными кнопками мыши, надо просто запустить ту же самую программу:
Ну и соответственно, чтобы оно всегда работало надо добавить эту программу в автозапуск.
В Ubuntu 20.04 есть специальная программа «Автоматически запускаемые приложения». Скорее всего там xbindkeys уже будет, тогда ничего делать не нужно.
В Elementary OS заходим в «Приложения» → «Параметры системы» → «Приложения» → Вкладка «Автозапуск» → В нижнем левом углу есть кнопка «Добавить программу в автозапуск. ». Здесь просто вписываем «xbindkeys»:
Всё, можно пользоваться. Согласитесь, ничего сложного.
Я когда с этим разбирался, то у меня был косяк в том, что нужные мне дополнительные кнопки мыши не распознавались xev. Вот именно те две кнопки, которые я и хотел настроить. С остальными сразу всё было без проблем.
В теории, если такая ситуация, то это означает, что используемый вами драйвер мышки не обеспечивает работу всех её кнопок. Где брать другой драйвер под Linux — не понятно. Производители железа редко когда заморачиваются и делают для своих устройств драйверы под эту операционную систему.
Но благо, эта ситуация крайне редкая, обычно, как я понял из информации в интернете, кнопки мышек распознаются сразу без проблем. В моём случае это была аппаратная проблема. Две нужные мне кнопки тупо вообще не работали. Видать, слишком давно ими не пользовался. Разобрал грызуна, почистил, покликал, — заработали. После этого повесил на них нужные действия за считанные минуты.
Определить, что кнопки вообще не работают помог другой компьютер с Windows. А так, наверное, еще долго бы ломал голову, почему нифига не работает и что с этим делать.
Linux mint mouse buttons
Не нашел подобной темы на форуме, надеюсь эта хоть кому-то будет полезна. Если запостил не туда, перенесите в нужный раздел.
Авторства моего тут нет, скорее это перевод и компиляция из нескольких источников. К сожалению, я не нашел единой инструкции, по которой смог бы настроить дополнительные кнопки. Наверняка плохо искал. Ну да ладно.
Жила у меня мышь a4tech x7, наверно лет 5, работала исправно. Но, внезапно дома появилась собака, и съела эту мышь. Первая мысль была утопить собаку в унитазе заказать еще одну такую мышь. Но проблема в том, что собака сгрызает все до чего может дотянуться, а дотягивается он до провода мышиного. Прячь не прячь мышки/провода, за всем не уследишь. И пришлось покупать беспроводную мышь. Выбор пал на Logitech m560. Но проблема оказалась в том, что эта мышь работает только с виндовой тузлой, в которой можно эту мышь тонко сконфигурировать. А без этой тузлы, в линуксе, эта мышь бесполезная. Кстати, предыдущая мышь, a4tech x7 в этом плане была удобнее. Раз настроил в винде, назначил на кнопки запуск программ, она с памятью была, и она работала корректно в любой ОС. Эта же, Logitech m560 так не умеет. А заплатить кучу денег за мышь с дополнительными кнопки и не пользоваться ими, немного глупо.
Для настройки мне понадобился xbindkeys.
Определяем коды дополнительных кнопок мыши:
xev | grep button
Появится окно «Event tester». Наводим на него курсор и нажимаем дополнительные кнопки. В моем случае они обозначились как:
state 0x10, button 10, same_screen YES
и
state 0x10, button 11, same_screen YES
Создаем конфиг:
xbindkeys —defaults > ~/.xbindkeysrc
Открываем конфиг:
nano ~/.xbindkeysrc
Там уже есть примеры. В моем случае я дописал:
«mate-terminal»
b:10
Сохраняемся и выходим. Для проверки запускаем:
xbindkeys -n -v
Если все ок, в терминале обрываем выполнение:
CTRL+C
и запускаем xbindkeys:
xbindkeys_autostart
Теперь терминал можно закрыть. Дополнительные кнопки продолжат работать.
Про комбинации клавиш я знаю, но мне удобнее запускать так.
Осталось убедиться, что xbindkeys запустится вместе с системой. Система — центр управления — запускаемые приложения там уже должно быть xbindkeys. Если нет, то добавить:
Имя: xbindkeys
Команда: xbindkeys_autostart
Комментарий: Start xbindkeys
У меня нет возможности проверить автозапуск, в системе крутится много всего, и ребутаюсь я раз в несколько месяцев.
P.S. после ребута кнопки работают.
И не включайте плавную прокрутку в виндовой утилите. Иначе прокрутка колесом некорректно работает в линуксе. При настройке прокрутки 1 строки, прокручивает по 6 строк. 2 часа бился с этой проблемой
https://linux-hardware.org/?probe=a94b76ed20