У меня есть шаровой манипулятор 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, воздержитесь от инструкций по" кнопки "Back", предоставленных Вашим ссылка , Вы могли повторно отобразить кнопку "Назад", чтобы быть чем-то более безопасным, таким как щелчок правой кнопкой мыши.
я не знаю точно, как Вы объединяете это с Вашим выше файла конфигурации все же.
Вот моя конфигурация для этого очень хорошего шарового манипулятора, на 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
Так, мы имеем:
Я думаю опция, которую Вы ищете, ButtonMapping. У меня была подобная раздражающая функция с моей мышью ( https://www.kensington.com/en/no/4493/k72327eu/slimblade-trackball), так понял это только что.
опция "EmulateWheelButton" все еще должна работать, даже если Вы отключаете кнопку или повторно присваиваете отображение...
Теперь, я только протестировал это с xinput на evdev. Это намного более быстро для испытания вещей с xinput, и затем Вы могли просто добавить сценарий к своим "Приложениям Запуска" вместо того, чтобы иметь необходимость изменить/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
Теперь моя верхняя правая кнопка только работает автопрокруткой вместо приводящего в бешенство заднего поведения!