Using the Same Macro in a Desktop and a Laptop

This is a bit frustrating. I'm trying to use a macro that works perfectly in my iMac with my laptop and it just doesn't work. I don't know why because in principle every subpart of the macro should be reproduceable in the laptop.

This macro unfortunately has to involve the 'Click at found image' interface control action. It would be nice if all the developers provided APIs to access all functions via menus or at least key combinations but it is not so. I'm using a word processor called Mellel and I've created a macro that goes into a menu and its submenu and then it uses the 'Click at found image' to select an item from a submenu that is not accessible via keyboard. I include a screenshot.

So, this is the part that simply doesn't work with the laptop. The mouse just doesn't seem to find the image. Of course, the laptop doesn't really have a mouse but a touchpad but in principle what is left button in a mouse should have an equivalent on the touchpad. I've tried right button and center button and that doesn't solve the problem. Notice that the action doesn't involve clicking on some particular area.

Any help you can provide will be greatly appreciated.

Your screen resolution is no doubt different.

You’ll need to take a screenshot from both computers and then have it look for the appropriate one according to which computer you’re on.

You can use an “If” or “Switch” and use the text condition with the token %MacUUID% to determine which computer the macro is running on and then place the appropriate found image actions in those areas.

If that doesn’t make sense, let me know and when I get to my computer later this morning I’ll show you an example. :grin:

1 Like

I'm back at my computer. You can get your MacUUID easily enough (see example below).

Get Mac UUID.kmmacros (1.7 KB)

After that, you can do something like this to have the macro look for the found image according to what computer it's running on.

Differentiate between two Macs.kmmacros (3.9 KB)

Let us know if you still have trouble. There are definitely other ways of doing this, but I find this is the most efficient and easiest to work with for me. If you're curious in other ways to accomplish this I'd be glad to share those with you as well as why I prefer this method.

-Chris

2 Likes

Everything that @cdthomer says plus a couple of other thoughts:

  1. You can make the switch case based on the Computer Name %MacName% if you want:

image

  1. @Sleepy has a good technique which deals with the possibility of different images being needed in different situations which doesn't need a Switch Case or If Then Action. Just put two Move and Click Mouse at Image Actions one after the other and set them both not to Abort the Macro if they fail and not to notify on failure. The result is that if the Macro can't find the first image it just skips to the next step and looks for the alternative image.

So, for your use, you would copy and paste the image from your Desktop Mac into the first of these Actions, and then when on the Laptop, paste in the image you want to click on for the Laptop.

3 Likes

I just do what @Zabobon recommends.

Make a new macro? Sure
Jump off a bridge? Sure

2 Likes

Thanks to everybody that replied. I tried everything you recommended but nothing seems to work.

All the recommendations were based on the premise that the problem was with the difference between the images on the two computers but alas that doesn't seem to be the problem.

I had not said it but that had occurred to me and I did get an additional image from the laptop screen. When cdthomer suggested this might be the problem I did get a new screenshot just to make sure but I still have the same problem. I really don't understand what is going on.

Is the input field and the drop down in BOTH computers exactly the same? I see there’s some text and an ellipsis.

As zabobon commented in his/her link, add an action that DOESNT abort on fail if it doesn’t find the 1st image (ie the Desktop one).

Also, adjust the Fuzzy slider.

And finally, make sure KM has permissions to find images on screen.

Sounds like a KM permission problem then.

2 Likes

Thank you! This was indeed the problem. KM had permissions for "Screen Recording" but the KM Engine.app did not. I added that permission and now everything works fine.

Thank you guys for your help!

2 Likes