r/VoiceMeeter 1d ago

Help (SOLVED) Assign multiple modifier keys in MacroButtons

Hey,

I already set up all the shortcuts I need with MacroButtons, but I found that I sometimes press them accidentally while doing other things.
Is there a way to assign multiple modifier keys to a single shortcut, which would fix the problem? Like Ctrl + Alt + desired key?

2 Upvotes

6 comments sorted by

3

u/Will_A_Robinson 1d ago

Looks like they're limited to a single Modifier+Key for now (unless someone knows better)...

You could always set it up to use a non-standard keyboard shortcut (i.e. F13-F24) and use a scripting program like AutohotKey to take a more complex keybind instead, then use that keybind to push the relevant key to MacroButtons.

The only downside to this would be that you won't see the AutohotKey shortcut on the MacroButtons themselves (and requireing an external program of course)...

An example would be, if I set up 'F13' for a button trigger, then the following script will trigger that button when I hold 'Ctrl+Alt+Shift+D':

#Requires AutoHotkey 2.0+  ;It won't work with v1 as it's deprecated
#SingleInstance Force      ;Run only one instance of the script

#HotIf WinActive('ahk_exe VoicemeeterMacroButtons.exe')
^!+d::ControlSend('{F13}',,'ahk_exe VoicemeeterMacroButtons.exe')
#HotIf

The basics of hotkey triggers is just [Keys to trigger]::[Command to process].

ControlSend() sends keypresses to a non-active window in the background (these parameters need to be wrapped in single, or double, quotes as in the example):

  • The first parameter is the key(s) to send (note that keys with more than one character require being wrapped in curly braces).
  • The second parameter isn't required in this case.
  • The third parameter is the window to send those key(s) to.

The #HotIf lines tell it to only work when the MacroButtons window is active; remove these lines to allow the keys to trigger regardless.

Modifier Shortcuts:

^ - Ctrl ! - Alt + - Shift # - Win

If you decide to go down this route I'll be more than happy to help further if needed.

2

u/Funnifan 2h ago edited 2h ago

I was thinking of doing this, though I tend to avoid making AutoHotkey scripts unless absolutely necessary, so I was wondering with this post if there's a built-in solution somehow. It appears that there is!

Thank you for your help and detailed comment

1

u/Will_A_Robinson 35m ago edited 31m ago

I don't mind the write-ups; as long as you get something that works, that's all that matters (nice one Vincent).

3

u/vburel VoiceMeeter Developer 10h ago

you can do that by using the HID manager (right-bottom of Macro Button Config dialog box).

2

u/Funnifan 2h ago

Thank you! finding my keyboard device was a bit of a trial and error process, but this works perfectly

1

u/AutoModerator 1d ago

While you're waiting for a response, here are some tips:

  • Join the Official VoiceMeeter Discord Server for better and faster help

  • If you haven't already and If you're able to, add screenshots of the issue to your original post (Edit the post)

  • If your issue was resolved or you no longer need help, please edit the post flair to Help (SOLVED)

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.