Как да кажа на OS X да игнорира входа от една от двете свързани USB мишки?

Имам две USB мишки, свързани към моя Mac, едната от които използвам като скенер. Имам нужда от достъп до общите X и Y данни, но не искам тези данни да преместват курсора. Как при въглеродна или какаова среда да кажа на системата да игнорира мишката като посочващо устройство?

Редактиране: след известно ровене открих, че мога да изключа актуализирането на позицията на мишката с функцията CGAssociateMouseAndMouseCursorPosition(), но това не ми позволява да посоча една мишка. Може ли някой да обясни връзката на OS X между HID мишка и курсора? Трябва да има обвързване между хардуера и софтуера за всяко устройство по устройство, но не мога да го намеря.


person Jeff    schedule 18.08.2010    source източник


Отговори (1)


Бих искал да напиша основен драйвер за потребителско пространство за мишката. Това ще ви позволи директен достъп до мишката като USB устройство. Можете също така да поемете управлението на устройството от системата за ваша изключителна употреба.

Тук има малко документация:

Работа с интерфейси на USB устройства

За да започнете, стъпките за настройка за свързване към USB устройство вървят така (мисля, че моят IOKit е ръждясал)

включете ‹ IOKit/IOKitLib.h > и ‹ IOKit/usb/IOUSBLib.h >

  1. намерете устройството, което ви интересува, като използвате IOServiceMatching(). Това ви позволява да изберете правилното USB устройство въз основа на неговите свойства, включително неща като ID на доставчика и т.н. (Вижте екранната снимка на инструмента IORegistryExplorer по-долу)
  2. вземете екземпляр на USB плъгин (да го наречем plugin) с IOCreatePlugInInterfaceForService()
  3. използвайте plugin от стъпка 2 вземете интерфейс на устройството (да го наречем device) с помощта на (**plugin)->QueryInterface()
  4. device представлява манипулатор на връзка към вашето USB устройство - първо го отворете, като използвате (**device).USBDeviceOpen или (**device).USBDeviceOpenSeize(). от там трябва да можете да изпращате/получавате данни.

Звучи като много неща, които знам.. и може да има по-лесен начин, но това ми идва наум. Може да има някои предимства от това ниво на контрол на устройството, но не съм сигурен. късмет.

екранна снимка на IORegistryExplorer

person nielsbot    schedule 28.04.2012