0

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で、16進値を調べてヘッダーで見つける必要があります...例:

kHIDUsage_GD_Joystick   = 0x04, /* Application Collection */
kHIDUsage_GD_GamePad    = 0x05, /* Application Collection */
kHIDUsage_GD_Keyboard   = 0x06, /* Application Collection */
kHIDUsage_GD_Keypad = 0x07, /* Application Collection */
4

1 に答える 1

1

たとえば、従来のスイッチ方法を使用できます。

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

等々。

于 2010-09-13T12:23:25.067 に答える