1

Тема: AHK: Проблема с детектом отжатия клавиши

Здравствуйте, у меня возникла проблема с проверкой отжатия клавиши. Клавиши каким-то образом залипают и ToolTip продолжает показывать что состояние одной из клавиш всё ещё нажато. Как только снова я нажимаю на клавишу, всё приходит в норму.


#SingleInstance, Force
whichKey:=1
return
*$1::
whichKey:=1
return
*$2::
whichKey:=2
return
*$3::
whichKey:=3
return
*$RButton::
Goto, spamLoop
return
spamLoop:
if GetKeyState("RButton", "P") and !ErrorLevel {
	if GetKeyState(whichKey, "P") {
		ToolTip, %whichKey% down
	} else {
		ToolTip, %whichKey% up
	}
	sleep,1
	Goto, spamLoop
}
return
*$Numpad1::ExitApp
return

Я перепробовал множество вариантов и обыскал весь интернет, но исход тот же, клавиши продолжают залипать.


#SingleInstance, Force
whichKey:=1
toggle1:=false
toggle2:=false
toggle3:=false
return
*$1::
if !toggle1 {
	whichKey:=1
	toggle1:=true
}
return
*$1 up:
toggle1:=false
return
*$2::
if !toggle2 {
	whichKey:=2
	toggle2:=true
}
return
*$2 up::
toggle2:=false
return
*$3::
if !toggle3 {
	whichKey:=3
	toggle3:=true
}
return
*$3 up::
toggle3:=false
return
*$RButton::
Goto, spamLoop
return
spamLoop:
if GetKeyState("RButton", "P") and !ErrorLevel {
	if toggle1 or toggle2 or toggle3 {
		ToolTip, %whichKey% down
	} else {
		ToolTip, %whichKey% up
	}
	sleep,1
	Goto, spamLoop
}
return
*$Numpad1::ExitApp
return[

Ограничение количества максимально нажатых клавиш также не помогает #MaxThreadsPerHotkey, 3
Надеюсь что мне хоть кто то поможет, ибо эта проблема меня уже конкретно задолбала.

2

Re: AHK: Проблема с детектом отжатия клавиши

Нужно проверять не переменные, а сам факт нажатия клавиши.

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

3 (изменено: Sway001, 2021-02-14 16:23:26)

Re: AHK: Проблема с детектом отжатия клавиши

__Михаил__
Сейчас попробую

4

Re: AHK: Проблема с детектом отжатия клавиши

__Михаил__
Похоже что помогло, но я продолжу тестировать.

5

Re: AHK: Проблема с детектом отжатия клавиши

Вообщем я понял в чем проблема, клавиша не детектится потому что я слишком быстро нажимаю на неё. Каким то образом статус отжатия просто не успевает сработать. Есть идеи как это исправить?

6

Re: AHK: Проблема с детектом отжатия клавиши

Goto - наверно мешает, я бы его не использовал в цикле.
Напишите что необходимо получить от скрипта и при каких нажатиях.

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