1 (изменено: MrResolute, 2016-05-19 00:49:27)

Тема: Модификаторы клавиш

Есть скрипт:

~LButton::
Loop
	If GetKeyState("LButton", "LCtrl") {
		Sleep, 5
		moveAmount := (moveAmount = 2) ? 3 : 0
 		mouseXY(moveAmount,4)
		
	}
	else
	break
	
Return



mouseXY(x,y)
{
DllCall("mouse_event",int,1,int,x,int,y,uint,0,uint,0)
}

Что означают знаки ''~'' перед клавишами действий? Мне надо узнать, как переписать скрипт, чтобы курсор опускался вниз при нажатии lbutton со скоростью 4, а при нажатии ctrl+lbutton - со скоростью 6?

По скрипту я вижу, что он должен работать только при зажатой ctrl и lbutton, но он работает и без ctrl.

2

Re: Модификаторы клавиш

MrResolute, ознакомьтесь с этой темой, отредактируйте свой пост.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

3

Re: Модификаторы клавиш

''~'' -  Означает, что скрипт не блокирует нажатие клавиши.

~LButton::
~^LButton::
While GetKeyState("LButton", "P") {
   moveAmount := (moveAmount = 2) ? 3 : 0
   If GetKeyState("LCtrl", "P")
   mouseXY(moveAmount,6)
   Else 
   mouseXY(moveAmount,4)
   Sleep 5
}
Return

mouseXY(x,y) {
DllCall("mouse_event",int,1,int,x,int,y,uint,0,uint,0)
}

Не понимаю для чего в скрипте строка:

moveAmount := (moveAmount = 2) ? 3 : 0