BlueM / cliclick

macOS CLI tool for emulating mouse and keyboard events

Home Page:https://www.bluem.net

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Move cursor command no longer seems to work after 12.4 update

drmishra opened this issue · comments

After updating to MacOS 12.4 the move cursor command doesn't seem to work anymore. My first thought is that it may be Universal Control related, but disabling it doesn't seem to help. Also, the click command still works (the mouse moves to the specified coordinates and the click action occurs).

Macbook Pro 2019
macOS Monterey 12.4
cliclick v5.0.1 (installed through homebrew)

Same for Mac OS Big Sur 11.6.6

I'm on 12.4 and move is working fine for me, been using it all day (from a file source). Homebrew installed, 5.0.1. Also been using Universal Control.

@RichSimon do you have multiple displays connected?

One thing I neglected to mention in my initial post that could be relevant is that I have three external displays connected via a Dell D6000 dock in addition to the laptop display. I just tried a test without the dock connected, but saw the same behavior (the move command did nothing, but the click command did move the cursor and perform the click).

In case it's helpful, the commands I tried were:
cliclick m:0,0 (not working)
cliclick c:0,0 (working)

I also just tried things with the -m verbose flag and it prints out "Move to 0,0", but still does nothing for me.

I am running only on an iMac (Retina 5K, 27-inch, 2017), no external displays.

Just confirmed both those commands work for me.

I am not able to reproduce the problem on 12.4, neither with Universal Control enabled nor disabled.

Well, that's perplexing. I haven't had time yet to checkout the project and try to debug things on my own, but I may have some time over the weekend. If you have any tips or thoughts on what to look into, please let me know.

commented

I'm seeing the same behavior on Mac Monterrey 12.4, although without external monitors. Interestingly, clicking at a specific location works, but not moving the mouse without clicking.

Monterrey 12.4, 2019 macbook and no external displays
The move command seems to only work when sending multiple commands. The only exception I've found involves the wait command.

cliclick m:0,0 # no effect
cliclick w:200 m:0,0 # waits, but doesn't move
cliclick -w 200 m:0,0 # no effect (doesn't wait or move)

# everything else I tried works as expected
cliclick m:. m:0,0
cliclick m:0,0 m:. 
cliclick c:. m:0,0 
cliclick m:0,0 c:.
# etc

Apparently I've never read the documentation that closely; I had no idea you could send multiple commands at once! This is working for me, too. Interestingly, if I do something like cliclick m:0,0 m:100,100 it does both moves. I would have guessed that maybe the first one would have been ignored or something since only doing one move doesn't work for me.

For what it's worth, there have been random times where just running it once will miraculously work, but then running it again doesn't.

I confirm behavior pointed by @colbygatte , sending 2 commands will work. cliclick m:0,0 m:100,100.

commented

On 12.5, executing one single move command does not work, like cliclick m:+200,+200. But executing two does, like cliclick m:+200,+200 m:+200,+200. So this is likely a bug.

I can confirm what @colbygatte stated in his comment. I'm running cliclick version 5.1 installed with brew on macOS Monterey 12.5.1. Happens both with and without external displays connected.

For anyone stumbling over this, here is another workaround:

Instead of issuing two move commands or a click command to make it work, I found it easier to just set an easing factor with -e like cliclick -e 20 m:0,0.

More information on this option from the CLI help:

-e <easing> Set an easing factor for mouse movements. The higher this value is (default: 0), the more will mouse movements seem “natural” or “human-like”, which also implies: will beslower. If this option is used, the actual speed will also depend on the distance between the start and the end position, i.e. the time needed for moving will be higher if the distance is larger.

Note that if setting the easing factor too low (default is 0), the cursor will not end up precisely at the specified coordinates, so I recommend using a value of greater than 20.

That might be another issue worth raising.

Meanwhile I’m on 12.6 and still: everything works for me. And as long as that’s the case, I don’t have the slightest idea how to approach the problem.

Maybe a shot in the dark, but a question who those who can reproduce the problem: are you using external mice (or other pointer devices)? Does the misbehavior still occur without external mouse?

I upgraded my MacBook Pro 2019 from MacOS 10.15 to 13.2 and now have this issue. Same behavior between cliclick v4.0.1 and latest v5.1

  • single move does NOT work
  • double move works
  • right click works (both movement and click)
  • single move with easing factor works (but for me easing < 35 results in incomplete move of cursor)

It is the same when using bare laptop or connected to my dock with multiple monitors and mouse.

Strange indeed. This is a great app, hoping the root cause can be identified!