Доработка скрипта AutoHotkey

Доработка скрипта AutoHotkey

Цель этого скрипта:

  1. Первые два ряда горячих клавиш всегда эффективны.
  2. Остальные горячие клавиши работают NO TEXT INPUTтолько в состоянии «Статус». Другими словами, когда маленькие вертикальные линии мигают в любом месте экрана и ждут ввода текста/цифры, нажмите zxasq, эффект будет равен обычным исходным буквам.

Как мне это сделать?

Rwin::^space 
AppsKey::^w 

CapsLock::MButton 

z::PgUp 

x::PgDn 

*a up::send {shift up}{ctrl up}{LButton up}

*a:: 
GetKeyState, LButtonState, LButton ; 
if LButtonState = U ; 
send {shift down}{ctrl down}{LButton down} ; 
return 

*s up::send {shift up}{ctrl up}{RButton up} 

*s:: 
GetKeyState, RButtonState, RButton ; 
if RButtonState = U ; 
send {shift down}{ctrl down}{RButton down} ; 
return 

*q up::send {shift up}{ctrl up}{MButton up} 

*q:: 
GetKeyState, MButtonState, MButton ; 
if MButtonState = U ; 
send {shift down}{ctrl down}{MButton down} ; 
return

решение1

Вы можете определить, какой тип курсора отображается в данный момент, посмотрев наA_Курсор

A_Cursor будет одним из следующих:

The type of mouse cursor currently being displayed. 
It will be one of the following words:
    AppStarting, Arrow, Cross, Help, IBeam, Icon, No, Size, SizeAll, SizeNESW, SizeNS, 
    SizeNWSE,     SizeWE, UpArrow, Wait, Unknown.

Этот код проверяет, мигает ли курсор или нет.

if A_Cursor != Ibeam
    msgbox, Not Waiting for input
else
    msgbox, Waiting for input
return

Связанный контент