KM 9 and Stream Deck Triggers

Ok. Thank you for the reply.
Have to find a numbering method that i can understand myself. :slight_smile:

Hi, Sometimes It does NOT SAVE the new numbers properly, and even if the "Button-ID" is changed, the fields ROW & COLUMN remain as they were.
Am I doing something wrong when saving the virtual keys row and column ?

Other than possibly tabbing out of the field, you should not need to do anything to save the change.

But it is a hard place to debug, given it is inside a plugin, running three different chunks of code. If you can get any kind of repeatable issues, then please report it.

I tried this on two different Macs and its the same: ROW & COLUMN numbers, cannot be saved unless you do not change the numbers that the deck offers you by default... :cry:
image

Is there an alternative way to the "Triggered by... This device key" ACTION in KM ? :interrobang:

I've found alternatives to the SW provided by "Elgato" with Python:

It took me a while to distinguish between Button ID and Column/Row. But now i understand.

  • Column & Row are used to send a trigger ID to KM. It will appear in "The USB Device Trigger".
  • Button ID is used to give a name to the button so KM can send a icon and/or text to it.

By default; the Button ID is the RxCx; row column. So, changing (virtual) row and column changes the default name.
That is logical, but was in the beginning also confusing for me to understand what is what.

3 Likes

Yes, you are right. The BUG comes after. Once you set both the ROW & COLUMN numbers, and ESCAPE out of each cell, the Stream Deck does not always SAVE those changes.

2 Likes

hmm. It does work as expected here.
High Sierra.
SD 4.3.2
KM9.0

My configuration is a little bit different ( Mojave 10.14.6 )

Yes. With infinite time, and no consequences for complexity (for other non-Stream Deck users), I would implement a Stream Deck specific trigger and use the Button ID for that and it would be better. I may still eventually do that.

Yes, it is not always saving the row and column. I will look in to it, probably for 9.0.2.

3 Likes

I have resolved this for 9.0.2. If the button has a Button ID, then it is not saving the row/column.

The interim workaround is:

  • Cut the Button ID to the clipboard
  • Change the virtual row/column
  • Verify the change stick
  • Paste the Button ID back

I am thinking that I will do away with the virtual row/column and just use the Button ID in the trigger. This will likely break the existing triggers, but I think the change and simplification will be worth it. But I have a few other fish to fry first.

1 Like

I am thinking that I will do away with the virtual row/column and just use the Button ID in the trigger. This will likely break the existing triggers, but I think the change and simplification will be worth it. But I have a few other fish to fry first.

Breaking the existing triggers is ok for this short time that KM9 is around.

I fool around a lot with these StreamDeck using Profiles, multiple pages and multiple units. Things are getting complicated here! :slight_smile:
If you like some feedback from me on your idea how to implement these button ID's i am willing to help.

1 Like

Feel free to make any suggestions, either on the forum or to support@stairways.com.

Note that there are many conflicting constraints, not the least being development time, but also number of people it benefits, how much it benefits them, how well it fits with out Keyboard Maestro features, etc, that go in to my choice of what to work on at any given point.

@Peternlewis

Look at the way Corcules with his KMLink does this:

Corcules/ KMlink

Make a macro browser within the SD plugin.
The good thing about this is, that if the user reorganise the buttons on our streamdeck, it does not mess up the virtual RowColumns.

The only thing you have to add is an button identifier so KM could send your icon and title to the right button. I would be OK with the way you do this now; Button ID. Make sure to tell the user it is used for this image and title specifically.

I have no numbers of the people that use Streamdeck, but in my circle of friends the adaption is strongly increasing!

1 Like

I couldn't agree more this is such a nice way to do things and makes the implementation with Keyboard Maestro so much nicer. It certainly has taken a bit of time for me to get my head wrapped around the way Keyboard Maestro integrates with the Stream Deck reading the forum posts and wiki again and again and experimenting. KM Link is very intuitive, not amped to specific buttons and easily works with profiles and no need for getting into button ID's.

The main thin for me is it would be much nicer if KM Link sorted a bit better and used Column view like in the Finder (command+3). With over 3,000 macros it is a bit unwieldy but I love his implementation it is very intuitive and works well with the StreamDeck software.

By default, I would just make it get the icon of the Macro and if you want to do something else then use the Button ID action to change it to one of the other options given. Meaning that rather than assign a button ID have another Stream Deck action that automatically pulls in "This Macro's Icon" (or the other choices, Macro Icon, Clipboard, Icon and Default) when run regardless of button ID. The benefit being that you can assign a macro in Stream Deck and if Keyboard Maestro has the fifth new action of Stream Deck Image of Button for recalled macro then it updates.

As it is now I have to make a button ID in Stream Deck and in Keyboard Maestro, and also make a USB trigger in each macro and if I want to rearrange things in Stream Deck software then I have to go back to Keyboard Maestro and pick a different USB Trigger.

1 Like

I just received my new Stream Deck 15 keys. I am using the latest version of KM 9 and also just downloaded the Stream Deck app and the Keyboard Maestro plugin.

I found that I already had a couple of keys set up from before, when I was using the iPhone Stream Deck app. So, for instance, I could press R1C1 in the Stream Deck and it will launch Forklift (my macro). No problem.

The current issue I am facing is when I set up a new macro and use "This Device USB key", and pressing any Stream Deck button does not register in KM. It's as though KM is not capturing the key press.


But if I press an existing key, such as R1C1 which was assigned to launch Forklift, then KM will be able to capture. (Similarly, if I pressed R1C2 and R1C3, which were previously setup, KM will capture it). It just does not capture new, unassigned Stream Deck keys. Any ideas? A bug?

Replying my own issue - it occurs to me that maybe I have to go to Stream Deck app and drag+drop an empty Keyboard Maestro icon from the plugin into the key AND THEN assigned that key in KM. That seems to work!!

Many thanks @Fokke for this reply and diagram. This has helped me get my head around the way to manage the virtual buttons. Have created a spreadsheet to track the button references and make sure that i don't duplicate them.

Hi
I still have problems with Stream Deck and KM. KM doesn't recognize the button when it's pressed. I'm on Big Sur.
Any idea what to do about it?

I have given up using the official Keyboard Maestro plugin for Stream deck and now use the KM Link one. It is so much easier than trying to get the button references correct. @Musicmind have you tried both versions of the plugins?

Well, as so many times before the solution to the problem was to remove the KM plug-in from Stream Deck and insert it back, then it worked as expected.
I did a clean install of BIG SUR a month ago, but I imported a lot of the settings from KM and Stream Deck.
I'm not sure what you mean by KM Lnik. What's that?
I mostly use Metagrid for the main part of my work, and it works very well together with KM.