如何检测objective-c中的外部键盘连接?

我的应用程序需要知道外部键盘连接或否。 我怎么能知道呢? 没有私人的API请。 🙂

如果这是iOS相关的,我不知道你为什么要检测到这一点,因为硬件键盘与软件键盘完全一样(除了一些额外的声音,亮度等快捷方式,你的应用程序不应该反正用)。

如果您正在考虑使用屏幕空间,则软件键盘在显示或隐藏时仍会发送通知,以便您可以对其进行响应。 例如,假设你有软件的键盘,然后你连接你的外部键盘。 软件键盘将隐藏,并将张贴UIKeyboardWillHideNotification 。 所以你可以回应。

首次注册通知:

[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil]; [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil]; 

然后收到:

 -(void)keyboardWillHide:(NSNotification *)_notification { NSLog(@"%@",[_notification infoDict]); } -(void)keyboardWillShow:(NSNotification *)_notification { NSLog(@"%@",[_notification infoDict]); } 

这将被称为只是里面的键盘将被显示,并没有外接的键盘连接! 如果连接了外部键盘,WillShow Notification将不会被调用。