1 (изменено: vlad.kosmicheskiy, 2018-12-12 09:42:57)

Тема: AHK:Зажатие двух кнопок одной

Здравствуйте, в ахк полный ноль, как сделать чтобы при зажатие буквы С кнопка LShift была зажата, а кнопка LCtrl как бы тыкалась постоянно через определенное кол-во миллисекунд, после того как я отпускаю кнопку C всё прекращается.



UPD: Сейчас пытаюсь что-то сделать, LCTRL она нажимается слишком слабо, как сделать чтобы она нажималась сильнее, а то получается слишком короткое нажатие.

2

Re: AHK:Зажатие двух кнопок одной

vlad.kosmicheskiy, название темы должно отражать суть вопроса. В конце предложений ставится точка. Исправьте.

3

Re: AHK:Зажатие двух кнопок одной

ypppu
Вроде исправил, сообщите если всё сделал правильно.

4

Re: AHK:Зажатие двух кнопок одной

Да, так лучше.

5

Re: AHK:Зажатие двух кнопок одной

Это то что вы хотели?


~vk43::
Sleep := 100
Loop
{
GetKeyState, State, vk43, P
if State = u
{
Send, {LShift Up}
break
}
Send, {LShift Down}
Sleep %Sleep%
Send, {LCtrl}
}
return

6

Re: AHK:Зажатие двух кнопок одной

Ms_Smail

Очень похоже на то, но нажатия LCtrl слишком короткое, какая строчка отвечает за это?

7 (изменено: Ms_Smail, 2018-12-15 02:22:52)

Re: AHK:Зажатие двух кнопок одной

vlad.kosmicheskiy, настроить задержки можешь сам, как тебе нужно.


Sleep := 100 ;Время зажатия LShift
Sleep2 := 30 ;Время зажатия LCtrl
~vk43::
Loop
{
GetKeyState, State, vk43, P
if State = u
{
Send, {LShift Up}
break
}
Send, {LShift Down}
Sleep %Sleep%
Send, {LCtrl Down}
Sleep %Sleep2%
Send, {LCtrl Up}
}
return

8 (изменено: Phoenixxx_Czar, 2018-12-15 15:55:08)

Re: AHK:Зажатие двух кнопок одной

Ms_Smail, можно было и while обойтись, меньше строк бы занял.


wait1 := 100 ;Время зажатия LShift
wait2 := 30 ;Время зажатия LCtrl

~vk43::
while(GetKeyState("vk43", "P"))
{
	Send, {LShift Down}
	Sleep %wait1%
	Send, {LCtrl Down}
	Sleep %wait2%
	Send, {LCtrl Up}
}
Send, {LShift Up}
return
Win10: LTSC (21H2); AHK: ANSI (v1.1.36.02)

9

Re: AHK:Зажатие двух кнопок одной

Phoenixxx_Czar, скобки лишние, кавычки нехватает.

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

10

Re: AHK:Зажатие двух кнопок одной

teadrinker, для меня while тот же if, по этому мне удобнее писать скобки.

Win10: LTSC (21H2); AHK: ANSI (v1.1.36.02)

11 (изменено: teadrinker, 2018-12-15 17:09:14)

Re: AHK:Зажатие двух кнопок одной

После if перед вызовом функции тоже скобки не нужны. Но дело вкуса, конечно.

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