1

Тема: AHK: Эмулирование колесика мыши

Здравствуйте! Мышь реагирует на прокручивание колеса мыши, но не реагирует на его нажатие.
Написал такой скрипт, эмулирует нажатие колесика при одновременном нажатии ЛКМ и ПКМ.


RButton::
If GetKeyState("LButton","P")
Send {MButton}
else Send {RButton down}
Return

RButton Up::Send {RButton up}

LButton::
If GetKeyState("RButton","P")
Send {MButton}
else Send {LButton down}
Return

LButton Up::Send {LButton up}

Главную свою задачу скрипт выполняет - теперь можно быстро открывать гиперссылки в новых закладках.
Однако я не могу прокручивать страницы, как я делал это удерживанием колеса мыши.
В принципе это можно осуществить вышеописанными средствами, но что-то мне подсказывает, что есть способ легче.
1) Есть ли такой способ?
2) Работа горячих клавиш нарушает работу клавиш, к которым они привязаны. Есть ли какой-то простой способ, чтобы, например, при нажатии на клавишу 1 выполнялось некое действие и плюс печаталась цифра 1? Не так, чтобы в коде эмулировать нажатие 1, а чтобы нажатие клавиши 1 не глушилось скриптом?

2

Re: AHK: Эмулирование колесика мыши

~RButton::
~LButton::
if GetKeyState("RButton","p") and GetKeyState("LButton","p")
Send {MButton}
return

3 (изменено: netwizard, 2015-10-13 14:01:54)

Re: AHK: Эмулирование колесика мыши

Спасибо, работает! Но.. почему оно работает? Ведь Send зажимает клавишу и тут же ее опускает. "Send 2" нажимает 2 и тут же отпускает.
Send {MButton} тоже должен нажать и отпустить, почему тогда когда я удерживаю ЛКМ-ПКМ удерживается колесико?
Я нигде не вижу команды MButton down.

4

Re: AHK: Эмулирование колесика мыши

Если так то будет только 1 раз нажата ср. кнопка.

~RButton::
~LButton::
if GetKeyState("RButton","p") and GetKeyState("LButton","p")
Send {MButton}
KeyWait RButton
KeyWait LButton
return