16

I want a script where pressing F1 makes AutoHotkey hold down the left mouse button. I then want the script to release the mouse once I press the key again.

How can I do that?

3
  • 4
    To those willing to close the thread: this is a programming question, AutoHotkey is a programming language. Commented Jan 2, 2010 at 22:53
  • @PhiLho: Thanks for pointing that out. I nearly closed this myself. Commented Jan 3, 2010 at 2:16
  • 1
    @Pizza Overflow: You might want to consider including a short code snippet in AHK questions to avoid any confusion. If you just include a short bit of code showing what you've tried so far, that should be enough that people won't mistakenly close your questions as "not programming related." Commented Jan 3, 2010 at 2:18

3 Answers 3

15

I would use Click down and Click up

Click is generally preferred over MouseClick because it automatically compensates if the user has swapped the left and right mouse buttons via the system's control panel.

F1::
    alt := not alt
    if (alt)
    {
        Click down
    }
    else
    {
        Click up
    }
Return
Sign up to request clarification or add additional context in comments.

1 Comment

I've needed to add Return at the end of the hotkey procedure code to make it work for me. F1:: alt := not alt if(alt) { Click down } else { Click up } Return
7

Here is a one-liner in case anyone is interested:

F1::Click % GetKeyState("LButton") ? "Up" : "Down"

3 Comments

Can I use this one-liner for Right Mouse Click? Changing LButton -> RButton still appears to be trigger the Left Mouse Click....
Yes. F1::Click right % GetKeyState("RButton") ? "Up" : "Down" might do the job. If not do F1::Click % "right " (GetKeyState("RButton") ? "Up" : "Down")
Perfect! F1::Click % "right " (GetKeyState("RButton") ? "Up" : "Down") works as intended! Thanks Forivin!
0

Mmm, I am a bit rusty in AHK programming, but here is what I tried, seems to work:

F1::
  alt := not alt
  If (alt)
  {
    MouseClick Left, 217, 51, , , D
  }
  Else
  {
    MouseClick Left, 217, 51, , , U
  }
Return

1 Comment

Using MouseClick is overkill and makes it look more complicated. Click Up/ Down should suffice.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.