I am not immediately aware of a Windows app that uses the META key concept per se, unless you find a Windows version of Emacs for example. But I can’t see how this would not work in MM as long as it’s implemented in an unobtrusive way. Pick a key that doesn’t normally do something in web apps, and then build from there IMHO.
Today, something happens when I enter a colon followed by a few characters, so I get a “pop-up” for “auto completion”. We can do the same thing with a META key like [Esc]. At the editing point, [Esc] isn’t used for anything, so it’s not a “dangerous” key. It could actually be implemented not just at the beginning of text editing, but also in the middle of text editing. Make it context aware so that certain commands are not available if it’s pressed in the middle of text editing. Like so:
[At beginning of text input]
Delay pop-up for 1s, handle keyboard input, if a command is received, act. If no command is received, display pop-up. If command requires further selection, delay next pop-up for 1s, handle keyboard input, if a command is received, act. If no command is received, display next pop-up. This will allow for multi-character META sequences.
[In the middle of text input]
Same as above, but filter out things that are “destructive” in nature, e.g. leaving the current operation. So if META command R is to reply, it should not be available (nor displayed in auto-completion pop-up) while in “mid-text”.
The word META should be displayed somewhere where it’s seen to clearly indicate that “you are now in META mode”. Make any pop-up that appears as a result of a META mode timeout after 5-10s with no input, to allow for every other “system event thread” to run/be handled and not get stuck because of a pop-up, if that is an issue in your implementation.
The above “concept” would allow for quite a few cool things to be implemented:
[Esc] M, bring up usernames for @mention (could be thread or channel only)
[Esc] R, reply, does nothing in mid-text
[Esc] E, bring up emoji-popup (which is better than having to type text after a colon since I never remember the letters )
[Esc] U, show users of this thread, group, whatever
[Esc] G, show group info
[Esc] F, flag the previous post (perhaps /flag is better for this)
[Esc] [Esc], same as waiting for 1s, in other words do nothing
Or, for [Esc] G, turn it into a multi-meta command like this:
[Esc] G, bring up group menu (after 1s)
[Esc] G H, change group header
[Esc] G P, change group purpose
[Esc] G A, add member, so member menu (excluding current members) is displayed after 1s of no input after A
[Esc] G R, remove member, so member menu is displayed after 1s of no input after R
[Esc] G I, view group info
“Big actions”, like Delete Group should not be META commands, you don’t do them very often and being a “mouse command” is fine for such tasks. They could, however, be available in the pop-up menu that comes after the 1s time-out.
And so on. I’m not sure how useful any of these are :), but since I’m a coder for 40 years, I can’t help myself, so feel free to disregard, I’ve got thick skin
(By the way, does a parameter to /away display the parameter as “my status” if someone hovers over my username anywhere, if not, it should )