Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Long press support for actions #28

Open
mabako opened this issue Aug 6, 2022 · 3 comments
Open

Long press support for actions #28

mabako opened this issue Aug 6, 2022 · 3 comments
Labels
enhancement New feature or request Stream Deck plugin An issue related to the Stream Deck plugin

Comments

@mabako
Copy link

mabako commented Aug 6, 2022

Why: It'd be nice - at least for text commands - to be able to trigger two different actions with the same button. I'm thinking along the lines of e.g. having /penumbra on normal press, while holding the button down longer would execute /penumbra reload; /acct and /accountant, /sonar and /sonarconfig etc. This would mostly allow having additional options on the deck w/o taking up more button slots.

I'm admittedly not familiar with the streamdeck API - but from what I've seen, you can receive both keyUp & keyDown events separately. There's no "native" support for long presses as far as I could see, but at least a very basic implementation could look at how much time has elapsed between these two events for the same button, and decide what to execute.

@KazWolfe KazWolfe added enhancement New feature or request Stream Deck plugin An issue related to the Stream Deck plugin labels Aug 7, 2022
@KazWolfe
Copy link
Owner

KazWolfe commented Aug 7, 2022

Would this be constrained to just commands or would your use case span to other things?

While, yes, this is doable (and you are correct - it is pretty simple), I have some concerns regarding the UX of creating "holdable" actions. Take, for example, a button that is designed to trigger an action on press but run a command on hold. This breaks the implicit understanding that one button == one type, and will need to be handled with care.

All that being said though, I have had ideas to implement something similar before (specifically, "hold for 3s to execute a Limit Break"), so it's something I'm interested in doing in once I have a reasonable UI solution.

@mabako
Copy link
Author

mabako commented Aug 8, 2022

I would be more than happy if it would be working for commands only - at least the convenience it would bring here is my primary use case for it.

Similarly, it would be perfectly fine with me if you decided to limit it only to one type of action for both normal & long presses, so that you can't mix & match between e.g. actions & commands. If you decide to enable it for more than just text commands, there would always be a workaround for that if needed anyway via "Execute Hotbar Slot", which allows a pretty wide variety of actions to be bound to it (e.g. Limit Break on one slot; Limit Break + cringe party chat macro on another)... but then you'd only have yourself to blame if you set it up that way & it was confusing.

@KazWolfe
Copy link
Owner

A quick update on this one: I've poked Elgato about this and they seem receptive to the idea. Progress soon:tm:?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request Stream Deck plugin An issue related to the Stream Deck plugin
Projects
None yet
Development

No branches or pull requests

2 participants