Отключение «назад» для трекбола Logitech

У меня есть трекбол Logitech Marble Mouse с четырьмя кнопками:

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

Используя инструкции здесь , у меня есть 50-marblemouse.conf (xorg.conf), настроенный так, что удерживание кнопки «назад» позволяет мне прокручивать:

 Section "InputClass" Identifier "Marble Mouse" MatchProduct "Logitech USB Trackball" MatchIsPointer "on" MatchDevicePath "/dev/input/event*" Driver "evdev" Option "EmulateWheel" "true" Option "EmulateWheelButton" "8" EndSection 

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

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

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

Я не знаю точно, как вы объедините это с вашим вышеуказанным конфигурационным файлом.

Вот моя конфигурация для этого очень хорошего трекбола, на Ubuntu, еще в 2009 году. Надеюсь, что это все еще работает, может быть, у вас будет несколько отличий от «Driver» и «Device». Однако параметры кнопок должны быть одинаковыми.

 Code: Section "InputDevice" Identifier "Marble Mouse" Driver "mouse" Option "CorePointer" Option "Device" "/dev/input/mice" Option "Protocol" "ExplorerPS/2" Option "Emulate3Buttons" "true" Option "Buttons" "9" Option "EmulateWheel" "1" Option "EmulateWheelButton" "8" Option "YAxisMapping" "4 5" Option "XAxisMapping" "6 7" EndSection 

Итак, у нас есть:

  • Третья кнопка находится на «Вперед» (9), очень удобная.
  • эмулировать колесо на «Назад» (8)
  • обратите внимание, что я определил оси X и Y, что означает, что при нажатии «Назад» большим пальцем вы можете прокручивать в обоих направлениях с помощью шара, например, с помощью сенсорной панели.

Я думаю, что вариант, который вы ищете, это ButtonMapping. У меня была такая же раздражающая функция с моей мышью ( https://www.kensington.com/ru/no/4493/k72327eu/slimblade-trackball ), так что я понял это недавно.

Опция «EmulateWheelButton» по-прежнему должна работать, даже если вы отключите кнопку или переназначаете отображение …

Теперь я тестировал это только с помощью xinput на evdev. Гораздо проще попробовать все с помощью xinput, а затем вы можете просто добавить скрипт к своим «Startup Applications» вместо того, чтобы изменять / etc / X11 / и перезапускать X снова и снова.

Таким образом, это должно быть все, что вам нужно в xorg.d / mouse.conf (строки с комментариями должны быть необходимы, если вы не хотите использовать сценарий входа для этого для каждого пользователя), хотя вам может и не понадобиться это на все, если вы используете xinput:

 Section "InputDevice" Identifier "Configured Mouse" Driver "evdev" Option "Device" "/dev/input/mice" Option "Protocol" "auto" #Option "EmulateWheel" "1" #Option "EmulateWheelButton" "8" #Option "ButtonMapping" "1 2 3 4 5 6 7 0 9 10 11 12" EndSection 

Вот что я сделал, чтобы выяснить мое решение (очевидно, замените мое устройство на ваше устройство в следующих командах):

Показать устройства:

 $ xinput list Virtual core pointer id=2 [master pointer (3)] ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ↳ ELAN Touchscreen id=11 [slave pointer (2)] ↳ SynPS/2 Synaptics TouchPad id=13 [slave pointer (2)] ↳ Kensington Kensington Slimblade Trackball id=18 [slave pointer (2)] 

Посмотрите, какие свойства поддерживаются для этого устройства:

 $ xinput list-props "Kensington Kensington Slimblade Trackball" Device 'Kensington Kensington Slimblade Trackball': Device Enabled (142): 1 Coordinate Transformation Matrix (144): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000 Device Accel Profile (273): 0 Device Accel Constant Deceleration (274): 1.000000 Device Accel Adaptive Deceleration (275): 1.000000 Device Accel Velocity Scaling (276): 10.000000 Device Product ID (260): 1149, 8257 Device Node (261): "/dev/input/event17" Evdev Axis Inversion (277): 0, 0 Evdev Axes Swap (279): 0 Axis Labels (280): "Rel X" (152), "Rel Y" (153), "Rel Vert Wheel" (573) Button Labels (281): "Button Left" (145), "Button Middle" (146), "Button Right" (147), "Button Wheel Up" (148), "Button Wheel Down" (149), "Button Horiz Wheel Left" (150), "Button Horiz Wheel Right" (151), "Button Side" (679), "Button Unknown" (263), "Button Unknown" (263), "Button Unknown" (263), "Button Unknown" (263) Evdev Scrolling Distance (282): 1, 1, 1 Evdev Middle Button Emulation (283): 0 Evdev Middle Button Timeout (284): 50 Evdev Third Button Emulation (285): 0 Evdev Third Button Emulation Timeout (286): 1000 Evdev Third Button Emulation Button (287): 3 Evdev Third Button Emulation Threshold (288): 20 Evdev Wheel Emulation (289): 1 Evdev Wheel Emulation Axes (290): 0, 0, 4, 5 Evdev Wheel Emulation Inertia (291): 10 Evdev Wheel Emulation Timeout (292): 200 Evdev Wheel Emulation Button (293): 8 Evdev Drag Lock Buttons (294): 0 

Теперь давайте сделаем снимок:

 $ xinput set-button-map "Kensington Kensington Slimblade Trackball" 1 2 3 4 5 6 7 0 9 10 11 12 $ xinput set-prop "Kensington Kensington Slimblade Trackball" "Evdev Wheel Emulation" 1 $ xinput set-prop "Kensington Kensington Slimblade Trackball" "Evdev Wheel Emulation Button" 8 

Теперь моя верхняя правая кнопка работает только как автоматический прокрутка, а не отвратительное поведение!