HIDデバイス(マウスやキーボードではない)にアクセスするためにhidapiを使用しています。サポートされる最も古いOSバージョンは10.6で、現在Mac OXX10.6.8を使用しています。Mac OS X実行可能ファイルが通常のユーザー権限で実行されている場合は、デバイスを列挙し、ベンダーと製品IDで使用するデバイスを特定して、次のように開きます。
IOHIDDeviceRef os_dev = ...
IOReturn ret = IOHIDDeviceOpen(os_dev, kIOHIDOptionsTypeNone);
if (ret == kIOReturnSuccess) { ... } // here I get kIOReturnNotPrivileged for daemon
実際には、実行可能ファイルはデーモンとして実行する必要がありますが、その後IOHIDDeviceOpen
失敗しkIOReturnNotPrivileged
ます。Linuxの場合、udevルールによるホットプラグスクリプトの起動に関する同様の問題を回避し、新しく接続された(一致する)デバイスの権限を変更しました。デーモンユーザーに固執したいと思います。どうすればこれを達成できますか?