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

9

У меня есть трекбол 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

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

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

lambshaanxy
источник
Вы когда-нибудь решали это?
Revetahw говорит восстановить Монику
Пожалуйста. Давайте посмотрим, если это что-то делает, многие вопросы остаются без ответа здесь.
Revetahw говорит восстановить Монику
Вам помог какой-нибудь из ответов? Мне нужно присудить награду или отпустить.
Revetahw говорит восстановить Монику
@Fiksdal Я путешествую на этой неделе и не имею доступа к своему рабочему столу, поэтому я не смог их опробовать ... Хотя Дж. Кол выглядит наиболее многообещающе.
lambshaanxy
Хорошо. Нет проблем.
Revetahw говорит восстановить Монику

Ответы:

2

Я думаю, что вы ищете вариант ButtonMapping. У меня была похожая раздражающая функция с моей мышью ( https://www.kensington.com/en/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

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

Дж Коул
источник
1

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

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

Итак, имеем:

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

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

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

crimsonspectre
источник