Я бы хотел написать базовый драйвер пространства пользователя для мыши.
Это позволит вам получить прямой доступ к мыши как к устройству USB. Вы также можете получить контроль над устройством из системы для вашего исключительного использования.
Здесь есть некоторая документация:
Работа с интерфейсами USB-устройств
Для начала шаги по настройке подключения к USB-устройству выглядят так (я думаю, мой IOKit ржавый)
включает и
- найдите интересующее вас устройство, используя
IOServiceMatching()
. Это позволяет выбрать правильное устройство USB на основе его свойств, включая такие как идентификатор поставщика и т. Д. (См. Снимок экрана инструмента IORegistryExplorer ниже)
- получить экземпляр USB-плагина (назовем его
plugin
) с IOCreatePlugInInterfaceForService()
- используйте
plugin
из шага 2, чтобы получить интерфейс устройства (назовем его device
), используя (**plugin)->QueryInterface()
device
представляет дескриптор подключения к вашему USB-устройству - сначала откройте его, используя (**device).USBDeviceOpen
или (**device).USBDeviceOpenSeize()
. оттуда вы сможете отправлять / получать данные.
Звучит как много, я знаю ... и, возможно, есть более простой способ, но это то, что приходит мне в голову. Может быть, некоторые преимущества такого уровня управления устройством, не уверен. удачи.