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

28

У меня есть мышь с множеством кнопок, но она не такая, как в Logitech. Для Windows у меня есть драйвер, который позволяет мне назначать действия, такие как закрытие окна (Ctrl + W) или следующая вкладка (Ctrl + Tab), но у меня нет драйвера для Linux. Поскольку Linux настолько гибок, я подумал, что, возможно, есть общий способ сделать это независимо от бренда?

Обновление: на основе данных Cyrex, я установил и запустил, sudo apt-get install btnxкоторый нашел несколько, но не все кнопки мыши.
Найдено: влево, вправо, колесо, щелчок, большой палец вперед, большой палец назад.
Не найдено: колесо слева, колесо справа, средняя кнопка большого пальца.
Идентификатор поставщика - 0x04d9, идентификатор модели - 0xa015.

Обновление 2. В System> Prefs> Mouse есть значок лампочки для проверки скорости двойного щелчка. Каждая рабочая кнопка может включать и выключать лампочку, но отсутствующие кнопки не могут. Казалось бы, Ubuntu не знает об этих кнопках и, следовательно, не регистрирует их нажатия. Я думаю, мне нужно охотиться за водителем, хотя обычная мышь, вероятно, проще.

Торбен Гундтофте-Бруун
источник
Пожалуйста, объясните, что такое кнопка мыши 9.
@mateo_salta Получил это за несколько секунд до меня.
Вы используете Unity?
int_ua
Что это за модель и модель?
@int_ua Да, я стараюсь использовать конфигурацию системы, максимально приближенную к настройке по умолчанию.
ændrük

Ответы:

7

Если все кнопки определены правильно, вы можете установить btnx:

sudo apt-get install btnx ИЛИ sudo aptitude install btnx

Затем перейдите в: Приложения -> Системные инструменты -> Btnx

Поддерживает многие типы мышей.

Луис Альварадо
источник
Я проверил свою мышь с помощью btnx, но она не распознала все мои кнопки. Означает ли это проблему с моей мышью (драйвером?) Или с btnx (вряд ли, я думаю)?
Торбен Гундтофте-Брюн
Угадаю между. Возможно, модуль мыши не определяет мышь правильно, так что btnx тоже не распознает. Можете ли вы на самом деле нажать на все кнопки и посмотреть, распознает ли их программа, например, тест на нажатие в настройках мыши.
Луис Альварадо
1
Я выбрал это как правильный ответ, потому что btnx позволяет мне мгновенно тестировать каждую кнопку мыши - это доказало, что Ubuntu просто не знает о дополнительных кнопках. Мне нужна мышь для Linux.
Торбен Гундтофте-Бруун
19
btnx не может быть найден - пакет изменил имя?
Нортбен
27

У меня есть 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» в диалоговом окне.

СДЕЛАННЫЙ

ЛПП
источник
7
Кроме того, как примечание, обычно проще использовать grep xev | grep buttonдля кнопок мыши.
Сет
Прекрасно работает для меня, за исключением того, что мне не нужно было писать скрипт, чтобы по какой-то причине запустить его с моего компьютера. Благодарность!
Шуле
Как мне сделать кнопку мыши, чтобы она действовала как кнопка мыши? Это, кажется, для ключей в частности. Например, я хочу, чтобы кнопка 8 действовала как нажатие кнопки колесика мыши. Это возможно с xte?
Шуле
10

введите описание изображения здесь

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 и автоматически откроет окна конфигурации.

Источник

penreturns
источник
Не распознал дополнительные кнопки на Logitech G700s.
Дан Даскалеску
5

Easystroke Gesture Recognition предназначен в первую очередь для создания пользовательских жестов указывающего устройства , но его также можно использовать для назначения действий простым нажатиям кнопок.

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

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

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

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

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

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

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

ændrük
источник
5

Если вы установите диспетчер параметров CompizConfig, Установите CompizConfig Settings Manager вы сможете установить множество сочетаний клавиш для управления окнами.

Может потребоваться некоторое усилие, чтобы понять, какая кнопка какая.

На скриншоте я назначаю открывать переключатель Super + Tab левой кнопкой мыши на колесе прокрутки.

Скриншот

8128
источник
2

У Олли Салонена есть свой собственный ppa, который нужно добавить в свой список, если вы хотите установить через apt. Вот информация о добавлении ppa.

https://launchpad.net/~daou/+archive/ppa

Кроме того, эта ссылка может помочь при установке на более новую версию Ubuntu, так как я вижу, что Олли уже давно не активен.

mbiber
источник
1
и да , это ссылка , которую вы при условии, что я искал, спасибо еще раз awesomelinux.blogspot.com/2012/08/...
user231354
1

В середине 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.

Инго Каркат
источник
0

Принятый ответ устарел, вот обновленная версия.

У вас уже должно быть это, как и в 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», чтобы изменения вступили в силу.

введите описание изображения здесь

Нет Sssweat
источник