AFAIK 使用公共 API 是不可能的。我做了一些搜索,但esc无法识别密钥。我唯一没有做的就是尝试iSSH
(花费 9 欧元 :-),但是如果您阅读 AppStore 上的说明,很明显ESC硬件(蓝牙)键盘上的键不起作用:
详尽的密钥配置支持。有arrow键(通过弹出窗口或工具栏)。ctrl, alt, esc, tab, shift,Fn键 ( 1-10),`键, PgUp,PgDown和为那些未列出的键提供了多种添加方式。
通过服务器或终端中的选项键映射,蓝牙键盘支持arrow键、function键和键的重新映射。启用后,+按下映射到等效的+按下。ctrlX11/VNC
OptionkeyCtrlkey
如您所见,在第二行ESC中没有提到密钥。此外,我发现了这个(旧)帖子。
编辑:
作为您的最后一次更新,我找到了一种“隐藏”_gsEvent
二进制文件内部的方法。但是,我不知道 Apple 静态分析器是否可以找到它。诀窍很简单……_gsEvent
在运行时创建选择器(和其他私有选择器)!
-(void)sendEvent:(UIEvent *)event
{
SEL aSelector = NSSelectorFromString([self theSelector]);
if ([event respondsToSelector:aSelector]) {
NSLog(@"Event: %@", event.description);
}
[super sendEvent:event];
}
-(NSString *)theSelector
{
// compose the keyword as you prefer
NSString *sel = [NSString stringWithFormat:@"%@g%@%@ent", @"_", @"s", @"Ev"];
return sel;
}
我尝试在二进制文件中搜索,但没有找到_gsEvent
关键字,显然是因为它仅在运行时创建。
希望这可以帮助。