//设备信息
[HidManager shared].deviceInfoCha = inIOHIDDeviceRef;
[[HidManager shared] connectDevice];
+ //注册消息回调
+ unsigned char InputBuffer[128];
+ IOHIDDeviceRegisterInputReportCallback(inIOHIDDeviceRef, InputBuffer, sizeof(InputBuffer), hidReceiveData, NULL);
+ IOReturn ret = IOHIDDeviceOpen(inIOHIDDeviceRef, 0);
+ if (ret != kIOReturnSuccess) {
+ NSLog(@"打开设备信息失败!");
+ }else{
+ NSLog(@"打开设备信息成功!");
+ }
}
else if(PrimaryUsagePage == 65283 && PrimaryUsage == 0){
//ai
[HidManager shared].aiCha = inIOHIDDeviceRef;
+ //注册消息回调
+ unsigned char InputBuffer[128];
+ IOHIDDeviceRegisterInputReportCallback(inIOHIDDeviceRef, InputBuffer, sizeof(InputBuffer), hidReceiveData, NULL);
+ IOReturn ret = IOHIDDeviceOpen(inIOHIDDeviceRef, 0);
+ if (ret != kIOReturnSuccess) {
+ NSLog(@"打开AI失败!");
+ }else{
+ NSLog(@"打开AI成功!");
+ }
}
- //注册消息回调
- unsigned char InputBuffer[128];
- IOHIDDeviceRegisterInputReportCallback(inIOHIDDeviceRef, InputBuffer, sizeof(InputBuffer), hidReceiveData, NULL);
}
/// 设备移除回调
uint32_t PrimaryUsage = IOHIDDevGetUInt32Property(sender, CFSTR(kIOHIDPrimaryUsageKey));
if(PrimaryUsagePage == 1 && PrimaryUsage == 0){
-// [[HidManager shared] showLog:[NSString stringWithFormat:@"收到device数据 %@",data]];
[[AiMouse shared] sendDeviceDataToSdk:data];
}
else if(PrimaryUsagePage == 65283 && PrimaryUsage == 0){
-// [[HidManager shared] showLog:[NSString stringWithFormat:@"收到AI数据 %@",data]];
[[AiMouse shared] sendAiDataToSdk:data];
}
}
/// 设备信息数据回调,需要将此数据通过设备信息特征转发给蓝牙设备
/// - Parameter data: 数据
-(void)aiMouseSendDeviceInfoData:(NSData *)data{
-// if([AiMouse shared].connected){
- [self sendData:data toDevice:self.deviceInfoCha];
-// }
-
+ [self sendData:data toDevice:self.deviceInfoCha];
}
/// 设备鉴权结果返回