gpt4 book ai didi

c++ - 在 IOKit 中获取 Constant 或 Enum 的字符串表示形式,可能吗?

转载 作者:行者123 更新时间:2023-11-28 08:26:58 25 4
gpt4 key购买 nike

有没有办法获取 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 */

最佳答案

可以使用经典的switch方法,eg.

const char *IOHIDElemtType2str(IOHIDElementType type)
{
switch(type)
{
case kIOHIDElementTypeInput_Misc:
return "kIOHidElementTypeInput_Misc";
}
}

等等。

关于c++ - 在 IOKit 中获取 Constant 或 Enum 的字符串表示形式,可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3700274/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com