New Stream Deck – KM Link Not Working

Glad it worked, but I wasn't implying that you had to use this approach. I was just having you conduct a test to see where the problem may lie. Testing alternate ideas is part of the debugging process.

Except, I hope, when you use the alternative URL approach above.

I don't use KMLink. So I'm out of ideas, but maybe @corcules will get back to your question.

Exactly, it shows the call on the log. I think that option is safer.

Testing with the terminal, I found that macOS doesn't recognize the kmlink:// URL scheme as valid because "there is no application registered with the system that handles it." The curious thing is that I've installed and uninstalled the plugin while doing these tests, with no result other than its failure.

In my case:
• The KMLink plugin attempts to use the URL kmlink://macro=TheMacro internally.
• But when that URL is launched, macOS doesn't find any app associated with the kmlink:// scheme.
• The result is an error like this:
“No application knows how to open URL kmlink://macro=Test” (Error Domain=NSOSStatusErrorDomain Code=-10814 kLSApplicationNotFoundErr)
• This means that even though KMLink is installed, it hasn't been correctly registered as a kmlink:// URL handler.

Thanks again!

Then try this command in a terminal window:

/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -dump | grep -i kmlink

If "kmlink" is a registered scheme in your macOS, I think it should show up there.

Well first there is no « kmlink:// »
@Airy said « kmtrigger:// »

Can you test with « kmtrigger » and give us a feedback ?

1 Like

I didn't dare question him about that, because I didn't know if the kmlink add-on added a scheme called kmlink.

@davepalac
If the select field to choose the macro stay gray and disabled, that’s because kmlink cannot read the Keyboard Maestro’s macro library.
I guess it might be because :

  • The file is not at the expected place with the expected name
  • The file cannot be read
  • Kmlink don’t have permission to read the file
  • The file can be read but something wrong with the content during the parsing (due to the content itself or due to my code that read…)

The file should be there:
User library > Application Support > Keyboard Maestro > Keyboard Maestro Macros.plist

Eventualy, if possible for you, maybe you can send me a copy of that file so that I check it on my side.

Yes but @davepalac made some tests with url sheme « kmlink:// » which does not exist.

Kmlink is really not a sophisticated app. It just read the KM macro plist, make a selectable list inside Streamdeck app and call Keyboard Macro Engine to execute the selected macro. Nothing more…

Hi Team Corecules, the select field to choose the macro it's fine, not grayed. When I use the plugin on Stream Deck, it allows me to select any macro I have or any new one I create. The only thing it's stopped doing is communicating with Keyboard Maestro. I've installed the plugin from both Github and the Stream Deck marketplace. This is the first time this has happened in the three years I've been using it.

I've tested both. kmtrigger works well not kmlink://. This is what I expressed in a comment to @Airy

Sure, here is the screenshot of where the file is located and the zip file with Keyboard Maestro Macros.plist.zip.


Keyboard Maestro Macros.plist.zip (799.4 KB)

This is the result:

Last login: Tue Apr 15 16:54:18 on ttys001
davidpalacios@Davids-MacBook-Pro ~ % /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -dump | grep -i kmlink
davidpalacios@Davids-MacBook-Pro ~ %

Good. As coracles said, kmlink should not exist. Therefore, don't use it.

@davepalac, hello i check your macros dictionary, nothing wrong with it.
But if you can select a macro in SD app, that’s not a surprise.

So, something wrong with your environment, maaybe something with Sonoma (i don’t tested on it yet), with permissions, ect…

Eventually can you test this little applescript:

tell application “Keyboard Maestro Engine” to do script “******”

Please replace quotes and ****** by the macro uiid.

Let us know

I got my new M1 MacBook Pro last year, and it came with Sonoma. I installed everything from scratch and never had that problem. I reformatted my Mac for maintenance and reinstalled everything without any issues with KMLink until it happened 2 weeks ago. I haven't had any issues granting permissions to apps. I can do it from the terminal if I have any issues, or using the Batchmod app. I also have Gatekeeper enabled with the third option to install apps from any developer. I made sure to check the permissions of the folder where the plugin is located and made sure it wasn't quarantined.

I just did the test and the message is this: