Как настроить дополнительные кнопки в Logitech Mouse


64

Кто-нибудь может подсказать, как настроить все кнопки мыши Logitech MX 620 под Ubuntu 12.04?

В частности, я хотел бы сделать один из них только Ctrlключ (для управления веб - страниц , нажав) и еще один Ctrl+ Wзакрывать вкладки. Я также обычно делаю страницу с колесом прокрутки вниз для каждого клика (в противном случае мои руки будут сильно болтаться при прокрутке). Я делаю толкание колеса влево = обратная страница и толчок вправо = страница вперед.

Я искал другие ответы на это и нашел что-то связанное здесь

Но когда я разместил сообщение для решения проблемы, никто не ответил - возможно, я допустил ошибку, отправив вопрос, который был «решен». Я не уверен, как я должен снова открыть вопрос, который имеет отношение к моему вопросу, но не совсем решает мой.


1
Я думаю, что это самый простой способ заставить мышь работать с полной функциональностью: ralf-oechsner.de/opensource/page/logitech_performance_mx
Эдвард Кеннеди

Ответы:


70

Для этого вам понадобится несколько приложений, чтобы установить их

sudo apt-get install xbindkeys xautomation xev

или же

sudo apt-get install xbindkeys xautomation x11-utils

edit: xev был объединен с x11utils, начиная с Ubuntu 14.04 или выше.

Шаг 1

Вам нужно найти номера кнопок для кнопок мыши. Беги xev. Вы увидите маленькие белые окна, наведите на них мышку и нажмите кнопки мыши (лучше всего делать это по одной кнопке за раз). Вы должны получить вывод, как это для каждой кнопки:

ButtonRelease event, serial 41, synthetic NO, window 0x4c00001,
root 0x2e9, subw 0x4c00002, time 25804905, (31,28), root:(821,80),
state 0x110, button 1, same_screen YES

(Примечание: xevтакже захватить движение мыши , так что вы , возможно , потребуется , чтобы просеять через события движения мыши , чтобы найти кнопку события, например: xev -event mouse | grep Button --before-context=1 --after-context=2)

Это то , что важно с этого выхода: button 1. Это говорит нам о том, что конкретная кнопка - кнопка первая. Я бы сохранил это в .txtфайле на данный момент.

Шаг 2

Создайте xbindkeysфайл конфигурации, используя:

xbindkeys --defaults > $HOME/.xbindkeysrc  

Далее нам нужно добавить привязки клавиш / кнопок к файлу конфигурации. Вы можете открыть этот файл с помощью gedit $HOME/.xbindkeysrc. Здесь начинается самое интересное. Мы собираемся использовать, xteчтобы установить привязки к нашим кнопкам.

Чтобы кнопка действовала так, как Ctrlмы добавили бы:

"xte 'key Control_L'"
b:1  

Это будет привязывать Ctrlк кнопке мыши один.

Если вы скажете мне номера кнопок ваших кнопок и то, что вы хотите, чтобы каждая из них сделала, я напишу сценарий для вас.


@seth: я бы хотел настроить кнопки 8 и 9 так, чтобы они были «назад» и «вперед» соответственно. А еще лучше, если бы я смог выяснить, где можно настроить команды, которые я могу настроить с помощью xbindkeys, это было бы здорово. Спасибо, Дэн
dbbd

11
Самый простой способ уменьшить маразм на выходе XEV является запуск выход через Grep: xev | grep -A2 ButtonPress; это оставит все события движения мыши, события фокуса и т. д. и просто покажет ButtonPressсобытия.
Ламбарт

@dbbd Видимо я как-то пропустил ваше сообщение. Я посмотрю на это и вернусь к вам.
Сет

2
Моя мышь тоже G300, и я не могу заставить это работать. Кнопки неправильно сопоставлены, и две кнопки сопоставлены с одной и той же кнопкой Control_L, и я понятия не имею, как сопоставить их, так как при нажатии они не идентифицируют себя.
Иноки

6
«xbindkeys -p», чтобы применить изменения
Алекс Федулов

12

Я следовал инструкциям @ Seth , но связывание, которое я хотел, было сделать для кнопки большого пальца и M705 CTRL + Left-click(для открытия ссылок на новой вкладке в браузере Chrome). Связывание, которое мне нужно было добавить, было таким:

"xte 'keydown Control_L' 'mouseclick 1' 'keyup Control_L'"
    b:10 + Release

Он ожидает отпускания кнопки большого пальца, затем нажимает управляющую клавишу, выполняет щелчок мышью, а затем отпускает управляющую клавишу.


