1

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

Помогите со скриптом.
Я хочу,чтоб прокручивание колёсика в верх превращались в клики ЛКМ,
а прокручивание колёсика вниз превращались в клики ПКМ.
Прокрутка одного положения/деления - 1 клик.
Повторюсь,WheelUp - ЛКМ , WheelDown - ПКМ.
Надеюсь,понятно объяснил.

2 (изменено: Vsevolod, 2020-12-12 17:09:20)

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

KosteaMVP
Вот:

#MaxHotkeysPerInterval 20000 ; Огранчение по количеству активаций

F1::
HotKey, *~$WheelDown, toggle ; отключает работу колёсика
HotKey, *~$WheelUp, toggle
return

*~$WheelUp:: ; Если колёсико крутится вверх то...
MouseClick, left,,, 1 ; Сделать один клик лкм
return

*~$WheelDown:: ; Если колёсико крутится вниз то...
MouseClick, right,,, 1 ; Сделать один клик пкм
return

3

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

Vsevolod
Работает идеально,огромное спасибо!

4

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

Vsevolod
Как я понимаю,я могу поменять цифру 1,и тогда будет больше кликов за одни прокрут?

5

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

KosteaMVP
Да, цифра 1 отвечает за количество кликов.

6

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

Vsevolod
Ещё раз спасибо огромное!

7 (изменено: KosteaMVP, 2020-12-12 19:04:13)

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

Vsevolod
Нашёл проблему.
Клики то происходят,но скролл не отключился.
Можно ли как то исправить?

F1::
HotKey, *~$WheelDown, toggle ; отключает работу колёсика
HotKey, *~$WheelUp, toggle
return

Вот эта часть не работает,работа колёсика не отключается.

8

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

KosteaMVP

Примерно так:

hotkey, *$WheelUp, WheelClick, On
hotkey, *$WheelDown, WheelClick, On

F1::
HotKey, *$WheelUp, toggle
HotKey, *$WheelDown, toggle
Return

WheelClick:
Send, % "{vk" (A_ThisHotkey ~= "Up" ? "1" : "2") "}"
Return
Win10x64, AHK v1.1.37.01 (Unicode 64-bit) | AHK-Wiki | Переменные и выражения | RegEx101

9

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

__Михаил__
Огромное спасибо,Михаил.
Не могли бы вы объяснить,какая часть кода отключает функцию скролла,а какая превращает его в клики?
и немного объяснить,как они работают.

10

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

KosteaMVP

F1 - включить / выключить перехват для WheelUp и WheelDown.
'WheelClick' - метка, которая выполняет отправку нажатия ЛКМ либо ПКМ в зависимости какая кнопка была нажата.
'A_ThisHotkey' - встроенная переменная, содержит клавишу которая была нажата (в виде строки).

В момент нажатия на WheelUp (колёсико мыши вверх) если перехват включен - происходит запуск метки 'WheelClick' .
Идёт проверка, есть ли в переменной 'A_ThisHotkey' часть строки "Up" от возможно нажатой клавиши  '*$WheelUp'.
Если это условие верно (равно 1) выполняется подстановка строки "1" - это для эмуляции клавиши ЛКМ (vk1). Иначе будет строка "2" для эмуляции клавиши ПКМ (vk2).

Как-то вот так. Не самое лучшее объяснение.

Win10x64, AHK v1.1.37.01 (Unicode 64-bit) | AHK-Wiki | Переменные и выражения | RegEx101

11

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

__Михаил__
Спасибо

12

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

__Михаил__
Тот код,который вы мне скинули идеально мне подходит,но если когда-то понадобится,как сделать однин прокрут=2/3 клика?
Изменить 1=1 на 1=2/3/4/5...

13

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

KosteaMVP

Если прочитать про команду Send, то будет ясно как это сделать.

Можно ввести переменную, отвечающую за кол-во эмуляций нажатий.

Win10x64, AHK v1.1.37.01 (Unicode 64-bit) | AHK-Wiki | Переменные и выражения | RegEx101

14

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

SendCount := 5		; Количество нажатий.
hotkey, *WheelUp, WheelClick, On
hotkey, *WheelDown, WheelClick, On

F6::	; Переключить перехват для WheelUp и WheelDown:
HotKey, *WheelUp, toggle
HotKey, *WheelDown, toggle
Return

WheelClick:
Send, % "{vk" (A_ThisHotkey ~= "Up" ? "1" : "2") " " SendCount "}"
Return
Win10x64, AHK v1.1.37.01 (Unicode 64-bit) | AHK-Wiki | Переменные и выражения | RegEx101

15 (изменено: Un$k1ll, 2023-08-29 16:40:57)

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

__Михаил__ Здравствуйте можете пожалуйста объяснить это макросы?
Если да, то можете кинуть готовую чать кода и что с ней делать, ато вообще не понимаю.
Cпасибо за понимание.