Как я могу назначить действия для всех моих кнопок мыши?
У меня есть мышь с множеством кнопок, но она не является основной продукцией, подобной Logitech. Для Windows у меня есть драйвер, который позволяет мне назначать действия, такие как закрытие окна (Ctrl+W) или следующая вкладка (Ctrl+Tab), но у меня нет драйвера для Linux. Поскольку Linux настолько гибок, я подумал, что, возможно, есть общий способ сделать это независимо от бренда?
Обновление: на основе данных от Cyrex, я установил и запустил sudo apt-get install btnx
который нашел несколько, но не все кнопки мыши.
Найдено: влево, вправо, колесо, щелчок, большой палец вперед, большой палец назад.
Не найдено: колесо слева, колесо справа, средняя кнопка большого пальца.
Идентификатор поставщика - 0x04d9, идентификатор модели - 0xa015.
Обновление 2. В System>Prefs>Mouse есть значок лампочки для проверки скорости двойного щелчка. Каждая рабочая кнопка может включать и выключать лампочку, но отсутствующие кнопки не могут. Казалось бы, Ubuntu не знает об этих кнопках и, следовательно, не регистрирует их нажатия. Я думаю, мне нужно охотиться за водителем, хотя обычная мышь, вероятно, проще.
11 ответов
Если все кнопки определены правильно, вы можете установить btnx:
sudo apt-get install btnx
ИЛИ ЖЕ sudo aptitude install btnx
Затем перейдите в: Приложения -> Системные инструменты -> Btnx
Поддерживает многие типы мышей.
У меня есть MX Anywhere "M-R0001"
Я использую кнопки "Вперед" и "Назад" для копирования и вставки.
шаги:
1) Все кнопки обнаруживаются с последним ядром... хотя бы с
uname -a
3.8.0-25-generic #37-Ubuntu SMP Thu Jun 6 20:47:07 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
2) Так что, в основном, вам нужно только сопоставить эти кнопки с желаемыми действиями. Как узнать, нажата ли кнопка и соответствующий цифровой код? Ну, вы можете использовать программу 'xev':
xev
Эта программа является анализатором событий клавиш и мыши. Когда он запущен, вы можете увидеть окно, в котором вы можете нажать кнопки мыши и посмотреть, обнаружены ли они. Например, с кнопкой масштабирования Performance MX вы увидите что-то вроде этого:
ButtonPress event, serial 35, synthetic NO, window 0x5800001,
root 0x15a, subw 0x0, time 64521438, (84,117), root88,144),
state 0x10, button 13, same_screen YES
это означает, что 13 является кодом для этой кнопки мыши. Вы можете попробовать любую кнопку мыши на руке... для удобства, вот карта для Performance MX:
- Кнопка возврата: 8
- Кнопка вперед: 9
- Кнопка зума: 13
- Кнопка показа окон: 10
другие кнопки хорошо распознаются, и вам не нужно сопоставлять действия.
3) Теперь вам нужно установить небольшую программу для повторного отображения мыши и клавиатуры. Волшебник это 'xbindkeys' ... простая установка использует:
sudo apt-get install xbindkeys
4) После установки вы можете творить чудеса. Идея состоит в том, чтобы настроить кнопки мыши для отправки комбинаций клавиш для активации других функций рабочего стола (фактически, xbindkeys можно использовать для запуска любой другой программы при нажатии кнопки мыши). В KDE вы можете сделать это с помощью комбинации клавиш Ctrl+F10. Суть в том, чтобы создать файл конфигурации xbindkeys для выполнения этой работы.
5) Чтобы создать файл конфигурации, просто запустите следующую команду:
xbindkeys --defaults > $HOME/.xbindkeysrc
6) И нам нужно отредактировать файл, чтобы указать отображение вашей кнопки:
gedit $HOME/.xbindkeysrc
7) Нам нужно добавить наши конфигурации "кнопка-ключ". Например, у меня есть следующее:
# Back changed to Copy
"xte 'keydown Control_L' 'key C' 'keyup Control_L'"
b:8
# Forward
"xte 'keydown Alt_L' 'key Right' 'keyup Alt_L'"
b:9
# Present desktops
"xte 'keydown Control_L' 'key F8' 'keyup Control_L'"
b:13
# Present windows
"xte 'keydown Control_L' 'key F10' 'keyup Control_L'"
b:10
8) Появилось новое требование. программа 'xte', которая в основном имитирует комбинации нажатий клавиш пользователя. Установите его, используя:
sudo apt-get install xautomation
Теперь, если вы запускаете на терминале что-то вроде:
xte 'keydown Control_L' 'key F10' 'keyup Control_L'
это значит имитировать нажатие клавиш Ctrl+F10. Идея состоит в том, чтобы с помощью xbindkeys сказать: "когда я нажимаю 13-ю кнопку мыши, посылаю нажатие клавиши Ctrl+F10 с помощью программы xte, чтобы сгенерировать это"
9) И наконец, вам нужно настроить 'xbindkeys' на автоматический запуск при запуске системы. Запустите приложения / нажмите кнопку "Добавить программу" и введите "/usr/bin/xbindkeys" в диалоговом окне.
СДЕЛАННЫЙ
Easystroke - это приложение для распознавания жестов мыши и менеджер жестов мыши для дистрибутива Ubuntu и другого Linux. это позволяет пользователю управлять приложением Ubuntu с помощью рисованных жестов мыши или рисования на экране. Easystroke работает на планшетных ПК, его можно одинаково хорошо использовать с мышью, ручкой или даже пальцами, если у вас сенсорный экран.
Установите Easystroke в Ubuntu
sudo apt-get install easystroke
Если вы хотите установить easystroke через PPA, вы можете добавить репозиторий PPA, введите следующую команду:
sudo add-apt-repository ppa:easystroke/ppa
sudo apt-get update
sudo apt-get install easystroke
Для пользователей Unity: EasyStroke еще не использовал индикаторный апплет, поэтому, когда вы запускаете его из меню, у вас ничего нет в индикаторном апплете. Чтобы решить эту проблему, просто запустите эту команду в терминале:
easystroke -g
Он запустит EasyStroke и автоматически откроет окна конфигурации.
Easystroke Gesture Recognition предназначен в первую очередь для создания пользовательских жестов указывающего устройства, но его также можно использовать для назначения действий простым нажатиям кнопок.
Чтобы использовать это таким образом,
- Откройте окно конфигурации.
В меню " Параметры" ▸ "Поведение" ▸ "Дополнительные кнопки" ▸ "Добавить" выберите " Жесты быстрого доступа" и нажмите нужную кнопку мыши в сером поле.
В Действиях нажмите Добавить действие.
Дважды щелкните столбец Сток и затем снова нажмите нужную кнопку мыши.
Щелкните в столбцах " Имя", " Тип" и " Сведения", чтобы настроить действие.
Если вы устанавливаете Менеджер настроек CompizConfig тогда вы сможете установить множество сочетаний клавиш управления окнами мыши.
Может потребоваться некоторое усилие, чтобы понять, какая кнопка какая.
На скриншоте я назначаю открывать переключатель Super+Tab левой кнопкой мыши на колесе прокрутки.
У Олли Салонена есть свой собственный ppa, который нужно добавить в свой список, если вы хотите установить через apt. Вот информация о добавлении ppa.
https://launchpad.net/~daou/+archive/ppa
Кроме того, эта ссылка может помочь с установкой на более новую версию Ubuntu, так как я вижу, что Олли уже давно не активен.
Источник здесь: http://github.com/cdobrich/btnx.git Он без проблем собран и работает на моем Linux Mint 13. Предостережение: btnx-config должен быть запущен с правами root.
Принятый ответ устарел, вот обновленная версия.
У вас уже должно быть это, как и в Ubuntu, но запустите это на всякий случай.
sudo apt-get install libdaemon-dev libglade2-dev libgtk2.0-dev
Теперь загрузите и установите
1) btnx-config 2) btnx В этом порядке.
Установить:
Разархивировать и cd
в каждую из этих папок.
В каждом из них запускаются:
./configure make
sudo make
sudo make install
Как только они оба установлены, запустите
sudo btnx-config
На вкладке "Конфигурации" нажмите "Обнаружить мышь и кнопки".
На вкладке "Кнопки" назначьте кнопке мыши клавишу или функцию. Убедитесь, что вы отметили галочкой.
Наконец, на вкладке "Конфигурации" нажмите кнопку "Перезагрузить btx", чтобы изменения вступили в силу.
В середине 2017 года не было обновленного пакета btnx для Ubuntu 16.04 LTS, и easystroke, похоже, больше не поддерживается.
Я хотел назначить копирование / вставку двум дополнительным кнопкам моего (многолетнего, но проверенного в бою) Microsoft IntelliMouse, и наконец остановился на imwheel, который описан на этой странице в Ubuntu Wiki.
Для справки, вот мой ~/.imwheelrc
:
# https://help.ubuntu.com/community/ManyButtonsMouseHowto
"^(Gnome-terminal|Tilda)"
None, Thumb1, Shift_L|Control_L|C
None, Thumb2, Shift_L|Control_L|Insert
".*"
None, Thumb1, Control_L|C
None, Thumb2, Control_L|V
# vim:ts=4:shiftwidth=4:syntax=sh
Чтобы запустить инструмент вместе с X-сервером, установите IMWHEEL_START=1
в /etc/X11/imwheel/startup.conf
,
В современных выпусках Ubuntuinput-remapper
предоставляет графический интерфейс, и я думаю, что он подойдет для этой цели. См. Как получить доступ к дополнительным кнопкам мыши на Wayland?