Biện pháp khắc phục cho một trackball không có bánh xe cuộn?


30

Tôi đang suy nghĩ để mua một trackball và lựa chọn của tôi là đá cẩm thạch theo dõi Logitech. Nhưng sau đó tôi thấy rằng không có bánh xe cuộn. Làm thế nào để bạn giải quyết với điều đó? Tôi có chắc chắn muốn mua một trackball với bánh xe cuộn không? Tôi cuộn rất nhiều bằng facebook.

Tôi không muốn nhấp bằng ngón trỏ và ngón giữa, vì vậy một số chuột trackball sẽ không hoạt động với tôi, như Trackman Wheel.


Hãy thử Bánh xe Trackman của Logitech. Cung cấp một mô hình có dây hoặc không dây.
Moab

Tôi không muốn nhấp bằng ngón trỏ và ngón giữa, đó là lý do tại sao tôi muốn một quả bóng với quả bóng ở giữa. Cảm ơn.
lamwaiman1988

Bạn thường có thể thiết lập mọi thứ như thế này với phần mềm chuột của bạn. Từ đó bạn có thể làm nhiều việc khác nhau (nhấn và giữ nút nhấp chuột phải trong khi di chuyển bi xoay, v.v ...). Tôi cho rằng có lẽ bạn đã khắc phục vấn đề của mình rồi, bởi vì bạn đã đăng bài này một năm trước . Nếu không, chúc may mắn cho bạn.
Giúp đỡ

@HelpingHand Không, tôi vẫn không thể tìm thấy một giải pháp khả thi. Bây giờ tôi đang sử dụng PageUp và PageDown để cuộn.
lamwaiman1988

Câu trả lời:


13

Nếu bạn đang sử dụng Windows, tôi khuyên bạn nên dùng thử AutoHotKey, những người dùng khác đã xử lý việc cuộn bằng Chuột đá (Tôi đã sử dụng tập lệnh ở phía dưới):

http://www.autohotkey.com/board/topic/4677-wheel-button-emulation-script/

Giải pháp của Logitech đi kèm với trình điều khiển của họ rất lạ: bạn nhấp một lần để bật cuộn 4 chiều và nhấp lại để tắt. Bạn không thể giữ và cuộn đó là những gì tôi đã theo sau. Tôi cố gắng gỡ cài đặt phần mềm của họ.


Giải pháp này hoạt động nhưng chỉ hỗ trợ nút nhỏ bên trái trên bi xoay để nó vô hiệu hóa chức năng 'quay lại' mặc định của nó cho trang web. Dù sao, tôi có thể chấp nhận câu trả lời này sau khi dùng thử vài ngày.
lamwaiman1988

LƯU Ý: tập lệnh AHK chỉ hoạt động đối với bi xoay có nút X hoặc 4+ bi xoay nút.
Michael Paulukonis

Rất đơn giản để cập nhật tập lệnh để sử dụng một nút khác. Có một nhận xét ở trên một phép gán biến ở gần đầu - thay đổi "XButton1" thành giá trị khác để sử dụng nút đó thay thế. Có một danh sách các phím đặc biệt trong tệp trợ giúp AHK (chỉ cần chạy AHK từ menu Bắt đầu) trong "Danh sách các phím, Nút chuột và Điều khiển cần điều khiển", trong đó bạn có thể chọn bất kỳ phím / nút nào để đóng vai trò là công cụ sửa đổi.
James B

9

Tôi có cùng một trackball và giải pháp rất thanh lịch: khi bạn nhấp vào nút đã chọn, chính quả bóng sẽ trở thành một bánh xe cuộn. Tôi đã chọn nút lớn bên phải mà tôi nhấn bằng ngón tay út.

Điều này rất thuận tiện và chỉ mất vài ngày để làm quen.

Bạn sẽ nhanh chóng xem xét rằng bất kỳ con lăn nào (trên chuột hoặc bi xoay) là thứ gì đó không thể sử dụng được. Tin tôi đi, nó đáng đấy ;-)

Ưu điểm:

  • Cuộn 2D thay vì 1D
  • di chuyển nhanh và chính xác hơn so với bánh xe
  • thoải mái hơn cho cuộn dài (nhờ quán tính của quả bóng). Hoàn hảo cho ví dụ facebook của bạn.

Tôi không thể sống mà không có nó nữa.

