And yet, my keyboard can do almost (no per-program switching) all of the same FROM A WEB PAGE. WebHID should be all that's needed for advanced input devices. If you want some sort of per-program profile switching, sure, release a dedicated app that handles sending a special HID command sequence to trigger a profile switch.