यहाँ AutoHotKey स्क्रिप्ट का उपयोग किया गया है। आप बाएं छोटे बटन को दबाकर रखें और गेंद को ऊपर / नीचे घुमाएं। हालाँकि बायाँ छोटा बटन क्लिक करने पर भी BACK होता है। यह बाएँ / दाएँ स्क्रॉल भी कर सकता है, लेकिन यह मेरे लिए बहुत संवेदनशील था इसलिए इसे यहाँ टिप्पणी की गई है (जो ब्लॉक शुरू होता है ;timesX := Abs(movedx) / 4
)।
मुझे http://www.autohotkey.com/board/topic/30816-simulate-scroll-wheel-use-right-mouse-button/ पर मूल संस्करण मिला
। मैंने अपना संस्करण वहां एक और पोस्टर्सनॉ 2323 के रूप में पोस्ट किया।
$*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