有没有办法获取IOKit中定义的常量和枚举的字符串表示?
我将草料放入IOKit并试图控制注销USB设备返回的一些参数。但我最终得到了数字列表。还有其他方法可以列出这些含义吗?
例如在IOHIDKeys.h中
enum IOHIDElementType {
kIOHIDElementTypeInput_Misc = 1,
kIOHIDElementTypeInput_Button = 2,
kIOHIDElementTypeInput_Axis = 3,
kIOHIDElementTypeInput_ScanCodes = 4,
kIOHIDElementTypeOutput = 129,
kIOHIDElementTypeFeature = 257,
kIOHIDElementTypeCollection = 513
};
typedef enum IOHIDElementType IOHIDElementType;
在IOHIDUsageTables.h中,我需要查找十六进制值并在标题中找到它,例如:
kHIDUsage_GD_Joystick = 0x04, /* Application Collection */
kHIDUsage_GD_GamePad = 0x05, /* Application Collection */
kHIDUsage_GD_Keyboard = 0x06, /* Application Collection */
kHIDUsage_GD_Keypad = 0x07, /* Application Collection */
答案 0 :(得分:1)
您可以使用经典切换方法,例如
const char *IOHIDElemtType2str(IOHIDElementType type)
{
switch(type)
{
case kIOHIDElementTypeInput_Misc:
return "kIOHidElementTypeInput_Misc";
}
}
等等。