Logitech MX-510: некоторые дополнительные кнопки не используются

9

У меня Logitech MX-510, которым я пользуюсь около шести лет.

Logitech MX-510

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

  • Кнопка 1 (кнопка колеса мыши) работает как положено. Одно ButtonPressсобытие с state 0x10и button 1на прессе, и ButtonReleaseс state 0x110по выпуску.

  • Кнопка 2 (кнопка колеса мыши) работает как положено. Одно ButtonPressсобытие с state 0x10и button 2на прессе, и ButtonReleaseс state 0x210по выпуску.

  • Кнопка 3 (правая кнопка) работает как положено. Одно ButtonPressсобытие с state 0x10и button 3на прессе, и ButtonReleaseс state 0x410по выпуску.

  • Кнопка 4 (прокрутка вверх) работает как положено. Он отправляет ButtonPressсобытие с state 0x10и button 4, и ButtonReleaseсобытие с state 0x810. Оба события происходят мгновенно на каждом шаге прокрутки.

  • Кнопка 5 (прокрутка вниз) работает как положено. Он отправляет ButtonPressсобытие с state 0x10и button 5, и ButtonReleaseсобытие с state 0x1010. Оба события происходят мгновенно на каждом шаге прокрутки.

Кнопки 6 и 7, кажется, не существуют.

  • Кнопка 8 (кнопка назад) работает как положено. Он отправляет ButtonPressсобытие с state 0x10и button 8, и ButtonReleaseсобытие также с state 0x10. Оба события происходят мгновенно на каждом шаге прокрутки.

  • Кнопка 9 (кнопка назад) работает как положено. Он отправляет ButtonPressсобытие с state 0x10и button 9, и ButtonReleaseсобытие также с state 0x10. Оба события происходят мгновенно на каждом шаге прокрутки.

Мышь имеет три дополнительные кнопки, как вы можете видеть на картинке выше.

  • Кнопка 10 (на самой верхней части мыши) не используется. Он отправляет ButtonPressсобытие с state 0x10и button 10, и ButtonReleaseсобытие также с state 0x10. Кнопка не используется в Gnome, потому что ее нельзя выбрать. Большинство селекторов опций, например, один из CompizConfig Settings Manager, просто переходят к кнопке 9.

  • Кнопка 11 (дополнительная кнопка на передней части колеса мыши) не совсем пригодна для использования. При нажатии он отправляет ButtonPressсобытие с помощью state 0x10и button 11, и другое ButtonPressсобытие с state 0x10и, button 4 и еще одно одно ButtonPressсобытие с state 0x810и button 4(последние два имеют такое же поведение, как если бы колесо прокрутки было перемещено на один шаг вверх). При освобождении отправляет ButtonReleaseсобытие с state 0x10и button 11. Но суть в том, что когда кнопка нажата, она повторяет «симуляцию колесика мыши» примерно пять раз в секунду. (как круиз-контроль мыши или что-то в этом роде).

  • Кнопка 12 (дополнительная кнопка на задней части колеса мыши) не совсем пригодна для использования. При нажатии он отправляет ButtonPressсобытие с помощью state 0x10и button 12, и другое ButtonPressсобытие с state 0x10и, button 5 и еще одно одно ButtonPressсобытие с state 0x1010и button 5(последние два имеют такое же поведение, как если бы колесо прокрутки было перемещено на один шаг вверх). При освобождении отправляет ButtonReleaseсобытие с state 0x10и button 12. При удерживании он отображает то же самое поведение круиз-контроля, что и кнопка 11, но с соответствующими кнопками и параметрами состояния.

Есть ли способ, как я могу переназначить эти дополнительные ключи таким образом, чтобы я мог использовать их или сделать их пригодными для использования с Gnome? И особенно, если это возможно, заставить кнопки 11 и 12 прекратить отправку кодов для прокрутки колесика мыши вверх и вниз. И если возможно, как я могу изменить общее поведение кнопок мыши в целом?

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

Ответы:

2

Вам необходимо использовать lomoco для внесения постоянных изменений (например, для остановки кнопок 11 и 12 при отправке событий колеса прокрутки). Возможно, вам придется запустить lomoco при запуске, чтобы сохранить изменения. Я сделал это с моим MX1000.

Вы можете использовать xmodmap для переназначения кнопок, если вы хотите назначить кнопки 6 и 7 (которые обычно рассматриваются как горизонтальная прокрутка под X.)

Malvineous
источник
Проблема в том, что lomoco не компилируется, так как Linux не поддерживает STREAMS (stropts.h)
polemon
@polemon: Компилирование отлично для меня - вы используете ссылку «загрузить версию 1.0» с домашней страницы ?
Malvineous
@Malvineous: да
полемон
@polemon: Похоже, вам не хватает некоторых заголовочных файлов, может быть, в вашем дистрибутиве есть пакеты -dev, которые вам нужно установить, прежде чем вы сможете скомпилировать их? Я попробовал это под Gentoo без проблем. Возможно, в вашем дистрибутиве уже есть пакет для него.
Malvineous
Я проверил их все. Они доступны только для кросс-компиляции. Стандартные заголовки Linux больше не включают их. В довольно новом дистрибутиве их нет ни в репо, ни где-либо еще. Версия 1.0 слишком старая. :(
Полемон
1

(У меня есть Mx518, и я делаю некоторые предположения о 500 на основе моего 518.)

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

Вы можете использовать lmctl для настройки самой верхней кнопки или кнопок, расположенных по бокам колеса. Есть другая программа под названием, logitech_appletно я никогда не использовал ее

Эндрю Ламберт
источник
1
У MX510 не было регулируемого разрешения. Эти две кнопки, о которых вы говорите, имели совершенно разные функции на MX-510 (я знаю, как мыши, MX-510 и MX-518).
Полемон
Понимаю. Ну, одна из двух программ, которые я упомянул, может быть в состоянии отобразить их тогда.
Эндрю Ламберт
lmctl давно умер. Последующий проект, [lomoco], кажется, пока не поддерживается, но все еще видит развитие. Тем не менее, я не могу построить клонированный репозиторий. Релиз настолько старый, что не скомпилируется.
Полемон
@polemon: убедитесь, что вы используете оригинальный lomoco, а не переписанный, который в настоящее время не компилируется. Я не думаю, что оригинальный Lomoco находится под контролем версий.
Malvineous