cocoa 具有大量的整数掩码和代码。例如,NSCommandKeyMask或NSF1FunctionKey,在标题中明确定义和记录了该文件。

但是,有些可能是过时的,并且在访问辅助功能属性时(例如,获取字形(AXMenuItemCmdGlyph)),您会得到一个整数,例如111,代表F1(0xf704)或112,代表F2(hex:0xf705)。

有没有一种简单的方法来处理掩码和代码?也许能够将111转换为相应的十六进制unicode 0xf704的代码?我的意思是,NSEvent.h将NSF1FunctionKey映射到0xf704,但是是否存在111到NSF1FunctionKey或0xf704的映射?

最佳答案

如果希望菜单项的等效键使用Unicode字符,而不是它的字形,请尝试获取the kAXMenuItemCmdCharAttribute attribute而不是kAXMenuItemCmdGlyphAttribute

10-06 13:23