Cấu hình trong bất kỳ HĐH Linux nào cũng không khó. Nó chỉ yêu cầu bạn tạo tệp /etc/X11/xorg.conf (xem cấu hình của tôi ở đây: Định cấu hình trackball trong Linux mà không cần chỉnh sửa Xorg.conf )

Thông tin chi tiết có thể được tìm thấy ở đây: https://help.ubfox.com/community/Logitech_Mar cờouse_USB

Trên Windows, tôi không có kinh nghiệm nhưng tôi nghĩ rằng một công cụ cấu hình được phân phối với trackball.


2
Môi trường làm việc của tôi chủ yếu là các cửa sổ, vì vậy đây không phải là một lựa chọn khả thi đối với tôi và tôi không biết làm thế nào để chuyển cái này vào windows.
lamwaiman1988

8

Bạn có thể thử Bánh xe cuộn chuột bằng đá cẩm thạch, được phát triển đặc biệt cho con chuột đó:

Marble Mouse Scroll Wheel, hay chỉ là Marble Scroll, là một chương trình nhỏ được thiết kế để mô phỏng một bánh xe cuộn trên bất kỳ trackball hoặc chuột nào mà không có. Nó được thiết kế đặc biệt cho Chuột đá cẩm thạch Logitech nhưng có thể hoạt động với bất kỳ chuột hoặc trackball tiêu chuẩn nào. Nó được thiết kế cho Windows 2000 trở lên.

Marble Scroll là sự thay thế cho các chức năng Autoscroll và Universal Scroll của Logitech; không mô phỏng đúng một bánh xe cuộn thực sự và cả hai đều có những hạn chế và sai sót.

Marble Scroll hoạt động với mọi chuột hoặc bi xoay và không yêu cầu trình điều khiển SetPoint hoặc MouseWare của Logitech được cài đặt.

Tính năng, đặc điểm

  • Thêm một bánh xe cuộn cho bất kỳ con chuột nào có nhiều hơn hai nút
  • Tương thích với hầu hết các ứng dụng hỗ trợ bánh xe cuộn (cho mọi loại đầu vào)
  • Điều chỉnh gia tốc
  • Khoảng cách cuộn có thể điều chỉnh (mỗi "bước" - xem bên dưới)
  • Di chuyển từng bước để mô phỏng một bánh xe chuột thật
  • Công tắc chuyển đổi chế độ tay trái / phải nhanh
  • Bật / tắt nhanh bằng cách nhấp vào biểu tượng khay
  • Nhỏ và nhẹ về tài nguyên hệ thống

Trang web của sản phẩm dường như không hoạt động, nhưng đây là bản sao văn bản của trang web trên Archive.org .

Một liên kết tải xuống ở đây .


Trên windows 8 nó hoạt động tốt.
Justinas Dūdėnas

Điều này vẫn hoạt động tốt trên Win7 & 8. Giữ nút quay lại trên chuột cho phép tôi cuộn bằng trackball. Tuy nhiên tôi vẫn có thể sử dụng nút quay lại làm nút quay lại. Về cơ bản nó đã thêm chức năng mà không lấy đi bất cứ thứ gì. Các loại giải pháp tốt nhất.
japzone

