Also any app-specific bindings would I guess require some hooking (input interception / injection) at the software level.