Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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?





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

GetKeyState, LButtonState, LButton ; 
if LButtonState = U ; 
send {shift down}{ctrl down}{LButton down} ; 

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

GetKeyState, RButtonState, RButton ; 
if RButtonState = U ; 
send {shift down}{ctrl down}{RButton down} ; 

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

GetKeyState, MButtonState, MButton ; 
if MButtonState = U ; 
send {shift down}{ctrl down}{MButton down} ; 
share|improve this question

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
    msgbox, Waiting for input
share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .