1 (изменено: Foma, 2021-06-28 21:59:15)

Тема: AHK: Настроить циклическое нажатие клавиши №1 при нажатой клавише №2

Что-то я совсем заблудился в алгоритме.
Цель:
1. Если клавиша Lbutton нажата, при нажатии и удержании NumpadAdd клавиша Lbutton должна постоянно отжиматься и нажиматься.
2. При отпускании NumpadAdd клавиша Lbutton должна работать в соответствии с физическим состоянием.

  Вот такое написал:

#SingleInstance Force
#Persistent
#NoEnv
ListLines Off
SetBatchLines -1
AutoTrim, Off
CoordMode,ToolTip,Screen
CoordMode,Pixel,Srceen
CoordMode,Mouse,Srceen
SoundBeep,5555,55

global fnk1
Return


#if funk_true() = 1
~LButton::						;нажатие
GetKeyState, LBT_P, LButton, P
Povtor1:
Sleep,20
DllCall("mouse_event", uint, 4)	;Up
GetKeyState, LBT_P, LButton, P
if (LBT_P = "D")
	{
	Sleep,20
	DllCall("mouse_event", uint, 2)	;Down
	Goto, Povtor1
	}
Return
#if



funk_true()
	{
	Sleep, 20
	GetKeyState, LBT_P, LButton, P
	if (LBT_P = "D")
		LBT_Down := 1
	else
		LBT_Down := 0
	GetKeyState, Key2, NumpadAdd, P
	if (Key2 = "D")
		Key2 := 1
	else
		Key2 := 0
	fnk1 := Key2 * LBT_Down
	Sleep, 20
	Return fnk1
	}
Return

Но работает криво:
1) Чтобы началась работа "Up/Down" приходится сначала нажимать NumpadAdd. А хотелось бы чтобы срабатывало в любой момент при любом порядке нажатия.
2) Если процесс всё же начался, то при отпускании NumpadAdd игра "Up/Down" продолжается, не смотря что LButton в положении Down. И так до отпускания LButton.
Как исправить?
Заранее спасибо!

2

Re: AHK: Настроить циклическое нажатие клавиши №1 при нажатой клавише №2

1. Если клавиша Lbutton нажата, при нажатии на NumpadAdd клавиша Lbutton должна постоянно отжиматься и нажиматься.
2. При отпускании NumpadAdd клавиша Lbutton должна работать в соответствии с физическим состоянием.

Может не при нажатии, а при удержании?

NumpadAdd::
If GetKeyState("Lbutton", "P")
	Loop	
	{
	SoundBeep, 1000, 100
	Sleep, 250
	If NOT GetKeyState("NumpadAdd", "P")
	Break
	}
Return

3

Re: AHK: Настроить циклическое нажатие клавиши №1 при нажатой клавише №2

Да, конечно. Исправил.

4

Re: AHK: Настроить циклическое нажатие клавиши №1 при нажатой клавише №2

Спасибо за квалифицированную помощь!