Это решение, а не вышеприведенное, работало как прелесть на Ubuntu Mate 16.04 с мышью Logitech M705. Я использовал его, чтобы назначить копирование и вставку боковым кнопкам, чтобы мои настройки выглядели так: «xte» keydown Control_L '' key c '' keyup Control_L '"b: 9" xte' keydown Control_L '' key v '' keyup Control_L '"b: 8
Драко

2
"xbindkeys -p", чтобы применить изменения.
user3616725

8

Для тех, кто хочет привязать действия копирования и вставки к кнопкам мыши:

  1. Следуйте ответу Сета (тот, что с шагом 1, шагом 2 и sudo apt-get install xbindkeys xautomation xev)
  2. Поместите следующие строки в ваш .xbindkeysrcфайл:

Это для копирования:

"xte 'keydown Control_L' 'key c' 'keyup Control_L'"
b:9

Это для вставки:

"xte 'keydown Control_L' 'key v' 'keyup Control_L'"
b:8

* b:9означает кнопку 9 на мышке (отметьте номера кнопок с помощью xev)

  1. Это не сработает сразу, вы должны .xbindkeysrcсначала перезагрузить или перезагрузить компьютер.

Ух ты, это отлично сработало для меня. пытаясь настроить эти ключи в течение последних 4 лет и только сейчас смог сделать это. благодарю вас! Кстати, очень важно знать, что это за кнопки, для меня они были 16 и 17 на моей мышке ..
Tio

ПРИМЕЧАНИЕ: b: 9 и т. Д. ДОЛЖНЫ БЫТЬ в новой строке в файле конфигурации. Я поставил их в одну линию и не мог понять, почему это не работает.
user3616725

Это сработало для меня в GUI, но не работает для терминала Bash. Есть ли способ заставить копирование / вставку работать для ОБА GUI и оболочки с одинаковыми кнопками?
JoeMjr2

@ JoeMjr2 В терминале Bash вы, скорее всего, вставили бы, используя Ctrl + Shift + V, и скопировали, нажав Ctrl + Shift + C. Так что вам понадобится какой-то способ использовать привязку к конкретному приложению. Я не уверен, как, хотя. Возможно, вы могли бы использовать некоторый эмулятор терминала и настроить горячие клавиши для копирования и вставки стандартным способом - тогда ваши кнопки копирования и вставки мыши должны работать.
Зволин

5

Вам следует установить Solaar, инструмент Linux, который позволяет вам управлять мышью и клавиатурой Logitech Unifying Receiver, которая поставляется как с графическим интерфейсом, так и с интерфейсом командной строки. Для этого добавьте следующий репозиторий и установите его, выполнив следующие команды:

sudo add-apt-repository ppa:daniel.pavel/solaar

sudo apt-get update

sudo apt-get install solaar

Это позволит вам увеличить и увеличить DPI мыши, контролировать заряд батареи, включить плавную прокрутку и боковую прокрутку. Чтобы заставить работать мультиокно и кнопку масштабирования, вы можете посетить этот сайт, который проведет вас через простые шаги, чтобы получить требуемую функциональность:

http://www.ralf-oechsner.de/opensource/page/logitech_performance_mx


Я сделал это на моем C720 / гренке. Когда я запустил Solaar, он вылетел обратно на стартовый экран. Мне пришлось перезапустить (и выяснить, что команда была sudo startxfce4) и удалить Solaar.
Марти Коэн

Solaar был очень глючным для меня 14.04 и в итоге просто не побежал вообще. Я понимаю, что первоначальный вопрос был около 12.04, но подумал, что стоит упомянуть. Может быть, сэкономить кому-то время.
мох

12
-1. Этот ответ не отвечает на вопрос. Solaar не выполняет сопоставление кнопок мыши.
Двадцать

у меня тоже не сработало.
Woeitg

3

У вас уже должно быть это, как и в Ubuntu, но запустите это на всякий случай.

sudo apt-get install libdaemon-dev libglade2-dev libgtk2.0-dev 

Теперь загрузите и установите

  1. btnx-конфигурации
  2. btnx В таком порядке.

Установить:

Разархивируйте и cdв каждую из этих папок.

В каждом из них запускаются:

./configure
make
sudo make install

Как только они оба установлены, запустите

sudo btnx-config

На вкладке «Конфигурации» нажмите «Обнаружить мышь и кнопки».

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

На вкладке «Кнопки» назначьте кнопке мыши клавишу или функцию. Убедитесь, что вы отметили галочкой .

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

Наконец, на вкладке «Конфигурации» нажмите кнопку «Перезагрузить btx», чтобы изменения вступили в силу.

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


