Stream Deck 7.0.3

Stream Deck 7.0.3 has just come out. It includes some quality of life improvements, but I think the big change is support for multi-tap (press, double press, or press and hold, for Stream Deck buttons.) This suggests to me that Stream Deck actions (only the ones using the new Key Logic plugin) will now have to trigger upon release of the key, rather than upon pressing it. This means a small amount of latency has been added to all buttons.

Stream Deck for iOS or iPadOS is not expensive (about $2/month, with the first month free) but it is completely free if you use a maximum of 6 buttons. However with multi-tap, you could argue that those 6 buttons have now become 18 buttons.

Isn't it the other way around?

What you refer to as ā€œpressā€ is triggered when a key is released, down, up, then the software waits to see if another key is pressed. If not, ā€œpressā€ is triggered.

This means that a ā€œreleaseā€ trigger would work as follows: I define the trigger as key up. I press the key, hold it for a minimum amount of time, then release it.

Long press actions would trigger with key down, a key is held for a certain minimum amount of time.

Where do you get the idea that the software waits to see if a second key is pressed before the release of the first key triggers an event?

It makes sense that it would work like that. If not, how else would you determine a single/double tap?

That's how it works in KMDeck, which is basically Stream Deck Mobile but free (and arguably better for KM users).

2 Likes

Most reasonable SDK / APIs will send events (key up key down) for every action, and along with the payload some kind of data that indicates if the tap count is a single / double / triple tap etc…

If they didn’t do that and their just waiting to trigger events after the double tap ā€˜fails’ (which might be something like 350ms after the end of the first key-up) that’s just shitty behavior, and there’s no reason for that.

Yup. I agree now. I will ban myself from this website for 5 minutes for being wrong.

2 Likes

Unfortunately, I don't understand exactly what that means. But it seems certain to me that no software can recognize a double tap before it has been executed :slightly_smiling_face:

1 Like

Press detection is done this way, server side.

1 Like

The issue isn’t whether software ā€˜recognized’ the double tap, it’s whether it knows if it should care or not.

What it means is that if it’s done correctly then there is no need for a button that just does a single press to wait for a specific amount of time for a second tap. Only if you specifically add an action for a second tap should it wait. If implemented poorly then yes, this will effect all single presses and cause a delay, which would be very bad (imo).

Are you saying that if a double tap is not set up for a button, then it is not necessary to wait for a double tap after the single tap? :thinking:

Yes, that is correct. You don't need an umbrella if it's not raining.:wink:

1 Like

Yes, exactly.

1 Like

Wasn't that clear from the start?

Who would think of adding a delay when there's nothing to wait for?

I think @Airy's point is that when a button is set with the new keypress logic, single presses will trigger on release (rather than press), which will introduce slight latency. It's negligible in most instances, but I can imagine situations (gaming etc) where this could be an issue.

1 Like

I was responding to that ^^

And, to be clear, I’m not saying that Streamdeck won’t have this issue, I’m just saying, if they do, then it’s stupid and avoidable.

How would you design multiple press detection mechanism that doesn't rely on delays to determine whether a single press is all that was input? That's not rhetorical; if you know of a way, I'll implement it into KMDeck.

Before you answer, I don't have a Flux Capacitor.

1 Like

:rofl:

I'm also very interested in the answer.

This approach should work with any keyboard, no? I imagine something that can read my mind via Bluetooth? :thinking:

Seriously, is there a ā€œmethodā€ that I've overlooked all these years? I would be very happy to learn about it.

1 Like

I want to go on record to thank #Airy for the original post about this Stream Deck update. I dutifully upgraded to the new version, but I didn’t look at the release notes and was completely unaware of this new feature, which I certainly can use. Although #Airy’s avatar is ā€œGONE,ā€ I’m thankful #Airy is right there,

2 Likes

I appreciate the joke there. I originally had a reason for using that avatar, but the reason itself is now "gone." And I kinda like how it stands out now. It's silly, but silliness isn't banned... yet.

2 Likes

Can anyone confirm that on Stream Deck 7, the keys aren’t recognized as trigger for ā€œUSB device keyā€ anymore?

This definitely used to work. I still have some macros with the registered keys and they still work.
It just doesn’t seem to be possible to assign them anymore?

I have "Stream Deck 7.0.3 (22071)" and it still works. Of course, my case is a bit different from yours because my Stream Deck hardware is probably different from yours, but I don't see that that should make the macOS Stream Deck software fail.

My only theory is that you are trying to use the Hot Key Trigger instead of the USB Device Key trigger. I know you said otherwise, but I have to try to come up with a possible explanation. If you show your macro, we may spot the problem.