Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

The purpose of this script is:

  1. The first two rows of hotkeys always effective.
  2. The remaining hotkeys work at NO TEXT INPUT Status only. In other words, when the small vertical lines are flashing anywhere on the screen and waiting for input text / digital, press zxasq, the effect is equal to the normal original letters.

How can I do that?

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
share|improve this question

1 Answer 1

You can detect what type of cursor is currently displaying by looking at A_Cursor

A_Cursor will be one of the following:

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.

This code checks if there is a blinking cursor or not

if A_Cursor != Ibeam
    msgbox, Not Waiting for input
else
    msgbox, Waiting for input
return
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.