Хорошо работал на дискотеке Ubuntu. Одно исправление: это должно быть просто ./configure, а не ./configure make. Также вам не нужно sudo с make.
panta82

@ panta82 Я взял их прямо из файла README.md
нет Sssweat

Я знаю. В файле README есть ошибка :)
panta82

2

У меня тоже есть игровая мышь G700s. Хорошей новостью является то, что это было дорого (для мыши), и производство действительно построило его на высоком уровне. Функции для мыши хранятся в мышке. Плохая новость заключается в том, что для правильной настройки вам необходимо использовать программное обеспечение Logitech, которое работает только в Windows.

Итак ... в основном вам нужно подключить мышь в окно Windows, и настроить его именно так, как вы хотите . Я бы порекомендовал использовать функцию профилей коммутатора, чтобы вы могли настроить ее на нормальное использование: запуск рабочего стола linux, функции compiz (переключение приложений, переключение рабочих областей, переключение максимизации и т. Д.), А затем создать другой профиль для игр ( возможно с другой частотой обновления) и игровыми кнопками. Что касается compiz, рассмотрите возможность установки 4-х боковых кнопок «большие пальцы» на alt, ctl, shift, superkey, поскольку это упростит переключение с помощью колеса прокрутки. alt + колесико прокрутки вверх становится кнопкой большого пальца 1 + колесико прокрутки вверх.

Моя схема:

кнопка большого пальца 1 (вперед-вниз) = alt

кнопка большого пальца 2 (вперед вперед) = смещение

кнопка большого пальца 3 (задний нижний) = Ctrl

большой палец 4 (задний верхний) = суперключ (клавиша windows)

средняя кнопка указательного пальца = ctrl + alt + numpad 5

указательный палец ближе к вам = вкладка

указательный палец подальше от вас = alt-f4 (приложение для compiz / linux / winX close)

Compiz по умолчанию:

переключение рабочей области = alt + ctl + перетаскивание мышью = нижние 2 кнопки большого пальца вместе + щелчок мышью и перетаскивание; звучит сложно, когда набираешь текст, но его очень эффективно использовать.

переключение приложений = alt + tab = нижняя кнопка большого пальца вперед + кнопка указательного пальца (помните, чтобы это работало хорошо, вам нужно держать нажатой кнопку большого пальца, чтобы вы могли переключаться между 1 приложением)

исчезновение окна (прозрачность) = alt + колесо прокрутки = большой палец, нижняя кнопка вперед + колесо прокрутки

Затем верните его обратно в свой Linux-пакет, и он отлично работает.

Описанные выше сочетания клавиш прекрасно работают, но, учитывая, что Battlefield 4 также ужасно долго распознает мышь как мышь с 10 кнопками, для этого мне пришлось сопоставить 4 кнопки большого пальца с =, \ и; Но очевидно, что в Linux это глупо, и повторная привязка клавиши = к «следующему приложению» - урок бесполезности, особенно при кодировании хахахаха.

НАМ НУЖНЫ ССЫЛКИ, ЕСЛИ ИСПОЛЬЗОВАТЬ VIRTUALBOX ДЛЯ РАБОТЫ В WINDOWS 7:

https://stackoverflow.com/questions/20021300/usb-devices-are-not-recognized-in-virtualbox-linux-host

https://www.youtube.com/watch?v=-0OyrvbZNwo



1

У меня есть Logitech MX 500 и я хотел сопоставить боковые клавиши с помощью действий Копировать и Вставить (это очень полезно).

Я использовал это руководство, чтобы понять, как настроить файл xbindkeysrc и уметь сопоставлять ключи.


2
Вы знаете, что, перемещая указатель мыши к началу / концу текста, который вы хотите скопировать, затем нажимаете левую кнопку и удерживайте ее, пока не дойдете до конца / начала того, что хотите скопировать, и оно будет скопировано. Когда вы хотите вставить, вы нажимаете среднюю кнопку (если у вас просто двухкнопочная мышь, нажмите одновременно левую и правую кнопки), и вы вставляете текст. Не нужно ничего настраивать, это готово на всех компьютерах Unix и Linux с системой XWindows. Пожалуйста, имейте в виду, что мы не используем безликий продукт Microsoft, но GNU / Linux

@ user350566 Этот вид копирования + вставки имеет некоторые ограничения. Иногда вам нужен другой буфер обмена, он же Ctrl + C / + V. Просто говорю.
Donquixote

1

Я сделал решение, которое работает с Wayland.

Его здесь https://github.com/mathportillo/wayland-mouse-mapper

