Refinando um script AutoHotkey

Refinando um script AutoHotkey

O objetivo deste script é:

  1. As duas primeiras linhas de teclas de atalho são sempre eficazes.
  2. As teclas de atalho restantes funcionam NO TEXT INPUTapenas em Status. Ou seja, quando as pequenas linhas verticais estiverem piscando em qualquer lugar da tela e aguardando a entrada de texto/digital, pressione zxasq, o efeito é igual às letras originais normais.

Como eu posso fazer isso?

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

Responder1

Você pode detectar que tipo de cursor está sendo exibido no momento olhando paraA_Cursor

A_Cursor será um dos seguintes:

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.

Este código verifica se há um cursor piscando ou não

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

informação relacionada