Условно перехватить щелчок мышью в Autohotkey?
Я хочу иметь скрипт, который будет перехватывать щелчок мыши и вместо этого отправлять нажатие клавиши, но только при включенной клавише capslock. Я хочу, чтобы щелчок мыши отправлялся нормально, если клавиша capslock выключена.
В настоящее время я сделал это:
$LButton::
if GetKeyState("CapsLock", "T") = 1
send, {a}
else
send, {LButton}
return
Проблема в том, что когда клавиша capslock выключена, левая кнопка может нормально щелкать, но не может перетаскиваться.
Если я изменю $
в ~
, он может перетаскивать, но он также выполняет щелчок при включении клавиши capslock.
Есть ли способ заставить скрипт полностью игнорировать щелчок, если клавиша capslock выключена?
2 ответа
AHK_L-х #If
даст вам то, что вы хотите:
#If GetKeyState("CapsLock", "T")
LButton::Send, a
С этим кодом вам не придется беспокоиться о том, что происходит при отключенной функции capslock. AHK перехватит щелчок на более низком уровне и пропустит его.
Как использовать символ UP.
SetBatchLines, -1 ; you pretty much have to include this to speed up the execution
LButton::
if( GetKeyState("CapsLock", "T") )
tooltip, ignore left click
else
send, {LButton Down}
return
LButton UP::
send, {LButton Up}
return