After a lot of experiments I find that the vMix Shortcuts plugin for the Stream Deck software is nice, but too limiting. As has been
pointed out by Admin in the Release discussion for v22, Elgato's API ties the Stream Deck's keys to a single Profile on a particular device. Moving/copying a vMix-Stream Deck setup to another PC and/or production requires re-findning all the Keys used for Shortcuts. A cumbersome process...
Enter
Bitfocus Companion which has quickly become very popular among both vMix users, and the wider area of event directors/producers. Companion already has many "modules" for controlling devices (like Behringer X32/M32 and XR/MR, BlackMagic Multiview 4, Analog way switchers, MA lighting controls) and apps (like Powerpoint, CasparCG, Resolume, Watchout). These allows us to control many things, including vMix, from one single device.
There is already a Companion module for vMix that supports a limited number of Shortcuts including "Run custom command". So, in practice one can in Companion setup Stream Deck keys to control all Shortcuts available in vMix. It works really well, but there are two features I would like to see implemented in vMix.
First, and this one I think is relatively easy to implement, is Companion key support.
Ideally also with the option to "Find" the key in vMix. With my limited insights in programming I think one way of obtaining this is to create a new Companion module that tells vMix which Companion key is pressed when vMix is listening for it. Or request that the current module implements this functionality as, in thia case, specified by the vMix team.
In Companion Stream Deck keys are identified by a Page number (1 to 99) and a key on that page (e.g. 1-12). In vMix the "key" could be named "CompanionKey", where the variables for page and key could be defined in the Shortcut settings in a similar fashion as for Channel and Note for MIDI keys.
An alternative solution, perhaps more flexible for use beyond Companion, would be "Virtual keys" asked for in
another (perhaps confusing) Feature Request. That is, "keys" without any physical equivalent. If vMix supported such (e.g. a key named "CompanionKey-2.10") it could be invoked by the shortcut "KeyPress CompanionKey-2.10". No module development for Companion required, and a host of new possibilities opened up for creative uses of Virtual keys.
Second, is of course Activators.
As
elmills81 wrote in the vMixStreamDeck.exe discussion "If the Companion App featured Activators it would be a winning solution for us". I agree, but perhaps due to its complexity that should be the subject for a separate Feature Request.