Модификатор прокрутки для мыши/трекбола в Windows

Модификатор прокрутки для мыши/трекбола в Windows

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

Я мог бы сделать это довольно легко в Linux, установив scroll-modifier в конфигурации X, но драйвер, который идет с трекболом (Logitech), позволяет только одно или другое. Есть ли способ настроить это в Windows 8?

решение1

Управление кнопкой X-Mouse должно работать. http://www.highrez.co.uk/downloads/XMouseButtonControl.htm Вам просто нужно установить одну из кнопок на "Изменить движение на прокрутку". С моей мышью это работает так: я удерживаю кнопку, а затем перемещаю мышь, прокручивая страницу вместо перемещения указателя. Это должно работать так же и для трекбола.

решение2

Колесо мыши из мрамора

  • Загрузить Marble Mouse Wheel (http://marble-mouse-scroll-wheel.software.informer.com/download)
  • Игнорируйте или отмените рекламу, загружайте толькоMarbleinst.exe
  • После установки запустите его в режиме совместимости с Windows 7.
  • Установить кнопку «Назад» (Button4) в качестве кнопки прокрутки.

Мраморный свиток

Похожий исполняемый файл, другое расположение:

решение3

Я только что получил мышь Logitech Marble и у меня тоже возникла проблема с прокруткой. Поэтому я сделал этот скрипт на AutoHotKey. Левая кнопка Xbutton включает прокрутку, то есть, когда вы нажимаете вниз, вы можете прокручивать вертикально и горизонтально с помощью шарика, а также перемещаться вперед и назад в браузере с помощью левой и правой кнопок. Правая кнопка Xbutton имеет то же действие, что и средняя кнопка.

У меня Windows 7.

#SINGLEINSTANCE FORCE  
GLOBAL status := "basic"
GLOBAL cnt_x
GLOBAL cnt_y

XButton2::MButton

$*XButton1::
    status := "scroll"
    cnt_x := 0
    cnt_y := 0
    MOUSEGETPOS, st_x, st_y
    SETTIMER, _scroll, 30
RETURN

$*XButton1 UP::
    status := "basic"
    SETTIMER, _scroll, OFF
RETURN

_scroll:
    MOUSEGETPOS, cur_x, cur_y
    MOUSEMOVE, st_x, st_y

IF(abs(cur_x-st_x) > abs(cur_y-st_y)) {
    cnt_x := cnt_x + (cur_x-st_x)
    ControlGetFocus, control, A 
    IF (cnt_x > 7) {
        cnt := floor(cnt_x / 8)
        LOOP, %cnt% {
            SendMessage, 0x114, 0, 0, %control%, A
        }
        cnt_x := cnt_x - 8*floor(cnt_x / 8)
    } ELSE IF (cnt_x < -7) {
        cnt := -ceil(cnt_x / 8)
        LOOP, %cnt% {
            SendMessage, 0x114, 1, 0, %control%, A
        }
        cnt_x := cnt_x - 8*ceil(cnt_x / 8)
    }
} ELSE {
    IF (cur_y >= st_y) {
        cnt_y := cnt_y + (cur_y-st_y)**1.2
    } ELSE {
        cnt_y := cnt_y -(st_y-cur_y)**1.2
    }   
    IF (cnt_y > 7) {
        cnt := floor(cnt_y / 8)
        LOOP, %cnt% {
            CLICK WheelUp
        }
        cnt_y := cnt_y - 8*floor(cnt_y / 8)
    } ELSE IF (cnt_y < -7) {
        cnt := -ceil(cnt_y / 8)
        LOOP, %cnt% {
            CLICK WheelDown
        }
        cnt_y := cnt_y - 8*ceil(cnt_y / 8)
    }
}   
RETURN

$*LButton::
    IF (status = "basic") {
        CLICK DOWN Left
    } ELSE IF (status = "scroll") {
        SEND {Browser_Back}
    }
RETURN

$*LButton UP::
    IF (status = "basic") {
        CLICK UP Left
    }
RETURN

$*RButton::
    IF (status = "basic") {
        CLICK DOWN Right
    } ELSE IF (status = "scroll") {
        SEND {Browser_Forward}
    }
RETURN

$*RButton UP::
    IF (status = "basic") {
        CLICK UP Right
    }
RETURN

решение4

Я только что установил это на Windows 10, и все работает отлично: https://github.com/Seelge/TrackballScroll

Трекбол Logitech TrackMan Marble

Связанный контент