Virtual Stream Deck on menu bar when real Stream Deck is disconnected

Hello,
I've spent many hours and days setting up my stream deck buttons and shortcuts.
The visual customization of the buttons helps me very much without having to remember tens or hundreds of shortcuts. This is especially true for groups, I usually hide sub-commands under a groups so my stupid brains always know which trail to follows when trying to accomplish something.

The problem is that when I use a laptop on the go I usually don't carry around the stream deck, meaning that all my shortcuts, groups and subgroups and button customizations are not accessible anymore and my brain pushes my hand to reach my Stream Deck that is not there :laughing:

Given that there is already a very light emulator of the Stream Deck when setting it up, would it be possible to have a fully fledged Stream Deck emulator living on menu bar when the real physical one is not available? I guess this would be possible with floating web view.

My idea would be to have a menu bar icon that when clicked will bring up a web view with a perfect emulation of the real Stream Deck.

I hope it won't be too difficult :pray:

You can configure that like this:

It should remember it's position so will show up / hide when you click the menubar icon

Hi, no, it doesn't remember its position, I move it around and always reopen in the left bottom corner.
The window size is also weird, I try to enlarge it to make all the buttons visible but they don't flow naturally. Anyway even if they becomes all visible the next time I show the emulator it's back to its original size and some buttons are hidden

Weird it seems to work fine here. Did you provide a serial number? It's also necessary to have the "show window title bar" option active for this to work.

However right now this is pretty slow. I'll add some caching to make it faster soon.

Also quite buggy, 1/3 of the times the buttons don't show up :man_shrugging:

Which macOS version are you on?

Ventura 13.6.6

ah unfortunately that might be the reason ;-(
Some of the code for that only works on macOS 14 or greater and Apple has fixed various window positioning issues there as well.

I'll check whether I can make it easily work on macOS 13 but I only have that running in a VM (might take a while for me to really look into it).

I see, thanks.
Is the serial number necessary even for the emulator? Could you please remind me how to find the serial number ?

You can just enter a fantasy serial number. It's just used as the title of the window, which macOS uses to save the position & size of the window.

The next alpha will make it much faster to show up.

ok thanks, embedding the emulator into a web view wouldn't solve both problems of speed and retro-compatibility?

BTW, giving a fantasy serial number fixed the position and size being saved :+1:

It is a webview already :wink:
Performance was easy to fix - BTT will now keep it loaded even when hidden. (But the new alpha will still take a bit until I can upload it)

1 Like

@sambtt that was an EXCELLENT suggestion. Thanks!

1 Like

Now I'm sad, realizing that the Stream Deck preview is not active.

@Andreas_Hegenberg, a suggestion: It would be a quantum leap in value if the buttons in your Stream Deck simulator were actually functional. You already know what the buttons are supposed to do, so it might be trivial for you?

Use case: I have a Stream Deck at home but not at work. With your simulator I could..simulate it?

what do you mean by active? As long as BTT is running in full control mode it should work like the real device
(but I can‘t do anything about what is configured in the stream deck app)

Sorry Andreas, I was imprecise. It actually does work as you suggest. Which is ironically, hugely frustrating!

Scenario: I have the simulator running and I activate the Finder. My Finder profile appears on the simulator. Good. But when I click on a simulator button the profile changes to the one associated with Better Touch Tool and then that button fires. (Which makes a certain amount of sense but is entirely unhelpful)

So very close to great, but tragic instead…just a thought for you.

Ah I see, that should of course not happen. I'll make the window non activatable.

@Arasmus I just checked again, but the window is already non-activatable so it should not activate BTT. Which version of macOS / BTT are you on?

I'm running 4.495 (on macOS Sonoma).

That's interesting, I would have guessed "non activatable" would have meant "non interactionable" but clearly that is not the case.

I appreciate the challenge here; genereally, you want activated applications to trigger a profile change. Indeed, I have a profile for BTT. We just don't want the Stream Deck simulater to triger a change.