2010-08-18 13 views
8

Mac'ime bağlandığım iki USB faresi var; bunlardan biri tarayıcı olarak kullanıyorum. Genel X ve Y verilerine erişmem gerekiyor, ancak bu verilerin imleci hareket ettirmesini istemiyorum. Karbon veya kakao ortamları altında, sisteme fareyi bir işaretleme aygıtı olarak görmezden gelmesini nasıl söylerim?OS X'e, bağlı iki USB faresinden birinden gelen girişi yok saymasını nasıl söyleyebilirim?

Düzenleme: bazı kazma işleminden sonra CGAssociateMouseAndMouseCursorPosition() işleviyle fare konumu güncelleştirmeyi kapatabildiğimi fark ettim, ancak bu, tek bir fare belirtmeme izin vermiyor. HID fare cihazları ile imleç arasındaki OS X ilişkisini herkes anlatabilir mi? Bir cihazdaki donanım ve yazılım arasında cihaz bazında bir bağlayıcı olması gerekir, ancak bunu bulamıyorum.

cevap

1

Fare için temel bir kullanıcı alanı sürücüsü yazıyorum. Bu, bir USB aygıtı olarak fareye doğrudan erişmenizi sağlar. Özel kullanımınız için cihazın kontrolünü sistemden de alabilirsiniz.

Working With USB Device Interfaces

başlamak için, böyle gitmek USB cihazına bağlanmak üzere ayarlanmış adımlar

(Sanırım benim IOKit paslı olduğunu):

burada bazı belgeler vardır içerir < IOKit/IOKitLib.h> ve < IOKit/uSB/IOUSBLib.h>

  1. ile ilgileniyorsanız, cihazı IOServiceMatching() kullanın. Bu, satıcı kimliği, & c gibi şeyler de dahil olmak üzere, özelliklerine bağlı olarak doğru USB cihazını bulmanızı sağlar.
  2. USB eklentisi örneği almak (IORegistryExplorer aracı ekranı aşağıda çekilen bakınız) bir aygıt arayüzü almak 2. adımdaki IOCreatePlugInInterfaceForService()
  3. kullanım plugin ile (en plugin diyelim) (**plugin)->QueryInterface()
  4. device temsil kullanarak (en device diyelim) USB cihazınıza bir bağlantı kolu - önce (**device).USBDeviceOpen veya (**device).USBDeviceOpenSeize()'u kullanarak açın. Buradan veri gönderip alabilmelisiniz.

Çok bildiğim gibi geliyor ve daha kolay bir yol olabilir, ama aklıma gelen budur. Cihazın bu seviyede kontrolüne sahip olmanın bazı yararları olabilir, emin değil. iyi şanslar.

IORegistryExplorer screen shot

İlgili konular