Как я могу назначить действия для всех моих кнопок мыши?

У меня есть мышь с множеством кнопок, но она не является основной продукцией, подобной 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 предназначен в первую очередь для создания пользовательских жестов указывающего устройства, но его также можно использовать для назначения действий простым нажатиям кнопок.

Чтобы использовать это таким образом,

  1. Откройте окно конфигурации.
  2. В меню " Параметры" ▸ "Поведение" ▸ "Дополнительные кнопки" ▸ "Добавить" выберите " Жесты быстрого доступа" и нажмите нужную кнопку мыши в сером поле.

    Easystroke Gesture Recognition - выберите мышь или кнопку пера

  3. В Действиях нажмите Добавить действие.

  4. Дважды щелкните столбец Сток и затем снова нажмите нужную кнопку мыши.

  5. Щелкните в столбцах " Имя", " Тип" и " Сведения", чтобы настроить действие.

    Easystroke Gesture Recognition - действия

Если вы устанавливаете Менеджер настроек CompizConfig Установите 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,

Btnx доступен для скачивания здесь.

В современных выпусках Ubuntuinput-remapperпредоставляет графический интерфейс, и я думаю, что он подойдет для этой цели. См. Как получить доступ к дополнительным кнопкам мыши на Wayland?

Другие вопросы по тегам