1

Тема: AHK: Бинд как на ЛКМ, так и на ПКМ или вместе.

Есть небольшой бинд, чтоб когда я зажимал ЛКМ, у меня спамилась кнопка 3.
А как сделать, чтоб не только, когда нажимаю ЛКМ, но так же, когда нажимаю ПКМ или обе вместе?


Hotkey, *~$LButton, Off

*~$LButton::

	Loop
	{
		GetKeyState, LButtonState, LButton, P
		If LButtonState = U
	break
		send {3}
	}

return

MButton::
Hotkey, *~$LButton, Toggle
return

2 (изменено: Phoenixxx_Czar, 2022-06-21 22:17:57)

Re: AHK: Бинд как на ЛКМ, так и на ПКМ или вместе.

Впервые вижу, чтобы можно было переключать активность хоткея с помощью "Hotkey, *~$LButton, Off" (хотя я не особо любитель биндов).
В текущем виде ваш код можно сократить до:


Hotkey, *~$LButton, Off

*~$LButton::
while(getKeyState("LButton", "P"))
{
	send {3}
}
return

MButton::
Hotkey, *~$LButton, Toggle
return

Чтобы было как вы хотите (если вы будете вкл/выкл сразу два бинда с помощью СКМ):


Hotkey, *~$LButton, Off
Hotkey, *~$RButton, Off

*~$LButton::
*~$RButton::
while(getKeyState("LButton", "P") || getKeyState("RButton", "P")) ; Если нужно чтобы при зажатии двух клавиш, то || заменить на &&
{
	send {3}
}
return

MButton::
Hotkey, *~$LButton, Toggle
Hotkey, *~$RButton, Toggle
return
Win10: LTSC (21H2); AHK: ANSI (v1.1.36.02)

3 (изменено: DrakeX, 2022-06-21 21:37:02)

Re: AHK: Бинд как на ЛКМ, так и на ПКМ или вместе.

Phoenixxx_Czar, у тебя небольшая опечатка в getKetState, не Ket, а Key.
Я поправил и все работает идеально, спасибо <3.

4

Re: AHK: Бинд как на ЛКМ, так и на ПКМ или вместе.

Поправил).

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

5

Re: AHK: Бинд как на ЛКМ, так и на ПКМ или вместе.

Phoenixxx_Czar, слушай, я тут одну проблему обнаружил...
Когда я нажимаю Ctrl и использую этот бинд, то в момент срабатывания кнопки "3" Ctrl на пару мс отпускается.
Если поставить sleep, 1000, то раз в секунду Ctrl отпускается на мгновение и обратно нажимается.
Это можно пофиксить?