iOS响应物理键盘事件和UIInternalEvent

iOS响应物理键盘事件和UIInternalEvent,ios,Ios,我希望能够在iOS应用程序中检测物理键盘(如蓝牙)事件 我偶然发现了这样一个帖子:它建议超越UIApplication:sendEvent 在超越UIApplication之后,我可以看出按键是“UIInternalEvent”,不适合记录的3种事件类型之一。使用调试器,我无法区分用户何时单击“a”和何时单击“左箭头”。有什么建议吗 我的代码: - (void)sendEvent:(UIEvent *)event{ UIEventType u = [event type]; if(u

我希望能够在iOS应用程序中检测物理键盘(如蓝牙)事件

我偶然发现了这样一个帖子:它建议超越UIApplication:sendEvent

在超越UIApplication之后,我可以看出按键是“UIInternalEvent”,不适合记录的3种事件类型之一。使用调试器,我无法区分用户何时单击“a”和何时单击“左箭头”。有什么建议吗

我的代码:

- (void)sendEvent:(UIEvent *)event{
  UIEventType u = [event type];

  if(u != UIEventTypeTouches){

  }
  [super sendEvent:event];
}
调试器断点位于if语句中


编辑:UIInternalEvent是GSEvent的包装器。GSEvent信息可以在这里找到:但我仍然不知道如何使用它。

使用私有框架图形服务,您可以使用UIApplication的sendEvent中的UIEvent对象获取GSEventRecord。更不像这样:

GSEventRef e = [UIEventObject _gsEvent];
const GSEventRecord *record = GSEventGetGSEventRecord(e);

然后尝试查看记录结构的标志值,当您按下shift、control等键时,它会发生变化。

使用私有框架图形服务,您可以使用UIApplication的sendEvent中的UIEvent对象获取GSEventRecord。更不像这样:

GSEventRef e = [UIEventObject _gsEvent];
const GSEventRecord *record = GSEventGetGSEventRecord(e);
然后尝试查看记录结构的标志值,当按下shift、control等键时,它会发生变化