1
Dường như không hoạt động đáng tin cậy trên Windows 10 :(
hỏi

1
Bản sao tải xuống được liên kết hiển thị dưới dạng phần mềm độc hại - không chắc bây giờ có phải là dương tính giả hay không, nhưng hiện tại không có khả năng đó.
James B

1
Tôi đã sử dụng nó trong nhiều năm và nó hoạt động tốt cho đến Windows 8, trong đó nó trở nên không đáng tin cậy. Tôi đã không thử nó trong Win 10. Tôi đã gửi email cho tác giả gốc đã trả lời (!) Và mặc dù anh ta đã mất mã nguồn, nói với tôi ý chính cơ bản về cách thực hiện. Ý chính mà anh ấy đưa ra cho tôi là những gì câu trả lời khác này đã làm: superuser.com/a/782571/127024
Johann

8

Có một giải pháp thay thế C ++ 100 dòng đơn giản, khá giống với các giải pháp AutoHotKey, đó là

  • gửi các sự kiện bánh xe cuộn dọc / ngang bằng cách di chuyển bi xoay trong khi giữ một trong các Nút X và
  • nhấp chuột giữa khi nhấn và nhả nút X mà không di chuyển bi xoay.

https://github.com/Seelge/TrackballScroll

Chỉnh sửa: Các phiên bản mới hơn cung cấp biểu tượng systray, hoạt động trên Windows 10 và dựa trên C #.


Giải pháp này vượt trội hơn bất kỳ tập lệnh AutoHotKey nào mà tôi đã thử, tất cả đều gặp phải một "trò đùa con trỏ" khó chịu, do một sự kiện theo thời gian "di chuyển chuột trở lại vị trí ban đầu" cứ sau rất nhiều mili giây cuộn Tập tin thực thi TrackballScroll đơn giản này không bị giới hạn như vậy và hoạt động rất tốt. Nhắc nhở duy nhất là nó không hoạt động đáng tin cậy trên Cập nhật của Windows 10 Creator, kể từ khi viết bài này: github.com/Seelge/TrackballScroll/issues/14
Ben Johnson

Tôi đã sử dụng nó trong nhiều năm và yêu thích nó (tôi thậm chí đã trả lời câu trả lời này hơn một năm trước) nhưng sau khi chuyển sang Windows 10 tuần trước, tôi muốn chỉ ra rằng lỗi được đề cập trong bình luận khác vẫn không xảy ra ' Đã sửa, và sự không đáng tin cậy đã khiến tôi hoàn toàn không thể sử dụng được trong thực tế.
mtraceur

4

Đây là tập lệnh AutoHotKey mà tôi sử dụng. Bạn cuộn bằng cách giữ nút nhỏ bên trái và lăn quả bóng lên / xuống. Tuy nhiên, nhấp vào nút nhỏ bên trái vẫn TRỞ LẠI. Nó cũng có thể cuộn sang trái / phải nhưng nó quá nhạy cảm đối với tôi nên nó đã nhận xét ở đây (khối bắt đầu bằng ;timesX := Abs(movedx) / 4).

Tôi đã tìm thấy phiên bản gốc tại http://www.autohotkey.com/board/topic/30816-simulation-scroll-wheel-USE-right-mouse-button/ . Tôi đã đăng phiên bản của mình ở đó với tư cách người khác8923.

$*XButton1::
Hotkey, $*XButton1 Up, XButton1up, off
;KeyWait, XButton1, T0.4
;If ErrorLevel = 1
;{
   Hotkey, $*XButton1 Up, XButton1up, on
   MouseGetPos, ox, oy
   SetTimer, WatchTheMouse, 5
   movedx := 0
   movedy := 0
   pixelsMoved := 0
;   TrayTip, Scrolling started, Emulating scroll wheel
;}
;Else
;   Send {XButton1}
return

XButton1up:
Hotkey, $*XButton1 Up, XButton1up, off
SetTimer, WatchTheMouse, off
;TrayTip
If (pixelsMoved = 0)
{
    ;The mouse was not moved, send the click event
    ; (May want to make it PGUP or something)
    Send {XButton1}
    Send {XButton1Up}
}
return

WatchTheMouse:
MouseGetPos, nx, ny
movedx := movedx+nx-ox
movedy := movedy+ny-oy

pixelsMoved := pixelsMoved + Abs(nx-ox) + Abs(ny-oy)

;timesX := Abs(movedx) / 4
;ControlGetFocus, control, A
;Loop, %timesX%
;{
;    If (movedx > 0)
;    {
;        SendMessage, 0x114, 1, 0, %control%, A ; 0x114 is WM_HSCROLL
;        movedx := movedx - 4
;    }
;    Else
;    {
;        SendMessage, 0x114, 0, 0, %control%, A ; 0x114 is WM_HSCROLL
;        movedx := movedx + 4
;    }
;}

timesY := Abs(movedy) / 4
Loop, %timesY%
{
    If (movedy > 0)
    {
        Click WheelDown
        movedy := movedy - 4
    }
    Else
    {
        Click WheelUp
        movedy := movedy + 4
    }
}   

MouseMove ox, oy
return

Nếu bạn muốn sử dụng nhấp chuột phải, thay thế "XButton1" bằng "RButton".
Matt Woelk

Điều này chỉ hoạt động hoàn hảo đối với tôi, nhưng có cách nào để làm cho hành động cuộn mượt mà hơn không? Tôi đã thử cả hai phương thức SendMessage và WheelUp / Down để cuộn dọc và cả hai đều thực hiện một 'bước nhảy'
hỏi

3

Thật xấu hổ khi Logitech không thực hiện mô phỏng bánh xe cuộn. Trình điều khiển của họ hứa hẹn một tính năng để làm như vậy, nhưng nó không hoạt động cho tất cả các ứng dụng, khiến nó khá vô dụng. Họ đã rất gần để tạo ra con chuột hoàn hảo! :S

Cách giải quyết duy nhất tôi tìm thấy là sử dụng tập lệnh AutoHotkey cho nó. Với nó, bạn có thể làm cho các nút trái / phải nhỏ xíu cuộn lên xuống. Nó hoạt động hoàn hảo, nhưng thật rắc rối khi cấu hình nó: trước tiên bạn sẽ cần tìm hiểu những điều cơ bản về AutoHotkey. Nếu bạn quyết định làm như vậy, đây là tập lệnh AutoHotkey của tôi. Nó là bản chuyển thể từ kịch bản gốc của Jerbo . Một nhấp chuột duy nhất sẽ bắt đầu cuộn với tốc độ bình thường, nhưng nhấp chuột gấp đôi hoặc gấp ba sẽ bắt đầu cuộn nhanh hơn.

; This script remaps the two small buttons on a Logitech Trackman® Marble® Mouse
; to act as scroll up and scroll down

global lastXButton1ClickTime := 0
global nrSubsequentXButton1Clicks := 0

ScrollTheWheel(direction, scrollKey)
{
    now := A_TickCount
    timeSinceLastClick := now - lastXButton1ClickTime 
    lastXButton1ClickTime := now
    if (timeSinceLastClick < 300)
    {
        nrSubsequentXButton1Clicks := nrSubsequentXButton1Clicks + 1
    }
    else
    {
        nrSubsequentXButton1Clicks := 1
    }        

    sleepingFraction := 5

    if (nrSubsequentXButton1Clicks <= 1)
        scrollSpeed := 30
    if (nrSubsequentXButton1Clicks == 2)
        scrollSpeed := 15
    if (nrSubsequentXButton1Clicks >= 3)
        scrollSpeed := 5

    timeSlept := scrollSpeed

    loop 
    {
        if (direction == 1) ; Scroll down
        {
            static downKeyState
            if (scrollKey == 0) 
                GetKeyState, downKeyState, XButton1, P
            else
                GetKeyState, downKeyState, PgDn, P

            if downKeyState = U ; The key has been released, so break out of the loop
               break

            if (timeSlept >= scrollSpeed)
            {
                Send {WheelDown}
                timeSlept = 0                
            }
        }
        else ; Scroll up
        {
            static upKeyState
            if (scrollKey == 0)
                GetKeyState, upKeyState, XButton2, P
            else
                GetKeyState, upKeyState, PgUp, P

            if upKeyState = U ; The key has been released, so break out of the loop
               break            

            if (timeSlept >= scrollSpeed)
            {
                Send {WheelUp}
                timeSlept = 0                
            }
        }   

        Sleep, sleepingFraction
        timeSlept := timeSlept + sleepingFraction
    }    
}

XButton2::
    ScrollTheWheel(0, 0)
    return
XButton1::
    ScrollTheWheel(1, 0)
    return
!PgUp::
    ScrollTheWheel(0, 1)
    return
!PgDn::
    ScrollTheWheel(1, 1)
    return

Tôi cũng có thể bấm phím PageUp / PageUp trực tiếp ....
lamwaiman1988

2

Tôi vừa có một con chuột Logitech Marble và cũng gặp vấn đề về cuộn. Vì vậy, tôi đã thực hiện kịch bản này trên AutoHotKey. Xbutton bên trái cho phép cuộn, nghĩa là trong khi xuống, bạn có thể cuộn theo chiều dọc và chiều ngang với quả bóng, và di chuyển tiến và lùi trong trình duyệt với các nút trái và phải. Xbutton bên phải có hành động tương tự như nút giữa.

Im trên 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

Tôi đã từ bỏ và sử dụng phím lên xuống trên bàn phím. Ngoài ra, tôi sẽ nhấn vào khoảng trống trên thanh cuộn để di chuyển trang lên và xuống.
lamwaiman1988

1

Tùy thuộc vào hệ điều hành của bạn, bạn có thể định cấu hình một trong các nút để cho phép cuộn qua di chuyển con trỏ khi được giữ. Ví dụ: tập lệnh sau cho phép điều này trên nút 10 trên chuột của tôi (nút "giữa trên cùng" của Logitech MX 310):

#!/bin/sh
xinput set-prop "Logitech USB-PS/2 Optical Mouse" 290 10
xinput set-prop "Logitech USB-PS/2 Optical Mouse" 286 1
xinput set-prop "Logitech USB-PS/2 Optical Mouse" 287 6 7 4 5

1

Có những con chuột bằng đá cẩm thạch (chuột) có bánh xe cuộn đi kèm. Mặt khác, có vẻ như một ứng dụng hoặc một số tập lệnh sẽ được yêu cầu cho một con chuột không có bánh xe cùng với việc sử dụng một trong các nút để thực hiện chức năng cuộn (mà bạn đã ghi chú trong một nhận xét cho câu trả lời khác, vì không phải là một giải pháp chấp nhận được).

Vậy "Tại sao phải phát minh lại bánh xe?" là một câu ngạn ngữ tốt trong trường hợp này.

Trong các ví dụ này, phần tử được cài đặt vật lý và có nhiều loại để lựa chọn. Dưới đây là hai ví dụ và phong cách.

ai1

Hoặc một cái gì đó như thế này: Adesso

wh2



1

Một giải pháp đơn giản (và tiện dụng mà tôi muốn nói) là đặt chức năng cuộn trên bàn tay trái của bạn.

Điều này có thể đạt được bằng cách sử dụng chuột bằng tay trái / bằng cách sử dụng bàn phím có bánh xe cuộn tích hợp ở cạnh trái / bằng cách gán các chức năng cuộn cho các phím của bàn phím có thể lập trình với Mkey ( http: // www.seriosoft.org/en/index.php ).

Tại sao tôi nghĩ rằng điều này là thuận tiện hơn - bởi vì phương pháp này phân phối căng thẳng đồng đều hơn trên cả hai tay. (Thông tin thêm về điều này: http://capsoff.org/checklist ).


1

Tôi đang sử dụng Windows7 và đang sử dụng Trackball quang Kensington Orbit mà không cuộn - đó là một trackball hai nút, không có các nút X được yêu cầu bởi hầu hết các tập lệnh và ứng dụng AHK được chỉ ra bởi những người khác.

Tuy nhiên, MouseImp đang làm việc cho tôi trên Windows7. CNTT có thể định cấu hình được, nhưng tôi đã thiết lập nó right-click + rollđể giúp tôi có một màn hình cuộn. Nó giống như một lực kéo, do đó, con trỏ di chuyển và bạn chỉ có một màn hình tại một thời điểm [cập nhật: tốc độ cuộn có thể định cấu hình, do đó, nó có thể nhiều hơn "một trang"].

Đồng thời, TrackballWorks của Kensington đã được định cấu hình để cho tôi cuộn xuống trang left-click + right-click. Thật không may, sau đó nó không thể cuộn lại một trang (cái này hay cái khác).

Đây không phải là phích cắm sản phẩm - đó chỉ là những gì tôi đã tìm thấy để hoạt động với mô hình / loại trackball này .

Hãy cẩn thận: bạn liên tục nhấp chuột phải và trái, và điều này có thể dẫn đến nhầm lẫn và các liên kết được theo dõi / js-kích hoạt khi bạn chỉ muốn dừng cuộn . :::thở dài:::


1

Tôi vừa nhận được một trackball không dây từ kensington, nó rất tuyệt vời. Bạn có bóng, bạn có cả hai nút ở mỗi bên và bạn có một loại vòng tròn bên ngoài trackball để có thể cuộn lên hoặc xuống trang. Nó thực sự hoạt động và tôi đang sử dụng trên Windows và Mac OSX.


1

Tôi thực sự đã làm một cái gì đó cho việc này bằng cách sử dụng AutoHotkey một lúc trước và hình dung tôi cũng chia sẻ nó ở đây: Trình giả lập bánh xe chuột

Điều này mô phỏng cuộn bánh xe chuột bằng cách di chuyển chuột xung quanh trong khi giữ các nút chuột trái và phải.

Bạn cũng có thể mô phỏng nhấp chuột giữa bằng cách nhấp vào nút chuột trái và chuột phải cùng một lúc.


1

Một giải pháp khác cho Windows 7 cho phép cuộn trong tất cả các ứng dụng, bao gồm cả Internet Explorer:

  1. Cài đặt AutoHotKey .
  2. Lưu tập lệnh này vào Bàn làm scroll.ahkviệc.
  3. Nhấp chuột phải vào scroll.ahk.
  4. Chọn Run Script .
  5. Xác nhận, nếu được nhắc.

Điều này sẽ giúp giữ nút nhỏ bên phải cuộn theo chiều dọc khi di chuyển bi xoay. Nút nhỏ bên trái là nút quay lại.


Trong trường hợp liên kết đến mã của Erik Elmore biến mất, đây là:

;;
;; Emulate_Scrolling_Middle_Button.ahk
;; Author: Erik Elmore <erik@ironsavior.net>
;; Version: 1.1 (Aug 16, 2005)
;;
;; Enables you to use any key with cursor movement
;; to emulate a scrolling middle button.  While
;; the TriggerKey is held down, you may move the
;; mouse cursor up and down to send scroll wheel
;; events.  If the cursor does not move by the
;; time the TriggerKey is released, then a middle
;; button click is generated.  I wrote this for my
;; 4-button Logitech Marble Mouse (trackball),  
;; which has no middle button or scroll wheel.
;;

;; Configuration

;#NoTrayIcon

;; Higher numbers mean less sensitivity
esmb_Threshold = 7

;; This key/Button activates scrolling
esmb_TriggerKey = XButton2

;; End of configuration

#Persistent
CoordMode, Mouse, Screen
Hotkey, %esmb_TriggerKey%, esmb_TriggerKeyDown
HotKey, %esmb_TriggerKey% Up, esmb_TriggerKeyUp
esmb_KeyDown = n
SetTimer, esmb_CheckForScrollEventAndExecute, 10
return

esmb_TriggerKeyDown:
  esmb_Moved = n
  esmb_FirstIteration = y
  esmb_KeyDown = y
  MouseGetPos, esmb_OrigX, esmb_OrigY
  esmb_AccumulatedDistance = 0
return

esmb_TriggerKeyUp:
  esmb_KeyDown = n
  ;; Send a middle-click if we did not scroll
  if esmb_Moved = n
    MouseClick, Middle
return

esmb_CheckForScrollEventAndExecute:
  if esmb_KeyDown = n
    return

  MouseGetPos,, esmb_NewY
  esmb_Distance := esmb_NewY - esmb_OrigY
  if esmb_Distance
    esmb_Moved = y

  esmb_AccumulatedDistance := (esmb_AccumulatedDistance + esmb_Distance)
  esmb_Ticks := (esmb_AccumulatedDistance // esmb_Threshold) ; floor divide
  esmb_AccumulatedDistance := (esmb_AccumulatedDistance - (esmb_Ticks * esmb_Threshold))
  esmb_WheelDirection := "WheelDown"
  if (esmb_Ticks < 0) {
    esmb_WheelDirection := "WheelUp"
    esmb_Ticks := (-1 * esmb_Ticks)
  }

  ;; Do not send clicks on the first iteration
  if esmb_FirstIteration = y
    esmb_FirstIteration = n
  else {
    Loop % esmb_Ticks {
      MouseClick, %esmb_WheelDirection%
    }
  }

  MouseMove,esmb_OrigX,esmb_OrigY,0
return

Cảm ơn vì điều này! Tôi đã thực hiện hai sửa đổi nhỏ cho tập lệnh này: thay đổi XButton2thành XButton1tôi thích nút bên trái và thêm một dòng *trước %esmb_TriggerKey%vào hai dòng trong #Persistentphần, để chúng bắt đầu Hotkey, *%esmb_TriggerKey%. Cái sau làm cho nó hoạt động hoàn hảo với các phím bổ trợ, ví dụ: Ctrl + Scroll hoạt động.
cincodenada

0

Một người dùng Trackman Marble khác ở đây.

Tôi đang sử dụng Điều khiển nút X-Mouse để mô phỏng cuộn. Việc triển khai tính năng này không hoàn hảo ở đó (chưa?), Nhưng nó có thể sử dụng nhiều hơn so với triển khai Logitech trong phần mềm SetPoint ™ của riêng họ.

Tôi giới thiệu XMBC cho bất kỳ ai không muốn gây rối với AutoHotKey và tìm kiếm thứ gì đó chỉ hoạt động.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.