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

6159
askvictor

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

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

1

3 ответа на вопрос

5
ChrisN

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

Хотя это позволяет мне установить действие прокрутки, когда я удерживаю кнопку (что позволяет делать программа Logitech), я все же хочу, чтобы кнопка регистрировалась как средний щелчок при кратковременном нажатии - я не могу найти способ чтобы оба эти события происходили в Windows, как я могу в Linux askvictor 11 лет назад 0
Вы можете написать пользовательские действия для каждой кнопки, используя X-Mouse, но я не уверен, что она может полностью воспроизвести то, что вы ищете ... Usta 11 лет назад 0
Похоже, на данный момент невозможно сделать и то и другое ... автор X-Mouse говорит, что может реализовать это в будущем ... askvictor 11 лет назад 0
Within many others, including official drivers, that is the best solution, which works in sublime text and does not displace pointer dy_ 7 лет назад 0
1
ITelligencia

Marble Mouse Wheel

Marble Scroll

Similar executable, different location:

Кажется, это делает то, что я хочу, но у меня не работает надежно на Windows 8.1 64 бит :( Я пробовал разные настройки совместимости, но не повезло askvictor 9 лет назад 0
0
Amiral_JCDG

I just got a Logitech Marble mouse and also had the problem of scrolling. So I have made this script on AutoHotKey. The left Xbutton enables scrolling, meaning that while down you can scroll vertically and horizontally with the ball, and move forward and backwards in the browser with the left and right buttons. The right Xbutton has the same action as the middle button.

Im on 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 } RETURN $*LButton UP:: IF (status = "basic") { CLICK UP Left } RETURN $*RButton:: IF (status = "basic") { CLICK DOWN Right } ELSE IF (status = "scroll") { SEND } RETURN $*RButton UP:: IF (status = "basic") { CLICK UP Right } RETURN