Как мне создать «геймпад», который для приложений DirectInput выглядит как обычный игровой контроллер, но состояние его элементов управления на самом деле определяется программным обеспечением?