Refinando un script AutoHotkey

Refinando un script AutoHotkey

El propósito de este guión es:

  1. Las dos primeras filas de teclas de acceso rápido siempre son efectivas.
  2. Las teclas de acceso rápido restantes funcionan NO TEXT INPUTúnicamente en Estado. En otras palabras, cuando las pequeñas líneas verticales parpadean en cualquier lugar de la pantalla y esperan la entrada de texto/digital, presione zxasq, el efecto es igual a las letras originales normales.

¿Cómo puedo hacer eso?

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

Respuesta1

Puede detectar qué tipo de cursor se muestra actualmente mirandoA_Cursor

A_Cursor será uno de los siguientes:

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 comprueba si hay un cursor parpadeante o no.

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

información relacionada