Refinando um script AutoHotkey

2

O objetivo deste script é:

  1. As duas primeiras linhas de atalhos sempre são eficazes.
  2. As hotkeys restantes funcionam apenas em NO TEXT INPUT Status. Em outras palavras, quando as pequenas linhas verticais estão piscando em qualquer lugar da tela e esperando pelo texto de entrada / digital, pressione z x a s q , o efeito é igual às letras originais normais.

Como 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
    
por roy2012 22.09.2012 / 09:22

1 resposta

0

Você pode detectar o tipo de cursor que está sendo exibido no momento em A_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 existe um cursor piscando ou não

if A_Cursor != Ibeam
    msgbox, Not Waiting for input
else
    msgbox, Waiting for input
return
    
por 18.10.2012 / 23:05