"Found Image" Not working in Catalina

Many of my macros use the "Found Image" Action to locate a position on the screen and then move the cursor to it.

Seems like these are not working at all in Catalina with KM 9.0.3.

I get a notice that the macro was canceled because the image could not be found. (Notification Attached).

Anyone else seen this?00%20PM

Yes, this has been a recurring issue with Found Image actions in KM 9, even before Catalina was released. I believe that usually, changing the Found Image setting from "Unique" to "Best" fixes it.

Thanks @gglick. Unfortunately that didn't work for me. I also tried changing the "fuzziness" but that also was unsuccessful.

Well, I found a "buried" alert window asking for permission to allow Keyboard Maestro to "record my screen."

After going to System Preferences -> Security & Privacy -> Screen Recording and enabling Keyboard Maestro, the issue is resolved.

Thanks!

C

2 Likes

Thanks for sharing. That must be another "security feature" Apple added for Catalina. It is not in Mojave.

The amount of permissions in Catalina is ridiculous...

"MacOs Vista"
https://tyler.io/macos-10-15-vista/

1 Like

gglick, THANK YOU.... It seems all my "found image" macros were not working after Catalina... only had to change it to BEST and it works like it use to.

Is this a bug? Is there a way to have BEST be the default?

I don't know if it is technically a bug or not, but it is a change in Found Image behavior introduced by KM 9.

KM does not provide any means to set default values for Actions, but you can achieve this by using the great system by @DanThomas : MACRO: [KMFAM] Favorite Actions and Macros.

1 Like

The easy solution is to switch it to “best”, but it is not the best solution.

If “best” works, and if the best solution is significantly better than any other (which was required for it to work in version 8), then adjusting the fuzz and leaving it as “unique” is the correct solution.

Keyboard Maestro 8 did not have an option for best, it only had unique, but it relaxed the meaning of “unique” in the case where the best match was significantly better than all others. Keyboard Maestro 9 does not have this relaxed meaning, so you should adjust the fuzz to a level between the best match fizz and the next best, which should be easy to do since the match has to be significantly better than any other or it would not have worked before.

I think that is exactly what is causing a problem with so many users who had "Found Image" actions/conditions that worked very well for them in KM8, but suddenly failed upon upgrade to KM9.

Perhaps we need three settings for "Found Image":

  1. Unique
  2. Almost Unique (works just like KM8 Unique setting)
  3. Best

There might be a better term than "Almost Unique", maybe "Much Better than Others".

Given that, I would make #2 the default setting.

1 Like

Unique - Legacy (KM8)

1 Like

Even after changing "Unique" into "Best" KM complains that no unique image is found...

As a result, my macro is completely broken on Catalina :cry:

How to fix this?

Change it back to "unique", and adjust the "fuzz" slider to reduce the "fuzz" until a unique image is found.

Unfortunately no difference.

However, after running the macro several more times Catalina finally asked me whether KM is allowed to record the contents of the screen (I could not find a way to manually add it).

After allowing that, my macro worked with the original settings :smile:

2 Likes

Since upgrading to Catalina my macros that work relative to a screen image no longer work also. The following is an example action:

image

I have tried resetting the "Accessibility" permissions for both Keyboard Maestro and Keyboard Maestro Engine as suggested here (e.g. removing and readding the checkboxes, and also completely removing the entries via '-' and readding), all without success. The issue appears to be a lack of permission to the screen recorder based on the following log entry when the macro with the above action is run:

2020-01-02 12:22:53 HScreenArea::CaptureCGImage failed to capture front window
2020-01-02 12:22:53 Move or Click Mouse no unique image found.

A view of my Privacy: Screen Recording configuration attached shows that it is empty, and therefore no option to enable access to Keyboard Maestro. I have no idea how to enable this manually. Should Keyboard Maestro be showing, and enabled here, like it is in the "Accessibility" section? If so, how is this done? If not, then can you offer any suggestions to get my macros working again under Catalina?

Many thanks for any help provided.

... a further update. I have since tried resetting all the Accessibility options via the shell command. That did not work. I then tried a complete uninstall of KM 9.0.4 and reinstall. That did not work.

I have now discovered that some other macros of mine that interact with the screen are not working. A key log entry from one of those is:

2020-01-02 22:46:04 Manipulate Window failed to evaluate SCREENVISIBLE(External,Left) + g004__window_left

This log entry again points to some permissions issue between KM 9.0.4 and Catalina 10.15.2 but I really don't know. All I know is that macros that were working fine before installing Catalina were working fine and now aren't.

Ideas anyone? Please.

tried reaching Peter?

Thanks for your suggestion @hello. Yes, in fact I did soon after my last post and he replied immediately with a successful workaround, advising to run the Screen Capture to Clipboard Action:

4B3381DA-7E80-40BC-89C6-D48AA94BCA0C

Doing this coerced Catalina’s absurd permission system to let KM have access to the Screen Recorder, after which everything worked again.

Superb support @peternlewis. Thanks again. :+1:t3:

2 Likes

So it looks like some things that require Screen Recording prompt for the permission, and other things that require Screen Recording permissions just silently fail. Sounds about right for Apple’s security mechanisms. Sigh.

I will report it to Apple, but given they have not fixed the Accessibility permissions issues from Mojave yet, and made them worse in Catalina, I wont hold my breath.

3 Likes