Он использует evemu для отправки уведомления о событии устройства ядру, поэтому он не ограничен Wayland

Ниже приведен обобщенный скрипт bash, который показывает, как он работает (большинство команд требуют привилегий root).

найти ваше устройство:

libinput list-devices

чтобы напрямую найти указатель имени устройства, используйте:

libinput list-devices | grep pointer -B3 | grep -o '/dev/input/event[1-9]*'

для вывода списка событий вашего устройства используйте (измените event5 на ваше указательное имя устройства):

libinput debug-events --device /dev/input/event5

чтобы привязать команды к вашему устройству, используйте события:

while read line; do
    echo ${line} # line represents a command
    # your code goes here
done < <(stdbuf -oL libinput debug-events --device /dev/input/event5 & )

чтобы вызвать событие мыши, используйте:

evemu-event /dev/input/event5 --sync --type EV_KEY --code KEY_PAGEUP --value 1

тип может отличаться от нажатия клавиши, а код может отличаться от PageUp, значение равно 1 для нажатой и 0 для отпущенного значения да, ваша мышь может вызывать нажатия клавиш, система будет интерпретировать ее так же, как клавиатуры, все ее события - только события от устройств событий.

Сценарий, который объединяет все вышеперечисленные понятия в рабочем маппере, который работает в Wayland и может быть настроен как служба для запуска при запуске системы, можно найти в приведенном выше репозитории git.


0

в Debian у вас есть xbindkeys-configпакет, который поможет вам настроить привязку клавиш / кнопок. Ну действуй:

sudo apt-get install xbindkeys-config

2
Эта программа просто вылетает, когда я пытаюсь что-то сделать с моим G300.
Иноки


0

Так что я использую свою производительность MX на моей машине с Ubuntu около 6 месяцев. Я оставил большинство кнопок по умолчанию, но я сделал кнопку «большой палец» супер-клавишей, что удобнее, чем переход в верхний левый угол экрана в gnome. И я сделал кнопку зума кнопкой управления. Но он настроен на включение CTRL и выключение CTRL с помощью отдельных кликов. Это действительно помогает, так как у меня один дисплей 4K и один 1080, поэтому я могу нажать кнопку масштабирования один раз, прокрутить колесико, чтобы увеличивать и уменьшать масштаб веб-страниц, и когда у меня масштабируется веб-страница, как я хочу, я нажимаю кнопку масштабирования. очередной раз. Вот мои настройки xbindkeysrc:

"/usr/bin/xte 'keydown Control_L' &"
b:13
"/usr/bin/xte 'keyup Control_L' &"
Control + b:13
"/usr/bin/xte 'key Super_L'"
b:10 + release

Это, кажется, не отвечает на заданный вопрос.
TheWanderer

0

btnxможет быть простым решением для переназначения кнопок с мышами Logitech, так как оно должно работать со всеми брендами. Он имеет простой графический интерфейс и может узнать о доступных кнопках. btnx был частью стандартных репозиториев много лет назад, но был удален. В настоящее время он доступен здесь: https://launchpad.net/~oliverstar/+archive/ubuntu/ppa


0

Прокручивайте вверх и вниз с помощью кнопок мыши вперед и назад

Сначала установите необходимые пакеты:

$ sudo apt install x11-utils xbindkeys xautomation

Далее, используйте xevпредоставленный x11-utilsдля определения точных номеров кнопок «назад» и «вперед» мыши.

$ xev |grep -A2 ButtonPress

Для моей проводной вертикальной мыши Anker назад и вперед находятся соответственно кнопки 8 и 9.

ButtonPress event, serial 37, synthetic NO, window 0x3600001,
    root 0x1da, subw 0x0, time 1708382, (68,54), root:(939,498),
    state 0x10, button 8, same_screen YES
--
ButtonPress event, serial 37, synthetic NO, window 0x3600001,
    root 0x1da, subw 0x0, time 1711030, (69,48), root:(940,492),
    state 0x10, button 9, same_screen YES

вертикальная проводная мышь Anker

Продолжите, создав скрытый файл с именем .xbindkeysrcв вашем домашнем каталоге со следующим содержанием:

"xte 'keydown Down'"
b:8

"xte 'keyup Down'"
b:8 + Release

"xte 'keydown Up'"
b:9

"xte 'keyup Up'"
b:9 + Release

Команда xteпредоставляется xautomationпакетом.

Наконец, выйдите и снова с рабочего стола, чтобы эти изменения вступили в силу. Теперь вы можете прокручивать вверх и вниз в браузерах и других программах, нажимая и удерживая кнопки «назад» и «вперед».

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.