1
votes

i was trying to create a simple script with AHK to switch between windows (similar to the "recent" button on a samsung mobile) with this code:

XButton2::
Send, {Alt down}{Tab}
Return

the problem is that i don't know how to make the script to release the Alt key when i strike Enter or click the Left mouse button. Any help please?

1

1 Answers

1
votes
XButton2:: 
    AltTabMenu := true  ; assign the Boolean value "true" or "1" to this variable
    Send, {Alt down}{Tab}
return

; The #If directive creates context-sensitive hotkeys:

#If (AltTabMenu) ; If this variable has the value "true" 

    ; The * prefix fires the hotkey even if extra modifiers (in this case Alt) are being held down

    *Enter::
    *MButton::
        Send {Enter}
        Send {Blind}{Alt Up} ; release Alt
        MouseCenterInActiveWindow()
        AltTabMenu := false
    return

    ~*LButton::
        Click
        Send {Blind}{Alt Up} ; release Alt
        MouseCenterInActiveWindow()
        AltTabMenu := false
    return      

    ; menu navigation by scrolling the mouse wheel:

    *WheelUp:: Send {Right} 
    *WheelDown:: Send {Left}

#If ; turn off context sensitivity

MouseCenterInActiveWindow(){
    WinGetPos,,Y, Width, Height, A ; get active window size
    Xcenter := Width/2        ; calculate center of active window
    Ycenter := Height/2 
    MouseMove, Xcenter, Ycenter, 0
}