1

I have checked out the recommendations of this page. However, I've found that "AutoHotKey" has a pretty steep learning curve and "Auto Mouse Click Generator" does not have the functionality I want. Is there a free software that I can record / specify a left mouse at a specific X-Y location on the screen via a shortcut (i.e., SHIFT + E).

What I like to do is to combine human manual mouse click and use the pre-recorded shortcuts to automate the other part. For example, I like to create a short-cut to do a left mouse click at X=150, Y=150 as SHIFT + E.

Then I can manually click where I want on a screen > then SHIFT + E > then some other human input > then SHIFT + E.

1 Answer 1

1

You can accomplish this task using NirCmd by NirSoft. It is generously provided as gratis software from Nir Sofer, the author. It is not currently open-source, but that was not mentioned as a requirement.

You can set the cursor position using the setcursor [X] [Y] command. From the documentation:

Set the position of mouse cursor. The [X] and [Y] parameters specifies the desired cursor position. Example: setcursor 100 50

If you want to set the position relative to the active window, you can instead use the setcursorwin [X] [Y] command. From the documentation:

Set the position of mouse cursor, relative to the top-left corner of the active window. The [X] and [Y] parameters specifies the desired cursor position.
Example: setcursor 100 50

You can then perform a primary-button mouse-click by using the command sendmouse click.

Because you will be performing multiple commands, create a small script file with the commands, which is just a basic simple text file.

Then you can call all the commands at once using NirCmd's script functionality. From the documentation:

script [Script File]
This command allows you to execute a sequence of commands stored inside the file specified in [Script File] parameter.

To tie it all together, you can then create a shortcut with any hotkey to your command script using the cmdshortcutkey command. It has the syntax:

cmdshortcutkey [folder] [shortcut title] [hot key] [command]

The NirCmd help file will be your friend and guide to help you with any additional details.

Links for you:

NirCmd Home Page: https://www.nirsoft.net/utils/nircmd.html
NirCmd 32-bit (with .chm help file) download: https://www.nirsoft.net/utils/nircmd.zip
NirCmd 64-bit (with .chm help file) download: https://www.nirsoft.net/utils/nircmd-x64.zip
NirCmd Online Help File: https://www.nirsoft.net/utils/nircmd2.html#using
NirSoft Home Page: https://www.nirsoft.net/
NirLauncher Home Page (includes NirCmd and over 200 other free quality tools): https://launcher.nirsoft.net/downloads/index.html

6
  • Thanks, but I try nircmd setcursor 1650 962 sendmouse click, it sends the mouse to the right location, but doesn't actually click. Commented Jul 8, 2021 at 3:00
  • I am able to create a shortcut key, but after I execute the shortcut, it takes more than one second for the mouse starts jumping to the desired location. Is this much lag normal? Is there a way to reduce the latency? Commented Jul 8, 2021 at 3:21
  • To sequence more than one command after another, you either need to use the NirCmd's script functionality (very simple: just create a text file with all the commands), or run a separate instance of NirCmd with each command (it's not possible to chain them on a single command line as you've done, although that would be a great feature!). Commented Jul 8, 2021 at 4:26
  • Regarding lag, one second seems unusually long. Try running NirCmd directly from the command line (without a shortcut key) to see if there is any lag. Even on a fairly slow machine, running a NirCmd command should be almost instantaneous. Commented Jul 8, 2021 at 4:28
  • 1
    You're welcome. Glad to help. Thank you for the link to the lag Q/A. I actually have never experienced it, but as you determined, others certainly have. I actually had that Q/A bookmarked just in case it ever happened to me, but I completely forgot about it, as I bookmarked it almost a decade ago! Commented Jul 8, 2021 at 6:44

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.