2011-06-25 7 views
6

OS XのHIDデバイスへのRAWアクセスを取得する最も簡単な方法は何ですか?OS XのHIDデバイスへのRAWアクセス

私はIOKitの例を見てきましたが、デバイスを開くことさえ不要で複雑で、複数のコールバックが含まれていて、半ダースのライブラリからのものが含まれています。
libusbはOS Xで利用可能ですが、カーネルはすべてのHIDデバイスを排他的にアクセスできるようにしていますが、コードレスの.kextを使用してデバイスとの関連をブロックしようとしています。最初はデバイスですが、デバイスを設定する呼び出しは、私がテストしている小さなPythonのlibusbスクリプトの下からカーネルにデバイスを奪われているようです。

基本的に、データをストリームするHIDデバイスがあります。私は(理想的に排他的な)アクセスのためにそれを開き、データストリームを取得したい。

私がIOKitのドキュメントで見つけたすべての例は、libusbで取ることになる〜8行に比べて、実際には複雑です。 3'rdパーティライブラリではない簡単な方法が必要です。

OS Xをどのような機能でプログラミングするのか全くわかりません。

Pythonのサポートがいいだろうプラス

答えて

1

は残念ながらHID ManagerのAPIを使用するより他に方法はありませんhidapiマックのバックエンドを見てみましょう。 OS XのHIDデバイスへの生のアクセスはサポートされていません。

documentation

は、それが明らかに:だからあなたが直接、またはあなた HID Manager APIを使用することができますいずれか

Using POSIX APIs 
For each storage, network, and serial device the I/O Kit dynamically 
creates a device file in the file system’s /dev directory when it discovers 
a device and finds a driver for it, either at system startup or as part of 
its ongoing matching process. If your device driver is a member of the I/O 
Kit’s Storage, Network, or Serial families, then your clients can access your 
driver’s services by using POSIX I/O routines. 

:POSIX通じ

HID family. Through the HID Manager, the HID family provides a device 
interface for accessing a variety of devices, including joysticks and other 
game devices, audio devices, non-Apple displays, and UPS (uninterruptible 
power supply) devices. 

生のアクセスは、それが唯一のavailableストレージ、ネットワーク、およびシリアルデバイスのためのAPI libusbまたは(他の回答として)hidapiを使用することができます。これは、HID Manager apisを超えるラッパーライブラリです。これらのライブラリを使用する利点は、低レベルの呼び出しの大部分を抽象化し、使いやすくすることです。

関連する問題