I’m just using AHK and NirCmd with a relatively simple script that’s just running a nircmd function when it receives a keypress.
The "changeapp(or sys)volume commands are changing volume in 2.5% increments, muteapp(sys)volume is toggling mute on/off, and setapp(sys)volume sets volume to 50% for when I want to re-reference them. All the stated keypresses are “wrapped” inside a F24 keypress so that AHK can suppress the presses from being picked up by other running apps. This functionality is borrowed and adapted from Taran of LTT and his scripts here.
Eventually I’ll be moving to using AHK’s “hotstring” functionality and sending probably 20 character strings that will include info on what board, switch position, and layer the press was sent from in that identifying string. It’s gonna be super overkill, but I’m trying to setup my personal use case to be able to handle expansion in the future to utilizing stuff like a ScrabblePad as a function board while not worrying about running out of easily accessible addressing for my function usage.
I know lots of people won’t want to or can’t work with AHK and another app, so that’s the benefit of QMK giving as many options for assigning commands as you can work with.