Тема: Помощь для скрипта на события мыши
Здравствуйте, уважаемые скриптописатели.
Прошу помощи в написании скрипта для мыши или в направлении куда копать. Из-за своей парализации, могу использовать только мышь и хотелось бы вспомнить старое и поиграть в ретро с приставок. С моими двух дневными знаниями АХК, меня хватило только на это:
sensitivity=20 ; настройка чувствительности
MouseGetPos,x1,y1 ; хватаем позицию курсора мыши
Sleep,180
Loop
{
MouseGetPos,x2,y2 ; взять текущую позицию курсора
; назначаем разные действия по разнице начальных и конечных координат:
If (x1-x2 > sensitivity and y1-y2 > sensitivity) ; вверх-влево
{
Send {Up down}{Left down}
Send {Up up}{Left up}
Gosub,ShowToolTip
;Goto,RemoveToolTip ; раскомментирование этой строки делает действие ОДНОКРАТНЫМ, иначе повторяетcя пока клавиша нажата
}
If (x1-x2 < -sensitivity and y1-y2 > sensitivity) ; вверх-вправо
{
Send {Up down}{Right down}
Send {Up up}{Right up}
Gosub,ShowToolTip
;Goto,RemoveToolTip
}
If (x1-x2 > sensitivity and y1-y2 < -sensitivity) ; вниз-влево
{
Send {Down down}{Left down}
Sleep, 200
Send {Down up}{Left up}
Gosub,ShowToolTip
;Goto,RemoveToolTip
}
If (x1-x2 < -sensitivity and y1-y2 < -sensitivity) ; вниз-вправо
{
Send {Down down}{Right down}
Sleep, 200
Send {Down up}{Right up}
Gosub,ShowToolTip
;Goto,RemoveToolTip
}
If (x1-x2 < sensitivity and y1-y2 > sensitivity) ; вверх
{
Send {Up down}
Sleep, 200
Send {Up up}
Gosub,ShowToolTip
;Goto,RemoveToolTip
}
If (x1-x2 < sensitivity and y1-y2 < -sensitivity) ; вниз
{
Send {Down down}
Sleep, 200
Send {Down up}
Gosub,ShowToolTip
;Goto,RemoveToolTip
}
If (x1-x2 > sensitivity and y1-y2 < sensitivity) ; влево
{
Send {Left down}
Sleep, 200
Send {Left up}
Gosub,ShowToolTip
;Goto,RemoveToolTip
}
If (x1-x2 < -sensitivity and y1-y2 < sensitivity) ; вправо
{
Send {Right down}
Sleep, 200
Send {Right up}
Gosub,ShowToolTip
;Goto,RemoveToolTip
}
}
ShowToolTip: ; "ПОКАЗУХА"
; присваиваем конечные координаты начальным переменным
; для отслеживания изменения относительно нового положения курсора
x1:=x2
y1:=y2
ToolTip %ShowAction% ; отображать ToolTip`ом название нажатой кнопке
RemoveToolTip:
Sleep,100 ; задержка на отображение ToolTip
ToolTip ; по истечении задержки убираем ToolTip
Return ; полный конец
Код был взят с ранних примеров.
Что хотелось бы видеть:
1. При нажатии определённой клавиши, происходила фиксация курсора в центре экрана и от этой точки бы шли вычисления т.к. в коде выше курсор часто упирается в края.Ну и нужна соответственно, диактивация фиксации на другую кнопку.
2. Исчезновение курсора во время фиксации.
3. Плавность выполнения команд. Ибо с тем кодом всё происходит рывками...