Как мне сопоставить две кнопки для эмуляции прокрутки?

У меня есть Logitech Trackman Marble, в котором есть две большие кнопки и две крошечные. У этого также нет колеса прокрутки.

Используя эту конфигурацию из Arch wiki , можно настроить одну из маленьких кнопок в качестве модификатора прокрутки.

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

Я попытался добавить следующее сопоставление кнопок, чтобы сопоставить кнопку 9 с кнопкой 8, чтобы они оба запускали прокрутку. Но вторая кнопка просто вызывает кнопку возврата.

Option "ButtonMapping" "1 2 3 4 5 6 7 8 8" 

Как я могу это сделать?

Или, в качестве альтернативы, как я могу легко переключаться между правой и левой конфигурацией? Если бы я мог настроить четвертую бесполезную кнопку для «зеркалирования» мыши, это было бы очень приятно.

One Solution collect form web for “Как мне сопоставить две кнопки для эмуляции прокрутки?”

У меня тот же трекбол, и это мой /etc/X11/xorg.conf.d/99-logievdev.conf для включения прокрутки:

 Section "InputClass" Identifier "Logitech USB Trackball" MatchProduct "Logitech USB Trackball" MatchDevicePath "/dev/input/event*" MatchIsPointer "true" Driver "libinput" Option "ButtonMapping" "1 0 3 4 5 0 0 8 2" Option "ScrollMethod" "button" Option "ScrollButton" "8" EndSection 

Обратите внимание, что вам нужны только Option "ScrollMethod" и Option "ScrollButton" чтобы включить прокрутку трекбола.

Возможно, моя arm достаточно отличается от вашей, но я считаю, что все четыре кнопки пригодны для меня. Вот почему я назначил труднодоступную маленькую кнопку средней кнопке мыши (кнопка 2) для тех редких старых программ X11, которые иногда нуждаются в этом. Вот почему я не использую Option "MiddleEmulation" которая использовалась в конфигурации Arch Wiki, которую вы связали.

Возможно, опция ScrollButton обрабатывается до ButtonMapping , что позволяет назначить прокрутку одной и только одной кнопке.

Для переключения между конфигурациями вы можете использовать что-то вроде этого скрипта:

 #!/bin/sh MOUSENAME="Logitech USB Trackball" CUR_SC_BUTTON=$(xinput --list-props "$MOUSENAME" | grep "Scrolling Button (" | cut -d : -f 2) case $CUR_SC_BUTTON in 8) # mouse is currently right-handed, switch to left xinput --set-prop "$MOUSENAME" "libinput Button Scrolling Button" 9 xinput --set-button-map "$MOUSENAME" 3 2 1 4 5 6 7 9 8 # note: may need to switch 9 and 8 around, depending on how # ButtonMapping and ScrollingButton interact ;; 9) # mouse is currently left-handed, switch to right xinput --set-prop "$MOUSENAME" "libinput Button Scrolling Button" 8 xinput --set-button-map "$MOUSENAME" 1 2 3 4 5 6 7 8 9 ;; esac 

Отказ от ответственности: я не тестировал этот скрипт сам, я только что написал его.

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

  • Инструмент для автоматического применения конфигурации RandR при подключении внешнего дисплея
  • Инвертировать цвета при настройке двухэкранных / двух мониторов?
  • Запустить X на сервере через SSH
  • Отображение scancodes для кодов клавиш
  • Отключение (или удаление) X из исходного сервера CrunchBang
  • Как я могу добиться эффекта удаленного рабочего стола MS в Linux?
  • Как положить немного раскладки клавиатуры в сторону от переключающего кольца компоновки?
  • как программы скриншотов / скриншотов работают в системах POSIX с X?
  • Автоматическое определение драйвера видеокарты
  • Плохое разрешение на втором мониторе Fedora 24
  • Как настроить MouseButton4 на TeamSpeak
  • Interesting Posts
    Linux и Unix - лучшая ОС в мире.