IOHIDEventMacroDefs.h   [plain text]


/*
*
* @APPLE_LICENSE_HEADER_START@
*
* Copyright (c) 2017 Apple Computer, Inc.  All Rights Reserved.
*
* This file contains Original Code and/or Modifications of Original Code
* as defined in and that are subject to the Apple Public Source License
* Version 2.0 (the 'License'). You may not use this file except in
* compliance with the License. Please obtain a copy of the License at
* http://www.opensource.apple.com/apsl/ and read it before using this
* file.
*
* The Original Code and all software distributed under the License are
* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
* EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
* INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
* Please see the License for the specific language governing rights and
* limitations under the License.
*
* @APPLE_LICENSE_HEADER_END@
*/

//
// DO NOT EDIT THIS FILE. IT IS AUTO-GENERATED
//

#ifndef _IOHIDEVENTMACRODEFS_H
#define _IOHIDEVENTMACRODEFS_H

#define _IOHIDVendorDefinedSetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeVendorDefined:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldVendorDefinedUsagePage: \
            ((IOHIDVendorDefinedEventData*)event)->usagePage = (typeof(((IOHIDVendorDefinedEventData*)event)->usagePage)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldVendorDefinedUsage: \
            ((IOHIDVendorDefinedEventData*)event)->usage = (typeof(((IOHIDVendorDefinedEventData*)event)->usage)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldVendorDefinedVersion: \
            ((IOHIDVendorDefinedEventData*)event)->version = (typeof(((IOHIDVendorDefinedEventData*)event)->version)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldVendorDefinedData: \
            *(typeof(value)*)(((IOHIDVendorDefinedEventData*)event)->data) = value; \
            break; \
        _IOHIDVendorDefinedSetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDVendorDefinedGetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeVendorDefined:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldVendorDefinedUsagePage: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDVendorDefinedEventData*)event)->usagePage); \
            break; \
        case kIOHIDEventFieldVendorDefinedUsage: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDVendorDefinedEventData*)event)->usage); \
            break; \
        case kIOHIDEventFieldVendorDefinedVersion: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDVendorDefinedEventData*)event)->version); \
            break; \
        case kIOHIDEventFieldVendorDefinedDataLength: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDVendorDefinedEventData*)event)->length); \
            break; \
        case kIOHIDEventFieldVendorDefinedData: \
            value = *(typeof(value)*)((IOHIDVendorDefinedEventData*)event)->data; \
            break; \
        _IOHIDVendorDefinedGetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDVendorDefinedSetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeVendorDefined:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldVendorDefinedUsagePage: \
            ((IOHIDVendorDefinedEventData*)event)->usagePage = (typeof(((IOHIDVendorDefinedEventData*)event)->usagePage)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldVendorDefinedUsage: \
            ((IOHIDVendorDefinedEventData*)event)->usage = (typeof(((IOHIDVendorDefinedEventData*)event)->usage)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldVendorDefinedVersion: \
            ((IOHIDVendorDefinedEventData*)event)->version = (typeof(((IOHIDVendorDefinedEventData*)event)->version)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        _IOHIDVendorDefinedSetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDVendorDefinedGetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeVendorDefined:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldVendorDefinedUsagePage: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDVendorDefinedEventData*)event)->usagePage); \
            break; \
        case kIOHIDEventFieldVendorDefinedUsage: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDVendorDefinedEventData*)event)->usage); \
            break; \
        case kIOHIDEventFieldVendorDefinedVersion: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDVendorDefinedEventData*)event)->version); \
            break; \
        case kIOHIDEventFieldVendorDefinedDataLength: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDVendorDefinedEventData*)event)->length); \
            break; \
        _IOHIDVendorDefinedGetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDVendorDefinedSetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeVendorDefined:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldVendorDefinedUsagePage: \
            ((IOHIDVendorDefinedEventData*)event)->usagePage = (typeof(((IOHIDVendorDefinedEventData*)event)->usagePage)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldVendorDefinedUsage: \
            ((IOHIDVendorDefinedEventData*)event)->usage = (typeof(((IOHIDVendorDefinedEventData*)event)->usage)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldVendorDefinedVersion: \
            ((IOHIDVendorDefinedEventData*)event)->version = (typeof(((IOHIDVendorDefinedEventData*)event)->version)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        _IOHIDVendorDefinedSetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDVendorDefinedGetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeVendorDefined:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldVendorDefinedUsagePage: \
            value = (typeof(value))CAST_SHORTINTEGER_TO_FIXED(((IOHIDVendorDefinedEventData*)event)->usagePage); \
            break; \
        case kIOHIDEventFieldVendorDefinedUsage: \
            value = (typeof(value))CAST_SHORTINTEGER_TO_FIXED(((IOHIDVendorDefinedEventData*)event)->usage); \
            break; \
        case kIOHIDEventFieldVendorDefinedVersion: \
            value = (typeof(value))CAST_INTEGER_TO_FIXED(((IOHIDVendorDefinedEventData*)event)->version); \
            break; \
        case kIOHIDEventFieldVendorDefinedDataLength: \
            value = (typeof(value))CAST_INTEGER_TO_FIXED(((IOHIDVendorDefinedEventData*)event)->length); \
            break; \
        _IOHIDVendorDefinedGetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDVendorDefinedSetFieldsAsDataMacro(event, field) \

#define _IOHIDVendorDefinedGetFieldsAsDataMacro(event, field) \
case kIOHIDEventTypeVendorDefined:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldVendorDefinedData: \
            value = (typeof(value))(((IOHIDVendorDefinedEventData*)event)->data); \
            break;\
        _IOHIDVendorDefinedGetSynthesizedFieldsAsDataMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDScaleSetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeScale:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldScaleX: \
            ((IOHIDScaleEventData*)event)->position.x = (typeof(((IOHIDScaleEventData*)event)->position.x)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldScaleY: \
            ((IOHIDScaleEventData*)event)->position.y = (typeof(((IOHIDScaleEventData*)event)->position.y)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldScaleZ: \
            ((IOHIDScaleEventData*)event)->position.z = (typeof(((IOHIDScaleEventData*)event)->position.z)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        _IOHIDScaleSetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDScaleGetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeScale:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldScaleX: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDScaleEventData*)event)->position.x); \
            break; \
        case kIOHIDEventFieldScaleY: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDScaleEventData*)event)->position.y); \
            break; \
        case kIOHIDEventFieldScaleZ: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDScaleEventData*)event)->position.z); \
            break; \
        _IOHIDScaleGetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDScaleSetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeScale:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldScaleX: \
            ((IOHIDScaleEventData*)event)->position.x = (typeof(((IOHIDScaleEventData*)event)->position.x)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldScaleY: \
            ((IOHIDScaleEventData*)event)->position.y = (typeof(((IOHIDScaleEventData*)event)->position.y)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldScaleZ: \
            ((IOHIDScaleEventData*)event)->position.z = (typeof(((IOHIDScaleEventData*)event)->position.z)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        _IOHIDScaleSetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDScaleGetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeScale:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldScaleX: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDScaleEventData*)event)->position.x); \
            break; \
        case kIOHIDEventFieldScaleY: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDScaleEventData*)event)->position.y); \
            break; \
        case kIOHIDEventFieldScaleZ: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDScaleEventData*)event)->position.z); \
            break; \
        _IOHIDScaleGetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDScaleSetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeScale:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldScaleX: \
            ((IOHIDScaleEventData*)event)->position.x = (typeof(((IOHIDScaleEventData*)event)->position.x)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldScaleY: \
            ((IOHIDScaleEventData*)event)->position.y = (typeof(((IOHIDScaleEventData*)event)->position.y)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldScaleZ: \
            ((IOHIDScaleEventData*)event)->position.z = (typeof(((IOHIDScaleEventData*)event)->position.z)) CAST_FIXED_TO_FIXED(value); \
            break; \
        _IOHIDScaleSetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDScaleGetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeScale:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldScaleX: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDScaleEventData*)event)->position.x); \
            break; \
        case kIOHIDEventFieldScaleY: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDScaleEventData*)event)->position.y); \
            break; \
        case kIOHIDEventFieldScaleZ: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDScaleEventData*)event)->position.z); \
            break; \
        _IOHIDScaleGetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDScaleSetFieldsAsDataMacro(event, field) \

#define _IOHIDScaleGetFieldsAsDataMacro(event, field) \

#define _IOHIDSymbolicHotKeySetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeSymbolicHotKey:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldSymbolicHotKeyIsCGSEvent: \
            ((IOHIDSymbolicHotKeyEventData*)event)->options.isCGSEvent = value ? 1 : 0; \
            break; \
        case kIOHIDEventFieldSymbolicHotKeyValue: \
            ((IOHIDSymbolicHotKeyEventData*)event)->hotKey = (typeof(((IOHIDSymbolicHotKeyEventData*)event)->hotKey)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        _IOHIDSymbolicHotKeySetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDSymbolicHotKeyGetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeSymbolicHotKey:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldSymbolicHotKeyIsCGSEvent: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDSymbolicHotKeyEventData*)event)->options.isCGSEvent); \
            break; \
        case kIOHIDEventFieldSymbolicHotKeyValue: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDSymbolicHotKeyEventData*)event)->hotKey); \
            break; \
        _IOHIDSymbolicHotKeyGetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDSymbolicHotKeySetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeSymbolicHotKey:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldSymbolicHotKeyIsCGSEvent: \
            ((IOHIDSymbolicHotKeyEventData*)event)->options.isCGSEvent = value ? 1 : 0; \
            break; \
        case kIOHIDEventFieldSymbolicHotKeyValue: \
            ((IOHIDSymbolicHotKeyEventData*)event)->hotKey = (typeof(((IOHIDSymbolicHotKeyEventData*)event)->hotKey)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        _IOHIDSymbolicHotKeySetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDSymbolicHotKeyGetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeSymbolicHotKey:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldSymbolicHotKeyIsCGSEvent: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDSymbolicHotKeyEventData*)event)->options.isCGSEvent); \
            break; \
        case kIOHIDEventFieldSymbolicHotKeyValue: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDSymbolicHotKeyEventData*)event)->hotKey); \
            break; \
        _IOHIDSymbolicHotKeyGetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDSymbolicHotKeySetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeSymbolicHotKey:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldSymbolicHotKeyIsCGSEvent: \
            ((IOHIDSymbolicHotKeyEventData*)event)->options.isCGSEvent = value ? 1 : 0; \
            break; \
        case kIOHIDEventFieldSymbolicHotKeyValue: \
            ((IOHIDSymbolicHotKeyEventData*)event)->hotKey = (typeof(((IOHIDSymbolicHotKeyEventData*)event)->hotKey)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        _IOHIDSymbolicHotKeySetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDSymbolicHotKeyGetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeSymbolicHotKey:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldSymbolicHotKeyIsCGSEvent: \
            value = (typeof(value))CAST_SHORTINTEGER_TO_FIXED(((IOHIDSymbolicHotKeyEventData*)event)->options.isCGSEvent); \
            break; \
        case kIOHIDEventFieldSymbolicHotKeyValue: \
            value = (typeof(value))CAST_INTEGER_TO_FIXED(((IOHIDSymbolicHotKeyEventData*)event)->hotKey); \
            break; \
        _IOHIDSymbolicHotKeyGetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDSymbolicHotKeySetFieldsAsDataMacro(event, field) \

#define _IOHIDSymbolicHotKeyGetFieldsAsDataMacro(event, field) \

#define _IOHIDTemperatureSetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeTemperature:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldTemperatureLevel: \
            ((IOHIDTemperatureEventData*)event)->level = (typeof(((IOHIDTemperatureEventData*)event)->level)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        _IOHIDTemperatureSetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDTemperatureGetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeTemperature:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldTemperatureLevel: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDTemperatureEventData*)event)->level); \
            break; \
        _IOHIDTemperatureGetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDTemperatureSetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeTemperature:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldTemperatureLevel: \
            ((IOHIDTemperatureEventData*)event)->level = (typeof(((IOHIDTemperatureEventData*)event)->level)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        _IOHIDTemperatureSetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDTemperatureGetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeTemperature:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldTemperatureLevel: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDTemperatureEventData*)event)->level); \
            break; \
        _IOHIDTemperatureGetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDTemperatureSetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeTemperature:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldTemperatureLevel: \
            ((IOHIDTemperatureEventData*)event)->level = (typeof(((IOHIDTemperatureEventData*)event)->level)) CAST_FIXED_TO_FIXED(value); \
            break; \
        _IOHIDTemperatureSetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDTemperatureGetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeTemperature:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldTemperatureLevel: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDTemperatureEventData*)event)->level); \
            break; \
        _IOHIDTemperatureGetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDTemperatureSetFieldsAsDataMacro(event, field) \

#define _IOHIDTemperatureGetFieldsAsDataMacro(event, field) \

#define _IOHIDAccelerometerSetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeAccelerometer:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldAccelerometerX: \
            ((IOHIDAccelerometerEventData*)event)->position.x = (typeof(((IOHIDAccelerometerEventData*)event)->position.x)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldAccelerometerY: \
            ((IOHIDAccelerometerEventData*)event)->position.y = (typeof(((IOHIDAccelerometerEventData*)event)->position.y)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldAccelerometerZ: \
            ((IOHIDAccelerometerEventData*)event)->position.z = (typeof(((IOHIDAccelerometerEventData*)event)->position.z)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldAccelerometerType: \
            ((IOHIDAccelerometerEventData*)event)->motionType = (typeof(((IOHIDAccelerometerEventData*)event)->motionType)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldAccelerometerSubType: \
            ((IOHIDAccelerometerEventData*)event)->motionSubType = (typeof(((IOHIDAccelerometerEventData*)event)->motionSubType)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldAccelerometerSequence: \
            ((IOHIDAccelerometerEventData*)event)->motionSequence = (typeof(((IOHIDAccelerometerEventData*)event)->motionSequence)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        _IOHIDAccelerometerSetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDAccelerometerGetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeAccelerometer:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldAccelerometerX: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDAccelerometerEventData*)event)->position.x); \
            break; \
        case kIOHIDEventFieldAccelerometerY: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDAccelerometerEventData*)event)->position.y); \
            break; \
        case kIOHIDEventFieldAccelerometerZ: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDAccelerometerEventData*)event)->position.z); \
            break; \
        case kIOHIDEventFieldAccelerometerType: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDAccelerometerEventData*)event)->motionType); \
            break; \
        case kIOHIDEventFieldAccelerometerSubType: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDAccelerometerEventData*)event)->motionSubType); \
            break; \
        case kIOHIDEventFieldAccelerometerSequence: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDAccelerometerEventData*)event)->motionSequence); \
            break; \
        _IOHIDAccelerometerGetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDAccelerometerSetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeAccelerometer:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldAccelerometerX: \
            ((IOHIDAccelerometerEventData*)event)->position.x = (typeof(((IOHIDAccelerometerEventData*)event)->position.x)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldAccelerometerY: \
            ((IOHIDAccelerometerEventData*)event)->position.y = (typeof(((IOHIDAccelerometerEventData*)event)->position.y)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldAccelerometerZ: \
            ((IOHIDAccelerometerEventData*)event)->position.z = (typeof(((IOHIDAccelerometerEventData*)event)->position.z)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldAccelerometerType: \
            ((IOHIDAccelerometerEventData*)event)->motionType = (typeof(((IOHIDAccelerometerEventData*)event)->motionType)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldAccelerometerSubType: \
            ((IOHIDAccelerometerEventData*)event)->motionSubType = (typeof(((IOHIDAccelerometerEventData*)event)->motionSubType)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldAccelerometerSequence: \
            ((IOHIDAccelerometerEventData*)event)->motionSequence = (typeof(((IOHIDAccelerometerEventData*)event)->motionSequence)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        _IOHIDAccelerometerSetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDAccelerometerGetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeAccelerometer:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldAccelerometerX: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDAccelerometerEventData*)event)->position.x); \
            break; \
        case kIOHIDEventFieldAccelerometerY: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDAccelerometerEventData*)event)->position.y); \
            break; \
        case kIOHIDEventFieldAccelerometerZ: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDAccelerometerEventData*)event)->position.z); \
            break; \
        case kIOHIDEventFieldAccelerometerType: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDAccelerometerEventData*)event)->motionType); \
            break; \
        case kIOHIDEventFieldAccelerometerSubType: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDAccelerometerEventData*)event)->motionSubType); \
            break; \
        case kIOHIDEventFieldAccelerometerSequence: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDAccelerometerEventData*)event)->motionSequence); \
            break; \
        _IOHIDAccelerometerGetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDAccelerometerSetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeAccelerometer:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldAccelerometerX: \
            ((IOHIDAccelerometerEventData*)event)->position.x = (typeof(((IOHIDAccelerometerEventData*)event)->position.x)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldAccelerometerY: \
            ((IOHIDAccelerometerEventData*)event)->position.y = (typeof(((IOHIDAccelerometerEventData*)event)->position.y)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldAccelerometerZ: \
            ((IOHIDAccelerometerEventData*)event)->position.z = (typeof(((IOHIDAccelerometerEventData*)event)->position.z)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldAccelerometerType: \
            ((IOHIDAccelerometerEventData*)event)->motionType = (typeof(((IOHIDAccelerometerEventData*)event)->motionType)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldAccelerometerSubType: \
            ((IOHIDAccelerometerEventData*)event)->motionSubType = (typeof(((IOHIDAccelerometerEventData*)event)->motionSubType)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldAccelerometerSequence: \
            ((IOHIDAccelerometerEventData*)event)->motionSequence = (typeof(((IOHIDAccelerometerEventData*)event)->motionSequence)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        _IOHIDAccelerometerSetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDAccelerometerGetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeAccelerometer:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldAccelerometerX: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDAccelerometerEventData*)event)->position.x); \
            break; \
        case kIOHIDEventFieldAccelerometerY: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDAccelerometerEventData*)event)->position.y); \
            break; \
        case kIOHIDEventFieldAccelerometerZ: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDAccelerometerEventData*)event)->position.z); \
            break; \
        case kIOHIDEventFieldAccelerometerType: \
            value = (typeof(value))CAST_INTEGER_TO_FIXED(((IOHIDAccelerometerEventData*)event)->motionType); \
            break; \
        case kIOHIDEventFieldAccelerometerSubType: \
            value = (typeof(value))CAST_INTEGER_TO_FIXED(((IOHIDAccelerometerEventData*)event)->motionSubType); \
            break; \
        case kIOHIDEventFieldAccelerometerSequence: \
            value = (typeof(value))CAST_INTEGER_TO_FIXED(((IOHIDAccelerometerEventData*)event)->motionSequence); \
            break; \
        _IOHIDAccelerometerGetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDAccelerometerSetFieldsAsDataMacro(event, field) \

#define _IOHIDAccelerometerGetFieldsAsDataMacro(event, field) \

#define _IOHIDZoomToggleSetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeZoomToggle:\
{\
    switch (field)\
    {\
        _IOHIDZoomToggleSetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDZoomToggleGetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeZoomToggle:\
{\
    switch (field)\
    {\
        _IOHIDZoomToggleGetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDZoomToggleSetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeZoomToggle:\
{\
    switch (field)\
    {\
        _IOHIDZoomToggleSetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDZoomToggleGetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeZoomToggle:\
{\
    switch (field)\
    {\
        _IOHIDZoomToggleGetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDZoomToggleSetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeZoomToggle:\
{\
    switch (field)\
    {\
        _IOHIDZoomToggleSetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDZoomToggleGetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeZoomToggle:\
{\
    switch (field)\
    {\
        _IOHIDZoomToggleGetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDZoomToggleSetFieldsAsDataMacro(event, field) \

#define _IOHIDZoomToggleGetFieldsAsDataMacro(event, field) \

#define _IOHIDProgressSetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeProgress:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldProgressEventType: \
            ((IOHIDProgressEventData*)event)->eventType = (typeof(((IOHIDProgressEventData*)event)->eventType)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldProgressLevel: \
            ((IOHIDProgressEventData*)event)->level = (typeof(((IOHIDProgressEventData*)event)->level)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        _IOHIDProgressSetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDProgressGetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeProgress:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldProgressEventType: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDProgressEventData*)event)->eventType); \
            break; \
        case kIOHIDEventFieldProgressLevel: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDProgressEventData*)event)->level); \
            break; \
        _IOHIDProgressGetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDProgressSetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeProgress:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldProgressEventType: \
            ((IOHIDProgressEventData*)event)->eventType = (typeof(((IOHIDProgressEventData*)event)->eventType)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldProgressLevel: \
            ((IOHIDProgressEventData*)event)->level = (typeof(((IOHIDProgressEventData*)event)->level)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        _IOHIDProgressSetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDProgressGetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeProgress:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldProgressEventType: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDProgressEventData*)event)->eventType); \
            break; \
        case kIOHIDEventFieldProgressLevel: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDProgressEventData*)event)->level); \
            break; \
        _IOHIDProgressGetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDProgressSetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeProgress:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldProgressEventType: \
            ((IOHIDProgressEventData*)event)->eventType = (typeof(((IOHIDProgressEventData*)event)->eventType)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldProgressLevel: \
            ((IOHIDProgressEventData*)event)->level = (typeof(((IOHIDProgressEventData*)event)->level)) CAST_FIXED_TO_FIXED(value); \
            break; \
        _IOHIDProgressSetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDProgressGetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeProgress:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldProgressEventType: \
            value = (typeof(value))CAST_INTEGER_TO_FIXED(((IOHIDProgressEventData*)event)->eventType); \
            break; \
        case kIOHIDEventFieldProgressLevel: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDProgressEventData*)event)->level); \
            break; \
        _IOHIDProgressGetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDProgressSetFieldsAsDataMacro(event, field) \

#define _IOHIDProgressGetFieldsAsDataMacro(event, field) \

#define _IOHIDGenericGestureSetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeGenericGesture:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldGenericGestureTypeTapCount: \
        case kIOHIDEventFieldGenericGestureTypeSwipeProgress: \
            if (((__IOHIDGenericGestureEventData*)event)->gestureType == kIOHIDGenericGestureTypeTap) {\
                switch (field) \
                {\
                    case kIOHIDEventFieldGenericGestureTypeTapCount: \
                        ((__IOHIDGenericGestureEventData*)event)->type.tap.count = (typeof(((__IOHIDGenericGestureEventData*)event)->type.tap.count)) CAST_INTEGER_TO_INTEGER(value); \
                        break; \
                }\
                break;\
            }\
            if (((__IOHIDGenericGestureEventData*)event)->gestureType == kIOHIDGenericGestureTypeSwipe) {\
                switch (field) \
                {\
                    case kIOHIDEventFieldGenericGestureTypeSwipeProgress: \
                        ((__IOHIDGenericGestureEventData*)event)->type.swipe.progress = (typeof(((__IOHIDGenericGestureEventData*)event)->type.swipe.progress)) CAST_INTEGER_TO_FIXED(value); \
                        break; \
                }\
                break;\
            }\
            break;\
        _IOHIDGenericGestureSetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDGenericGestureGetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeGenericGesture:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldGenericGestureType: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((__IOHIDGenericGestureEventData*)event)->gestureType); \
            break; \
        case kIOHIDEventFieldGenericGestureTypeTapCount: \
        case kIOHIDEventFieldGenericGestureTypeSwipeProgress: \
            if (((__IOHIDGenericGestureEventData*)event)->gestureType == kIOHIDGenericGestureTypeTap) {\
                switch (field) \
                {\
                    case kIOHIDEventFieldGenericGestureTypeTapCount: \
                        value = (typeof(value))CAST_INTEGER_TO_INTEGER(((__IOHIDGenericGestureEventData*)event)->type.tap.count); \
                        break; \
                }\
                break;\
            }\
            if (((__IOHIDGenericGestureEventData*)event)->gestureType == kIOHIDGenericGestureTypeSwipe) {\
                switch (field) \
                {\
                    case kIOHIDEventFieldGenericGestureTypeSwipeProgress: \
                        value = (typeof(value))CAST_FIXED_TO_INTEGER(((__IOHIDGenericGestureEventData*)event)->type.swipe.progress); \
                        break; \
                }\
                break;\
            }\
            break;\
        _IOHIDGenericGestureGetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDGenericGestureSetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeGenericGesture:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldGenericGestureTypeTapCount: \
        case kIOHIDEventFieldGenericGestureTypeSwipeProgress: \
            if (((__IOHIDGenericGestureEventData*)event)->gestureType == kIOHIDGenericGestureTypeTap) {\
                switch (field) \
                {\
                    case kIOHIDEventFieldGenericGestureTypeTapCount: \
                        ((__IOHIDGenericGestureEventData*)event)->type.tap.count = (typeof(((__IOHIDGenericGestureEventData*)event)->type.tap.count)) CAST_DOUBLE_TO_INTEGER(value); \
                        break; \
                }\
                break;\
            }\
            if (((__IOHIDGenericGestureEventData*)event)->gestureType == kIOHIDGenericGestureTypeSwipe) {\
                switch (field) \
                {\
                    case kIOHIDEventFieldGenericGestureTypeSwipeProgress: \
                        ((__IOHIDGenericGestureEventData*)event)->type.swipe.progress = (typeof(((__IOHIDGenericGestureEventData*)event)->type.swipe.progress)) CAST_DOUBLE_TO_FIXED(value); \
                        break; \
                }\
                break;\
            }\
            break;\
        _IOHIDGenericGestureSetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDGenericGestureGetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeGenericGesture:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldGenericGestureType: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((__IOHIDGenericGestureEventData*)event)->gestureType); \
            break; \
        case kIOHIDEventFieldGenericGestureTypeTapCount: \
        case kIOHIDEventFieldGenericGestureTypeSwipeProgress: \
            if (((__IOHIDGenericGestureEventData*)event)->gestureType == kIOHIDGenericGestureTypeTap) {\
                switch (field) \
                {\
                    case kIOHIDEventFieldGenericGestureTypeTapCount: \
                        value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((__IOHIDGenericGestureEventData*)event)->type.tap.count); \
                        break; \
                }\
                break;\
            }\
            if (((__IOHIDGenericGestureEventData*)event)->gestureType == kIOHIDGenericGestureTypeSwipe) {\
                switch (field) \
                {\
                    case kIOHIDEventFieldGenericGestureTypeSwipeProgress: \
                        value = (typeof(value))CAST_FIXED_TO_DOUBLE(((__IOHIDGenericGestureEventData*)event)->type.swipe.progress); \
                        break; \
                }\
                break;\
            }\
            break;\
        _IOHIDGenericGestureGetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDGenericGestureSetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeGenericGesture:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldGenericGestureTypeTapCount: \
        case kIOHIDEventFieldGenericGestureTypeSwipeProgress: \
            if (((__IOHIDGenericGestureEventData*)event)->gestureType == kIOHIDGenericGestureTypeTap) {\
                switch (field) \
                {\
                    case kIOHIDEventFieldGenericGestureTypeTapCount: \
                        ((__IOHIDGenericGestureEventData*)event)->type.tap.count = (typeof(((__IOHIDGenericGestureEventData*)event)->type.tap.count)) CAST_FIXED_TO_INTEGER(value); \
                        break; \
                }\
                break;\
            }\
            if (((__IOHIDGenericGestureEventData*)event)->gestureType == kIOHIDGenericGestureTypeSwipe) {\
                switch (field) \
                {\
                    case kIOHIDEventFieldGenericGestureTypeSwipeProgress: \
                        ((__IOHIDGenericGestureEventData*)event)->type.swipe.progress = (typeof(((__IOHIDGenericGestureEventData*)event)->type.swipe.progress)) CAST_FIXED_TO_FIXED(value); \
                        break; \
                }\
                break;\
            }\
            break;\
        _IOHIDGenericGestureSetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDGenericGestureGetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeGenericGesture:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldGenericGestureType: \
            value = (typeof(value))CAST_INTEGER_TO_FIXED(((__IOHIDGenericGestureEventData*)event)->gestureType); \
            break; \
        case kIOHIDEventFieldGenericGestureTypeTapCount: \
        case kIOHIDEventFieldGenericGestureTypeSwipeProgress: \
            if (((__IOHIDGenericGestureEventData*)event)->gestureType == kIOHIDGenericGestureTypeTap) {\
                switch (field) \
                {\
                    case kIOHIDEventFieldGenericGestureTypeTapCount: \
                        value = (typeof(value))CAST_INTEGER_TO_FIXED(((__IOHIDGenericGestureEventData*)event)->type.tap.count); \
                        break; \
                }\
                break;\
            }\
            if (((__IOHIDGenericGestureEventData*)event)->gestureType == kIOHIDGenericGestureTypeSwipe) {\
                switch (field) \
                {\
                    case kIOHIDEventFieldGenericGestureTypeSwipeProgress: \
                        value = (typeof(value))CAST_FIXED_TO_FIXED(((__IOHIDGenericGestureEventData*)event)->type.swipe.progress); \
                        break; \
                }\
                break;\
            }\
            break;\
        _IOHIDGenericGestureGetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDGenericGestureSetFieldsAsDataMacro(event, field) \

#define _IOHIDGenericGestureGetFieldsAsDataMacro(event, field) \

#define _IOHIDNULLSetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeNULL:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldIsRelative: \
            ((IOHIDNULLEventData*)event)->options.relative = value ? 1 : 0; \
            break; \
        case kIOHIDEventFieldIsCollection: \
            ((IOHIDNULLEventData*)event)->options.collection = value ? 1 : 0; \
            break; \
        case kIOHIDEventFieldIsPixelUnits: \
            ((IOHIDNULLEventData*)event)->options.pixelUnits = value ? 1 : 0; \
            break; \
        case kIOHIDEventFieldIsCenterOrigin: \
            ((IOHIDNULLEventData*)event)->options.centerOrigin = value ? 1 : 0; \
            break; \
        case kIOHIDEventFieldIsBuiltIn: \
            ((IOHIDNULLEventData*)event)->options.builtIn = value ? 1 : 0; \
            break; \
        _IOHIDNULLSetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDNULLGetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeNULL:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldIsRelative: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDNULLEventData*)event)->options.relative); \
            break; \
        case kIOHIDEventFieldIsCollection: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDNULLEventData*)event)->options.collection); \
            break; \
        case kIOHIDEventFieldIsPixelUnits: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDNULLEventData*)event)->options.pixelUnits); \
            break; \
        case kIOHIDEventFieldIsCenterOrigin: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDNULLEventData*)event)->options.centerOrigin); \
            break; \
        case kIOHIDEventFieldIsBuiltIn: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDNULLEventData*)event)->options.builtIn); \
            break; \
        _IOHIDNULLGetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDNULLSetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeNULL:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldIsRelative: \
            ((IOHIDNULLEventData*)event)->options.relative = value ? 1 : 0; \
            break; \
        case kIOHIDEventFieldIsCollection: \
            ((IOHIDNULLEventData*)event)->options.collection = value ? 1 : 0; \
            break; \
        case kIOHIDEventFieldIsPixelUnits: \
            ((IOHIDNULLEventData*)event)->options.pixelUnits = value ? 1 : 0; \
            break; \
        case kIOHIDEventFieldIsCenterOrigin: \
            ((IOHIDNULLEventData*)event)->options.centerOrigin = value ? 1 : 0; \
            break; \
        case kIOHIDEventFieldIsBuiltIn: \
            ((IOHIDNULLEventData*)event)->options.builtIn = value ? 1 : 0; \
            break; \
        _IOHIDNULLSetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDNULLGetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeNULL:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldIsRelative: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDNULLEventData*)event)->options.relative); \
            break; \
        case kIOHIDEventFieldIsCollection: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDNULLEventData*)event)->options.collection); \
            break; \
        case kIOHIDEventFieldIsPixelUnits: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDNULLEventData*)event)->options.pixelUnits); \
            break; \
        case kIOHIDEventFieldIsCenterOrigin: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDNULLEventData*)event)->options.centerOrigin); \
            break; \
        case kIOHIDEventFieldIsBuiltIn: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDNULLEventData*)event)->options.builtIn); \
            break; \
        _IOHIDNULLGetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDNULLSetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeNULL:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldIsRelative: \
            ((IOHIDNULLEventData*)event)->options.relative = value ? 1 : 0; \
            break; \
        case kIOHIDEventFieldIsCollection: \
            ((IOHIDNULLEventData*)event)->options.collection = value ? 1 : 0; \
            break; \
        case kIOHIDEventFieldIsPixelUnits: \
            ((IOHIDNULLEventData*)event)->options.pixelUnits = value ? 1 : 0; \
            break; \
        case kIOHIDEventFieldIsCenterOrigin: \
            ((IOHIDNULLEventData*)event)->options.centerOrigin = value ? 1 : 0; \
            break; \
        case kIOHIDEventFieldIsBuiltIn: \
            ((IOHIDNULLEventData*)event)->options.builtIn = value ? 1 : 0; \
            break; \
        _IOHIDNULLSetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDNULLGetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeNULL:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldIsRelative: \
            value = (typeof(value))CAST_SHORTINTEGER_TO_FIXED(((IOHIDNULLEventData*)event)->options.relative); \
            break; \
        case kIOHIDEventFieldIsCollection: \
            value = (typeof(value))CAST_SHORTINTEGER_TO_FIXED(((IOHIDNULLEventData*)event)->options.collection); \
            break; \
        case kIOHIDEventFieldIsPixelUnits: \
            value = (typeof(value))CAST_SHORTINTEGER_TO_FIXED(((IOHIDNULLEventData*)event)->options.pixelUnits); \
            break; \
        case kIOHIDEventFieldIsCenterOrigin: \
            value = (typeof(value))CAST_SHORTINTEGER_TO_FIXED(((IOHIDNULLEventData*)event)->options.centerOrigin); \
            break; \
        case kIOHIDEventFieldIsBuiltIn: \
            value = (typeof(value))CAST_SHORTINTEGER_TO_FIXED(((IOHIDNULLEventData*)event)->options.builtIn); \
            break; \
        _IOHIDNULLGetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDNULLSetFieldsAsDataMacro(event, field) \

#define _IOHIDNULLGetFieldsAsDataMacro(event, field) \

#define _IOHIDAmbientLightSensorSetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeAmbientLightSensor:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldAmbientLightSensorLevel: \
            ((IOHIDAmbientLightSensorEventData*)event)->level = (typeof(((IOHIDAmbientLightSensorEventData*)event)->level)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldAmbientLightSensorRawChannel0: \
            ((IOHIDAmbientLightSensorEventData*)event)->ch0 = (typeof(((IOHIDAmbientLightSensorEventData*)event)->ch0)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldAmbientLightSensorRawChannel1: \
            ((IOHIDAmbientLightSensorEventData*)event)->ch1 = (typeof(((IOHIDAmbientLightSensorEventData*)event)->ch1)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldAmbientLightSensorRawChannel2: \
            ((IOHIDAmbientLightSensorEventData*)event)->ch2 = (typeof(((IOHIDAmbientLightSensorEventData*)event)->ch2)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldAmbientLightSensorRawChannel3: \
            ((IOHIDAmbientLightSensorEventData*)event)->ch3 = (typeof(((IOHIDAmbientLightSensorEventData*)event)->ch3)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldAmbientLightDisplayBrightnessChanged: \
            ((IOHIDAmbientLightSensorEventData*)event)->brightnessChanged = (typeof(((IOHIDAmbientLightSensorEventData*)event)->brightnessChanged)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldAmbientLightColorSpace: \
            ((IOHIDAmbientLightSensorEventData*)event)->colorSpace = (typeof(((IOHIDAmbientLightSensorEventData*)event)->colorSpace)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldAmbientLightColorComponent0: \
            ((IOHIDAmbientLightSensorEventData*)event)->colorComponent0 = (typeof(((IOHIDAmbientLightSensorEventData*)event)->colorComponent0)) CAST_INTEGER_TO_DOUBLE(value); \
            break; \
        case kIOHIDEventFieldAmbientLightColorComponent1: \
            ((IOHIDAmbientLightSensorEventData*)event)->colorComponent1 = (typeof(((IOHIDAmbientLightSensorEventData*)event)->colorComponent1)) CAST_INTEGER_TO_DOUBLE(value); \
            break; \
        case kIOHIDEventFieldAmbientLightColorComponent2: \
            ((IOHIDAmbientLightSensorEventData*)event)->colorComponent2 = (typeof(((IOHIDAmbientLightSensorEventData*)event)->colorComponent2)) CAST_INTEGER_TO_DOUBLE(value); \
            break; \
        case kIOHIDEventFieldAmbientLightSensorColorTemperature: \
            ((__IOHIDAmbientLightSensorEventData*)event)->colorTemperature = (typeof(((__IOHIDAmbientLightSensorEventData*)event)->colorTemperature)) CAST_INTEGER_TO_DOUBLE(value); \
            break; \
        case kIOHIDEventFieldAmbientLightSensorIlluminance: \
            ((__IOHIDAmbientLightSensorEventData*)event)->illuminance = (typeof(((__IOHIDAmbientLightSensorEventData*)event)->illuminance)) CAST_INTEGER_TO_DOUBLE(value); \
            break; \
        _IOHIDAmbientLightSensorSetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDAmbientLightSensorGetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeAmbientLightSensor:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldAmbientLightSensorLevel: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDAmbientLightSensorEventData*)event)->level); \
            break; \
        case kIOHIDEventFieldAmbientLightSensorRawChannel0: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDAmbientLightSensorEventData*)event)->ch0); \
            break; \
        case kIOHIDEventFieldAmbientLightSensorRawChannel1: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDAmbientLightSensorEventData*)event)->ch1); \
            break; \
        case kIOHIDEventFieldAmbientLightSensorRawChannel2: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDAmbientLightSensorEventData*)event)->ch2); \
            break; \
        case kIOHIDEventFieldAmbientLightSensorRawChannel3: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDAmbientLightSensorEventData*)event)->ch3); \
            break; \
        case kIOHIDEventFieldAmbientLightDisplayBrightnessChanged: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDAmbientLightSensorEventData*)event)->brightnessChanged); \
            break; \
        case kIOHIDEventFieldAmbientLightColorSpace: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDAmbientLightSensorEventData*)event)->colorSpace); \
            break; \
        case kIOHIDEventFieldAmbientLightColorComponent0: \
            value = (typeof(value))CAST_DOUBLE_TO_INTEGER(((IOHIDAmbientLightSensorEventData*)event)->colorComponent0); \
            break; \
        case kIOHIDEventFieldAmbientLightColorComponent1: \
            value = (typeof(value))CAST_DOUBLE_TO_INTEGER(((IOHIDAmbientLightSensorEventData*)event)->colorComponent1); \
            break; \
        case kIOHIDEventFieldAmbientLightColorComponent2: \
            value = (typeof(value))CAST_DOUBLE_TO_INTEGER(((IOHIDAmbientLightSensorEventData*)event)->colorComponent2); \
            break; \
        case kIOHIDEventFieldAmbientLightSensorColorTemperature: \
            value = (typeof(value))CAST_DOUBLE_TO_INTEGER(((__IOHIDAmbientLightSensorEventData*)event)->colorTemperature); \
            break; \
        case kIOHIDEventFieldAmbientLightSensorIlluminance: \
            value = (typeof(value))CAST_DOUBLE_TO_INTEGER(((__IOHIDAmbientLightSensorEventData*)event)->illuminance); \
            break; \
        _IOHIDAmbientLightSensorGetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDAmbientLightSensorSetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeAmbientLightSensor:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldAmbientLightSensorLevel: \
            ((IOHIDAmbientLightSensorEventData*)event)->level = (typeof(((IOHIDAmbientLightSensorEventData*)event)->level)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldAmbientLightSensorRawChannel0: \
            ((IOHIDAmbientLightSensorEventData*)event)->ch0 = (typeof(((IOHIDAmbientLightSensorEventData*)event)->ch0)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldAmbientLightSensorRawChannel1: \
            ((IOHIDAmbientLightSensorEventData*)event)->ch1 = (typeof(((IOHIDAmbientLightSensorEventData*)event)->ch1)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldAmbientLightSensorRawChannel2: \
            ((IOHIDAmbientLightSensorEventData*)event)->ch2 = (typeof(((IOHIDAmbientLightSensorEventData*)event)->ch2)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldAmbientLightSensorRawChannel3: \
            ((IOHIDAmbientLightSensorEventData*)event)->ch3 = (typeof(((IOHIDAmbientLightSensorEventData*)event)->ch3)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldAmbientLightDisplayBrightnessChanged: \
            ((IOHIDAmbientLightSensorEventData*)event)->brightnessChanged = (typeof(((IOHIDAmbientLightSensorEventData*)event)->brightnessChanged)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldAmbientLightColorSpace: \
            ((IOHIDAmbientLightSensorEventData*)event)->colorSpace = (typeof(((IOHIDAmbientLightSensorEventData*)event)->colorSpace)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldAmbientLightColorComponent0: \
            ((IOHIDAmbientLightSensorEventData*)event)->colorComponent0 = (typeof(((IOHIDAmbientLightSensorEventData*)event)->colorComponent0)) CAST_DOUBLE_TO_DOUBLE(value); \
            break; \
        case kIOHIDEventFieldAmbientLightColorComponent1: \
            ((IOHIDAmbientLightSensorEventData*)event)->colorComponent1 = (typeof(((IOHIDAmbientLightSensorEventData*)event)->colorComponent1)) CAST_DOUBLE_TO_DOUBLE(value); \
            break; \
        case kIOHIDEventFieldAmbientLightColorComponent2: \
            ((IOHIDAmbientLightSensorEventData*)event)->colorComponent2 = (typeof(((IOHIDAmbientLightSensorEventData*)event)->colorComponent2)) CAST_DOUBLE_TO_DOUBLE(value); \
            break; \
        case kIOHIDEventFieldAmbientLightSensorColorTemperature: \
            ((__IOHIDAmbientLightSensorEventData*)event)->colorTemperature = (typeof(((__IOHIDAmbientLightSensorEventData*)event)->colorTemperature)) CAST_DOUBLE_TO_DOUBLE(value); \
            break; \
        case kIOHIDEventFieldAmbientLightSensorIlluminance: \
            ((__IOHIDAmbientLightSensorEventData*)event)->illuminance = (typeof(((__IOHIDAmbientLightSensorEventData*)event)->illuminance)) CAST_DOUBLE_TO_DOUBLE(value); \
            break; \
        _IOHIDAmbientLightSensorSetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDAmbientLightSensorGetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeAmbientLightSensor:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldAmbientLightSensorLevel: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDAmbientLightSensorEventData*)event)->level); \
            break; \
        case kIOHIDEventFieldAmbientLightSensorRawChannel0: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDAmbientLightSensorEventData*)event)->ch0); \
            break; \
        case kIOHIDEventFieldAmbientLightSensorRawChannel1: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDAmbientLightSensorEventData*)event)->ch1); \
            break; \
        case kIOHIDEventFieldAmbientLightSensorRawChannel2: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDAmbientLightSensorEventData*)event)->ch2); \
            break; \
        case kIOHIDEventFieldAmbientLightSensorRawChannel3: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDAmbientLightSensorEventData*)event)->ch3); \
            break; \
        case kIOHIDEventFieldAmbientLightDisplayBrightnessChanged: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDAmbientLightSensorEventData*)event)->brightnessChanged); \
            break; \
        case kIOHIDEventFieldAmbientLightColorSpace: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDAmbientLightSensorEventData*)event)->colorSpace); \
            break; \
        case kIOHIDEventFieldAmbientLightColorComponent0: \
            value = (typeof(value))CAST_DOUBLE_TO_DOUBLE(((IOHIDAmbientLightSensorEventData*)event)->colorComponent0); \
            break; \
        case kIOHIDEventFieldAmbientLightColorComponent1: \
            value = (typeof(value))CAST_DOUBLE_TO_DOUBLE(((IOHIDAmbientLightSensorEventData*)event)->colorComponent1); \
            break; \
        case kIOHIDEventFieldAmbientLightColorComponent2: \
            value = (typeof(value))CAST_DOUBLE_TO_DOUBLE(((IOHIDAmbientLightSensorEventData*)event)->colorComponent2); \
            break; \
        case kIOHIDEventFieldAmbientLightSensorColorTemperature: \
            value = (typeof(value))CAST_DOUBLE_TO_DOUBLE(((__IOHIDAmbientLightSensorEventData*)event)->colorTemperature); \
            break; \
        case kIOHIDEventFieldAmbientLightSensorIlluminance: \
            value = (typeof(value))CAST_DOUBLE_TO_DOUBLE(((__IOHIDAmbientLightSensorEventData*)event)->illuminance); \
            break; \
        _IOHIDAmbientLightSensorGetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDAmbientLightSensorSetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeAmbientLightSensor:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldAmbientLightSensorLevel: \
            ((IOHIDAmbientLightSensorEventData*)event)->level = (typeof(((IOHIDAmbientLightSensorEventData*)event)->level)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldAmbientLightSensorRawChannel0: \
            ((IOHIDAmbientLightSensorEventData*)event)->ch0 = (typeof(((IOHIDAmbientLightSensorEventData*)event)->ch0)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldAmbientLightSensorRawChannel1: \
            ((IOHIDAmbientLightSensorEventData*)event)->ch1 = (typeof(((IOHIDAmbientLightSensorEventData*)event)->ch1)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldAmbientLightSensorRawChannel2: \
            ((IOHIDAmbientLightSensorEventData*)event)->ch2 = (typeof(((IOHIDAmbientLightSensorEventData*)event)->ch2)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldAmbientLightSensorRawChannel3: \
            ((IOHIDAmbientLightSensorEventData*)event)->ch3 = (typeof(((IOHIDAmbientLightSensorEventData*)event)->ch3)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldAmbientLightDisplayBrightnessChanged: \
            ((IOHIDAmbientLightSensorEventData*)event)->brightnessChanged = (typeof(((IOHIDAmbientLightSensorEventData*)event)->brightnessChanged)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldAmbientLightColorSpace: \
            ((IOHIDAmbientLightSensorEventData*)event)->colorSpace = (typeof(((IOHIDAmbientLightSensorEventData*)event)->colorSpace)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldAmbientLightColorComponent0: \
            ((IOHIDAmbientLightSensorEventData*)event)->colorComponent0 = (typeof(((IOHIDAmbientLightSensorEventData*)event)->colorComponent0)) CAST_FIXED_TO_DOUBLE(value); \
            break; \
        case kIOHIDEventFieldAmbientLightColorComponent1: \
            ((IOHIDAmbientLightSensorEventData*)event)->colorComponent1 = (typeof(((IOHIDAmbientLightSensorEventData*)event)->colorComponent1)) CAST_FIXED_TO_DOUBLE(value); \
            break; \
        case kIOHIDEventFieldAmbientLightColorComponent2: \
            ((IOHIDAmbientLightSensorEventData*)event)->colorComponent2 = (typeof(((IOHIDAmbientLightSensorEventData*)event)->colorComponent2)) CAST_FIXED_TO_DOUBLE(value); \
            break; \
        case kIOHIDEventFieldAmbientLightSensorColorTemperature: \
            ((__IOHIDAmbientLightSensorEventData*)event)->colorTemperature = (typeof(((__IOHIDAmbientLightSensorEventData*)event)->colorTemperature)) CAST_FIXED_TO_DOUBLE(value); \
            break; \
        case kIOHIDEventFieldAmbientLightSensorIlluminance: \
            ((__IOHIDAmbientLightSensorEventData*)event)->illuminance = (typeof(((__IOHIDAmbientLightSensorEventData*)event)->illuminance)) CAST_FIXED_TO_DOUBLE(value); \
            break; \
        _IOHIDAmbientLightSensorSetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDAmbientLightSensorGetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeAmbientLightSensor:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldAmbientLightSensorLevel: \
            value = (typeof(value))CAST_INTEGER_TO_FIXED(((IOHIDAmbientLightSensorEventData*)event)->level); \
            break; \
        case kIOHIDEventFieldAmbientLightSensorRawChannel0: \
            value = (typeof(value))CAST_INTEGER_TO_FIXED(((IOHIDAmbientLightSensorEventData*)event)->ch0); \
            break; \
        case kIOHIDEventFieldAmbientLightSensorRawChannel1: \
            value = (typeof(value))CAST_INTEGER_TO_FIXED(((IOHIDAmbientLightSensorEventData*)event)->ch1); \
            break; \
        case kIOHIDEventFieldAmbientLightSensorRawChannel2: \
            value = (typeof(value))CAST_INTEGER_TO_FIXED(((IOHIDAmbientLightSensorEventData*)event)->ch2); \
            break; \
        case kIOHIDEventFieldAmbientLightSensorRawChannel3: \
            value = (typeof(value))CAST_INTEGER_TO_FIXED(((IOHIDAmbientLightSensorEventData*)event)->ch3); \
            break; \
        case kIOHIDEventFieldAmbientLightDisplayBrightnessChanged: \
            value = (typeof(value))CAST_SHORTINTEGER_TO_FIXED(((IOHIDAmbientLightSensorEventData*)event)->brightnessChanged); \
            break; \
        case kIOHIDEventFieldAmbientLightColorSpace: \
            value = (typeof(value))CAST_SHORTINTEGER_TO_FIXED(((IOHIDAmbientLightSensorEventData*)event)->colorSpace); \
            break; \
        case kIOHIDEventFieldAmbientLightColorComponent0: \
            value = (typeof(value))CAST_DOUBLE_TO_FIXED(((IOHIDAmbientLightSensorEventData*)event)->colorComponent0); \
            break; \
        case kIOHIDEventFieldAmbientLightColorComponent1: \
            value = (typeof(value))CAST_DOUBLE_TO_FIXED(((IOHIDAmbientLightSensorEventData*)event)->colorComponent1); \
            break; \
        case kIOHIDEventFieldAmbientLightColorComponent2: \
            value = (typeof(value))CAST_DOUBLE_TO_FIXED(((IOHIDAmbientLightSensorEventData*)event)->colorComponent2); \
            break; \
        case kIOHIDEventFieldAmbientLightSensorColorTemperature: \
            value = (typeof(value))CAST_DOUBLE_TO_FIXED(((__IOHIDAmbientLightSensorEventData*)event)->colorTemperature); \
            break; \
        case kIOHIDEventFieldAmbientLightSensorIlluminance: \
            value = (typeof(value))CAST_DOUBLE_TO_FIXED(((__IOHIDAmbientLightSensorEventData*)event)->illuminance); \
            break; \
        _IOHIDAmbientLightSensorGetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDAmbientLightSensorSetFieldsAsDataMacro(event, field) \

#define _IOHIDAmbientLightSensorGetFieldsAsDataMacro(event, field) \

#define _IOHIDPowerSetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypePower:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldPowerMeasurement: \
            ((IOHIDPowerEventData*)event)->measurement = (typeof(((IOHIDPowerEventData*)event)->measurement)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldPowerType: \
            ((IOHIDPowerEventData*)event)->powerType = (typeof(((IOHIDPowerEventData*)event)->powerType)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldPowerSubType: \
            ((IOHIDPowerEventData*)event)->powerSubType = (typeof(((IOHIDPowerEventData*)event)->powerSubType)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        _IOHIDPowerSetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDPowerGetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypePower:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldPowerMeasurement: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDPowerEventData*)event)->measurement); \
            break; \
        case kIOHIDEventFieldPowerType: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDPowerEventData*)event)->powerType); \
            break; \
        case kIOHIDEventFieldPowerSubType: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDPowerEventData*)event)->powerSubType); \
            break; \
        _IOHIDPowerGetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDPowerSetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypePower:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldPowerMeasurement: \
            ((IOHIDPowerEventData*)event)->measurement = (typeof(((IOHIDPowerEventData*)event)->measurement)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldPowerType: \
            ((IOHIDPowerEventData*)event)->powerType = (typeof(((IOHIDPowerEventData*)event)->powerType)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldPowerSubType: \
            ((IOHIDPowerEventData*)event)->powerSubType = (typeof(((IOHIDPowerEventData*)event)->powerSubType)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        _IOHIDPowerSetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDPowerGetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypePower:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldPowerMeasurement: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDPowerEventData*)event)->measurement); \
            break; \
        case kIOHIDEventFieldPowerType: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDPowerEventData*)event)->powerType); \
            break; \
        case kIOHIDEventFieldPowerSubType: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDPowerEventData*)event)->powerSubType); \
            break; \
        _IOHIDPowerGetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDPowerSetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypePower:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldPowerMeasurement: \
            ((IOHIDPowerEventData*)event)->measurement = (typeof(((IOHIDPowerEventData*)event)->measurement)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldPowerType: \
            ((IOHIDPowerEventData*)event)->powerType = (typeof(((IOHIDPowerEventData*)event)->powerType)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldPowerSubType: \
            ((IOHIDPowerEventData*)event)->powerSubType = (typeof(((IOHIDPowerEventData*)event)->powerSubType)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        _IOHIDPowerSetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDPowerGetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypePower:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldPowerMeasurement: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDPowerEventData*)event)->measurement); \
            break; \
        case kIOHIDEventFieldPowerType: \
            value = (typeof(value))CAST_INTEGER_TO_FIXED(((IOHIDPowerEventData*)event)->powerType); \
            break; \
        case kIOHIDEventFieldPowerSubType: \
            value = (typeof(value))CAST_INTEGER_TO_FIXED(((IOHIDPowerEventData*)event)->powerSubType); \
            break; \
        _IOHIDPowerGetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDPowerSetFieldsAsDataMacro(event, field) \

#define _IOHIDPowerGetFieldsAsDataMacro(event, field) \

#define _IOHIDForceSetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeForce:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldForceBehavior: \
            ((IOHIDForceEventData*)event)->behavior = (typeof(((IOHIDForceEventData*)event)->behavior)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldForceProgress: \
            ((IOHIDForceEventData*)event)->progress = (typeof(((IOHIDForceEventData*)event)->progress)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldForceStage: \
            ((IOHIDForceEventData*)event)->stage = (typeof(((IOHIDForceEventData*)event)->stage)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldForceStagePressure: \
            ((IOHIDForceEventData*)event)->stageProgress = (typeof(((IOHIDForceEventData*)event)->stageProgress)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        _IOHIDForceSetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDForceGetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeForce:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldForceBehavior: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDForceEventData*)event)->behavior); \
            break; \
        case kIOHIDEventFieldForceProgress: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDForceEventData*)event)->progress); \
            break; \
        case kIOHIDEventFieldForceStage: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDForceEventData*)event)->stage); \
            break; \
        case kIOHIDEventFieldForceStagePressure: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDForceEventData*)event)->stageProgress); \
            break; \
        _IOHIDForceGetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDForceSetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeForce:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldForceBehavior: \
            ((IOHIDForceEventData*)event)->behavior = (typeof(((IOHIDForceEventData*)event)->behavior)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldForceProgress: \
            ((IOHIDForceEventData*)event)->progress = (typeof(((IOHIDForceEventData*)event)->progress)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldForceStage: \
            ((IOHIDForceEventData*)event)->stage = (typeof(((IOHIDForceEventData*)event)->stage)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldForceStagePressure: \
            ((IOHIDForceEventData*)event)->stageProgress = (typeof(((IOHIDForceEventData*)event)->stageProgress)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        _IOHIDForceSetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDForceGetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeForce:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldForceBehavior: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDForceEventData*)event)->behavior); \
            break; \
        case kIOHIDEventFieldForceProgress: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDForceEventData*)event)->progress); \
            break; \
        case kIOHIDEventFieldForceStage: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDForceEventData*)event)->stage); \
            break; \
        case kIOHIDEventFieldForceStagePressure: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDForceEventData*)event)->stageProgress); \
            break; \
        _IOHIDForceGetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDForceSetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeForce:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldForceBehavior: \
            ((IOHIDForceEventData*)event)->behavior = (typeof(((IOHIDForceEventData*)event)->behavior)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldForceProgress: \
            ((IOHIDForceEventData*)event)->progress = (typeof(((IOHIDForceEventData*)event)->progress)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldForceStage: \
            ((IOHIDForceEventData*)event)->stage = (typeof(((IOHIDForceEventData*)event)->stage)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldForceStagePressure: \
            ((IOHIDForceEventData*)event)->stageProgress = (typeof(((IOHIDForceEventData*)event)->stageProgress)) CAST_FIXED_TO_FIXED(value); \
            break; \
        _IOHIDForceSetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDForceGetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeForce:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldForceBehavior: \
            value = (typeof(value))CAST_INTEGER_TO_FIXED(((IOHIDForceEventData*)event)->behavior); \
            break; \
        case kIOHIDEventFieldForceProgress: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDForceEventData*)event)->progress); \
            break; \
        case kIOHIDEventFieldForceStage: \
            value = (typeof(value))CAST_INTEGER_TO_FIXED(((IOHIDForceEventData*)event)->stage); \
            break; \
        case kIOHIDEventFieldForceStagePressure: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDForceEventData*)event)->stageProgress); \
            break; \
        _IOHIDForceGetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDForceSetFieldsAsDataMacro(event, field) \

#define _IOHIDForceGetFieldsAsDataMacro(event, field) \

#define _IOHIDMotionGestureSetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeMotionGesture:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldMotionGestureGestureType: \
            ((IOHIDMotionGestureEventData*)event)->gestureType = (typeof(((IOHIDMotionGestureEventData*)event)->gestureType)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldMotionGestureProgress: \
            ((IOHIDMotionGestureEventData*)event)->progress = (typeof(((IOHIDMotionGestureEventData*)event)->progress)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        _IOHIDMotionGestureSetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDMotionGestureGetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeMotionGesture:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldMotionGestureGestureType: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDMotionGestureEventData*)event)->gestureType); \
            break; \
        case kIOHIDEventFieldMotionGestureProgress: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDMotionGestureEventData*)event)->progress); \
            break; \
        _IOHIDMotionGestureGetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDMotionGestureSetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeMotionGesture:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldMotionGestureGestureType: \
            ((IOHIDMotionGestureEventData*)event)->gestureType = (typeof(((IOHIDMotionGestureEventData*)event)->gestureType)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldMotionGestureProgress: \
            ((IOHIDMotionGestureEventData*)event)->progress = (typeof(((IOHIDMotionGestureEventData*)event)->progress)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        _IOHIDMotionGestureSetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDMotionGestureGetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeMotionGesture:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldMotionGestureGestureType: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDMotionGestureEventData*)event)->gestureType); \
            break; \
        case kIOHIDEventFieldMotionGestureProgress: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDMotionGestureEventData*)event)->progress); \
            break; \
        _IOHIDMotionGestureGetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDMotionGestureSetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeMotionGesture:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldMotionGestureGestureType: \
            ((IOHIDMotionGestureEventData*)event)->gestureType = (typeof(((IOHIDMotionGestureEventData*)event)->gestureType)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldMotionGestureProgress: \
            ((IOHIDMotionGestureEventData*)event)->progress = (typeof(((IOHIDMotionGestureEventData*)event)->progress)) CAST_FIXED_TO_FIXED(value); \
            break; \
        _IOHIDMotionGestureSetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDMotionGestureGetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeMotionGesture:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldMotionGestureGestureType: \
            value = (typeof(value))CAST_INTEGER_TO_FIXED(((IOHIDMotionGestureEventData*)event)->gestureType); \
            break; \
        case kIOHIDEventFieldMotionGestureProgress: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDMotionGestureEventData*)event)->progress); \
            break; \
        _IOHIDMotionGestureGetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDMotionGestureSetFieldsAsDataMacro(event, field) \

#define _IOHIDMotionGestureGetFieldsAsDataMacro(event, field) \

#define _IOHIDCollectionSetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeCollection:\
{\
    switch (field)\
    {\
        _IOHIDCollectionSetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDCollectionGetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeCollection:\
{\
    switch (field)\
    {\
        _IOHIDCollectionGetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDCollectionSetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeCollection:\
{\
    switch (field)\
    {\
        _IOHIDCollectionSetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDCollectionGetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeCollection:\
{\
    switch (field)\
    {\
        _IOHIDCollectionGetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDCollectionSetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeCollection:\
{\
    switch (field)\
    {\
        _IOHIDCollectionSetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDCollectionGetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeCollection:\
{\
    switch (field)\
    {\
        _IOHIDCollectionGetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDCollectionSetFieldsAsDataMacro(event, field) \

#define _IOHIDCollectionGetFieldsAsDataMacro(event, field) \

#define _IOHIDGameControllerSetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeGameController:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldGameControllerType: \
            ((IOHIDGameControllerEventData*)event)->controllerType = (typeof(((IOHIDGameControllerEventData*)event)->controllerType)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldGameControllerDirectionPadUp: \
            ((IOHIDGameControllerEventData*)event)->dpad.up = (typeof(((IOHIDGameControllerEventData*)event)->dpad.up)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldGameControllerDirectionPadDown: \
            ((IOHIDGameControllerEventData*)event)->dpad.down = (typeof(((IOHIDGameControllerEventData*)event)->dpad.down)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldGameControllerDirectionPadLeft: \
            ((IOHIDGameControllerEventData*)event)->dpad.left = (typeof(((IOHIDGameControllerEventData*)event)->dpad.left)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldGameControllerDirectionPadRight: \
            ((IOHIDGameControllerEventData*)event)->dpad.right = (typeof(((IOHIDGameControllerEventData*)event)->dpad.right)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldGameControllerFaceButtonX: \
            ((IOHIDGameControllerEventData*)event)->face.x = (typeof(((IOHIDGameControllerEventData*)event)->face.x)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldGameControllerFaceButtonY: \
            ((IOHIDGameControllerEventData*)event)->face.y = (typeof(((IOHIDGameControllerEventData*)event)->face.y)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldGameControllerFaceButtonA: \
            ((IOHIDGameControllerEventData*)event)->face.a = (typeof(((IOHIDGameControllerEventData*)event)->face.a)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldGameControllerFaceButtonB: \
            ((IOHIDGameControllerEventData*)event)->face.b = (typeof(((IOHIDGameControllerEventData*)event)->face.b)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldGameControllerJoyStickAxisX: \
            ((IOHIDGameControllerEventData*)event)->joystick.x = (typeof(((IOHIDGameControllerEventData*)event)->joystick.x)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldGameControllerJoyStickAxisY: \
            ((IOHIDGameControllerEventData*)event)->joystick.y = (typeof(((IOHIDGameControllerEventData*)event)->joystick.y)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldGameControllerJoyStickAxisZ: \
            ((IOHIDGameControllerEventData*)event)->joystick.z = (typeof(((IOHIDGameControllerEventData*)event)->joystick.z)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldGameControllerJoyStickAxisRz: \
            ((IOHIDGameControllerEventData*)event)->joystick.rz = (typeof(((IOHIDGameControllerEventData*)event)->joystick.rz)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldGameControllerShoulderButtonL1: \
            ((IOHIDGameControllerEventData*)event)->shoulder.l1 = (typeof(((IOHIDGameControllerEventData*)event)->shoulder.l1)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldGameControllerShoulderButtonL2: \
            ((IOHIDGameControllerEventData*)event)->shoulder.l2 = (typeof(((IOHIDGameControllerEventData*)event)->shoulder.l2)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldGameControllerShoulderButtonR1: \
            ((IOHIDGameControllerEventData*)event)->shoulder.r1 = (typeof(((IOHIDGameControllerEventData*)event)->shoulder.r1)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldGameControllerShoulderButtonR2: \
            ((IOHIDGameControllerEventData*)event)->shoulder.r2 = (typeof(((IOHIDGameControllerEventData*)event)->shoulder.r2)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldGameControllerThumbstickButtonLeft: \
            ((__IOHIDGameControllerEventData*)event)->thumbstickButtonLeft = value ? 1 : 0; \
            break; \
        case kIOHIDEventFieldGameControllerThumbstickButtonRight: \
            ((__IOHIDGameControllerEventData*)event)->thumbstickButtonRight = value ? 1 : 0; \
            break; \
        _IOHIDGameControllerSetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDGameControllerGetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeGameController:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldGameControllerType: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDGameControllerEventData*)event)->controllerType); \
            break; \
        case kIOHIDEventFieldGameControllerDirectionPadUp: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDGameControllerEventData*)event)->dpad.up); \
            break; \
        case kIOHIDEventFieldGameControllerDirectionPadDown: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDGameControllerEventData*)event)->dpad.down); \
            break; \
        case kIOHIDEventFieldGameControllerDirectionPadLeft: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDGameControllerEventData*)event)->dpad.left); \
            break; \
        case kIOHIDEventFieldGameControllerDirectionPadRight: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDGameControllerEventData*)event)->dpad.right); \
            break; \
        case kIOHIDEventFieldGameControllerFaceButtonX: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDGameControllerEventData*)event)->face.x); \
            break; \
        case kIOHIDEventFieldGameControllerFaceButtonY: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDGameControllerEventData*)event)->face.y); \
            break; \
        case kIOHIDEventFieldGameControllerFaceButtonA: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDGameControllerEventData*)event)->face.a); \
            break; \
        case kIOHIDEventFieldGameControllerFaceButtonB: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDGameControllerEventData*)event)->face.b); \
            break; \
        case kIOHIDEventFieldGameControllerJoyStickAxisX: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDGameControllerEventData*)event)->joystick.x); \
            break; \
        case kIOHIDEventFieldGameControllerJoyStickAxisY: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDGameControllerEventData*)event)->joystick.y); \
            break; \
        case kIOHIDEventFieldGameControllerJoyStickAxisZ: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDGameControllerEventData*)event)->joystick.z); \
            break; \
        case kIOHIDEventFieldGameControllerJoyStickAxisRz: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDGameControllerEventData*)event)->joystick.rz); \
            break; \
        case kIOHIDEventFieldGameControllerShoulderButtonL1: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDGameControllerEventData*)event)->shoulder.l1); \
            break; \
        case kIOHIDEventFieldGameControllerShoulderButtonL2: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDGameControllerEventData*)event)->shoulder.l2); \
            break; \
        case kIOHIDEventFieldGameControllerShoulderButtonR1: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDGameControllerEventData*)event)->shoulder.r1); \
            break; \
        case kIOHIDEventFieldGameControllerShoulderButtonR2: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDGameControllerEventData*)event)->shoulder.r2); \
            break; \
        case kIOHIDEventFieldGameControllerThumbstickButtonLeft: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((__IOHIDGameControllerEventData*)event)->thumbstickButtonLeft); \
            break; \
        case kIOHIDEventFieldGameControllerThumbstickButtonRight: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((__IOHIDGameControllerEventData*)event)->thumbstickButtonRight); \
            break; \
        _IOHIDGameControllerGetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDGameControllerSetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeGameController:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldGameControllerType: \
            ((IOHIDGameControllerEventData*)event)->controllerType = (typeof(((IOHIDGameControllerEventData*)event)->controllerType)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldGameControllerDirectionPadUp: \
            ((IOHIDGameControllerEventData*)event)->dpad.up = (typeof(((IOHIDGameControllerEventData*)event)->dpad.up)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldGameControllerDirectionPadDown: \
            ((IOHIDGameControllerEventData*)event)->dpad.down = (typeof(((IOHIDGameControllerEventData*)event)->dpad.down)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldGameControllerDirectionPadLeft: \
            ((IOHIDGameControllerEventData*)event)->dpad.left = (typeof(((IOHIDGameControllerEventData*)event)->dpad.left)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldGameControllerDirectionPadRight: \
            ((IOHIDGameControllerEventData*)event)->dpad.right = (typeof(((IOHIDGameControllerEventData*)event)->dpad.right)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldGameControllerFaceButtonX: \
            ((IOHIDGameControllerEventData*)event)->face.x = (typeof(((IOHIDGameControllerEventData*)event)->face.x)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldGameControllerFaceButtonY: \
            ((IOHIDGameControllerEventData*)event)->face.y = (typeof(((IOHIDGameControllerEventData*)event)->face.y)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldGameControllerFaceButtonA: \
            ((IOHIDGameControllerEventData*)event)->face.a = (typeof(((IOHIDGameControllerEventData*)event)->face.a)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldGameControllerFaceButtonB: \
            ((IOHIDGameControllerEventData*)event)->face.b = (typeof(((IOHIDGameControllerEventData*)event)->face.b)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldGameControllerJoyStickAxisX: \
            ((IOHIDGameControllerEventData*)event)->joystick.x = (typeof(((IOHIDGameControllerEventData*)event)->joystick.x)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldGameControllerJoyStickAxisY: \
            ((IOHIDGameControllerEventData*)event)->joystick.y = (typeof(((IOHIDGameControllerEventData*)event)->joystick.y)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldGameControllerJoyStickAxisZ: \
            ((IOHIDGameControllerEventData*)event)->joystick.z = (typeof(((IOHIDGameControllerEventData*)event)->joystick.z)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldGameControllerJoyStickAxisRz: \
            ((IOHIDGameControllerEventData*)event)->joystick.rz = (typeof(((IOHIDGameControllerEventData*)event)->joystick.rz)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldGameControllerShoulderButtonL1: \
            ((IOHIDGameControllerEventData*)event)->shoulder.l1 = (typeof(((IOHIDGameControllerEventData*)event)->shoulder.l1)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldGameControllerShoulderButtonL2: \
            ((IOHIDGameControllerEventData*)event)->shoulder.l2 = (typeof(((IOHIDGameControllerEventData*)event)->shoulder.l2)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldGameControllerShoulderButtonR1: \
            ((IOHIDGameControllerEventData*)event)->shoulder.r1 = (typeof(((IOHIDGameControllerEventData*)event)->shoulder.r1)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldGameControllerShoulderButtonR2: \
            ((IOHIDGameControllerEventData*)event)->shoulder.r2 = (typeof(((IOHIDGameControllerEventData*)event)->shoulder.r2)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldGameControllerThumbstickButtonLeft: \
            ((__IOHIDGameControllerEventData*)event)->thumbstickButtonLeft = value ? 1 : 0; \
            break; \
        case kIOHIDEventFieldGameControllerThumbstickButtonRight: \
            ((__IOHIDGameControllerEventData*)event)->thumbstickButtonRight = value ? 1 : 0; \
            break; \
        _IOHIDGameControllerSetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDGameControllerGetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeGameController:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldGameControllerType: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDGameControllerEventData*)event)->controllerType); \
            break; \
        case kIOHIDEventFieldGameControllerDirectionPadUp: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDGameControllerEventData*)event)->dpad.up); \
            break; \
        case kIOHIDEventFieldGameControllerDirectionPadDown: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDGameControllerEventData*)event)->dpad.down); \
            break; \
        case kIOHIDEventFieldGameControllerDirectionPadLeft: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDGameControllerEventData*)event)->dpad.left); \
            break; \
        case kIOHIDEventFieldGameControllerDirectionPadRight: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDGameControllerEventData*)event)->dpad.right); \
            break; \
        case kIOHIDEventFieldGameControllerFaceButtonX: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDGameControllerEventData*)event)->face.x); \
            break; \
        case kIOHIDEventFieldGameControllerFaceButtonY: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDGameControllerEventData*)event)->face.y); \
            break; \
        case kIOHIDEventFieldGameControllerFaceButtonA: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDGameControllerEventData*)event)->face.a); \
            break; \
        case kIOHIDEventFieldGameControllerFaceButtonB: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDGameControllerEventData*)event)->face.b); \
            break; \
        case kIOHIDEventFieldGameControllerJoyStickAxisX: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDGameControllerEventData*)event)->joystick.x); \
            break; \
        case kIOHIDEventFieldGameControllerJoyStickAxisY: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDGameControllerEventData*)event)->joystick.y); \
            break; \
        case kIOHIDEventFieldGameControllerJoyStickAxisZ: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDGameControllerEventData*)event)->joystick.z); \
            break; \
        case kIOHIDEventFieldGameControllerJoyStickAxisRz: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDGameControllerEventData*)event)->joystick.rz); \
            break; \
        case kIOHIDEventFieldGameControllerShoulderButtonL1: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDGameControllerEventData*)event)->shoulder.l1); \
            break; \
        case kIOHIDEventFieldGameControllerShoulderButtonL2: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDGameControllerEventData*)event)->shoulder.l2); \
            break; \
        case kIOHIDEventFieldGameControllerShoulderButtonR1: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDGameControllerEventData*)event)->shoulder.r1); \
            break; \
        case kIOHIDEventFieldGameControllerShoulderButtonR2: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDGameControllerEventData*)event)->shoulder.r2); \
            break; \
        case kIOHIDEventFieldGameControllerThumbstickButtonLeft: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((__IOHIDGameControllerEventData*)event)->thumbstickButtonLeft); \
            break; \
        case kIOHIDEventFieldGameControllerThumbstickButtonRight: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((__IOHIDGameControllerEventData*)event)->thumbstickButtonRight); \
            break; \
        _IOHIDGameControllerGetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDGameControllerSetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeGameController:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldGameControllerType: \
            ((IOHIDGameControllerEventData*)event)->controllerType = (typeof(((IOHIDGameControllerEventData*)event)->controllerType)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldGameControllerDirectionPadUp: \
            ((IOHIDGameControllerEventData*)event)->dpad.up = (typeof(((IOHIDGameControllerEventData*)event)->dpad.up)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldGameControllerDirectionPadDown: \
            ((IOHIDGameControllerEventData*)event)->dpad.down = (typeof(((IOHIDGameControllerEventData*)event)->dpad.down)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldGameControllerDirectionPadLeft: \
            ((IOHIDGameControllerEventData*)event)->dpad.left = (typeof(((IOHIDGameControllerEventData*)event)->dpad.left)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldGameControllerDirectionPadRight: \
            ((IOHIDGameControllerEventData*)event)->dpad.right = (typeof(((IOHIDGameControllerEventData*)event)->dpad.right)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldGameControllerFaceButtonX: \
            ((IOHIDGameControllerEventData*)event)->face.x = (typeof(((IOHIDGameControllerEventData*)event)->face.x)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldGameControllerFaceButtonY: \
            ((IOHIDGameControllerEventData*)event)->face.y = (typeof(((IOHIDGameControllerEventData*)event)->face.y)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldGameControllerFaceButtonA: \
            ((IOHIDGameControllerEventData*)event)->face.a = (typeof(((IOHIDGameControllerEventData*)event)->face.a)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldGameControllerFaceButtonB: \
            ((IOHIDGameControllerEventData*)event)->face.b = (typeof(((IOHIDGameControllerEventData*)event)->face.b)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldGameControllerJoyStickAxisX: \
            ((IOHIDGameControllerEventData*)event)->joystick.x = (typeof(((IOHIDGameControllerEventData*)event)->joystick.x)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldGameControllerJoyStickAxisY: \
            ((IOHIDGameControllerEventData*)event)->joystick.y = (typeof(((IOHIDGameControllerEventData*)event)->joystick.y)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldGameControllerJoyStickAxisZ: \
            ((IOHIDGameControllerEventData*)event)->joystick.z = (typeof(((IOHIDGameControllerEventData*)event)->joystick.z)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldGameControllerJoyStickAxisRz: \
            ((IOHIDGameControllerEventData*)event)->joystick.rz = (typeof(((IOHIDGameControllerEventData*)event)->joystick.rz)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldGameControllerShoulderButtonL1: \
            ((IOHIDGameControllerEventData*)event)->shoulder.l1 = (typeof(((IOHIDGameControllerEventData*)event)->shoulder.l1)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldGameControllerShoulderButtonL2: \
            ((IOHIDGameControllerEventData*)event)->shoulder.l2 = (typeof(((IOHIDGameControllerEventData*)event)->shoulder.l2)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldGameControllerShoulderButtonR1: \
            ((IOHIDGameControllerEventData*)event)->shoulder.r1 = (typeof(((IOHIDGameControllerEventData*)event)->shoulder.r1)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldGameControllerShoulderButtonR2: \
            ((IOHIDGameControllerEventData*)event)->shoulder.r2 = (typeof(((IOHIDGameControllerEventData*)event)->shoulder.r2)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldGameControllerThumbstickButtonLeft: \
            ((__IOHIDGameControllerEventData*)event)->thumbstickButtonLeft = value ? 1 : 0; \
            break; \
        case kIOHIDEventFieldGameControllerThumbstickButtonRight: \
            ((__IOHIDGameControllerEventData*)event)->thumbstickButtonRight = value ? 1 : 0; \
            break; \
        _IOHIDGameControllerSetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDGameControllerGetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeGameController:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldGameControllerType: \
            value = (typeof(value))CAST_INTEGER_TO_FIXED(((IOHIDGameControllerEventData*)event)->controllerType); \
            break; \
        case kIOHIDEventFieldGameControllerDirectionPadUp: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDGameControllerEventData*)event)->dpad.up); \
            break; \
        case kIOHIDEventFieldGameControllerDirectionPadDown: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDGameControllerEventData*)event)->dpad.down); \
            break; \
        case kIOHIDEventFieldGameControllerDirectionPadLeft: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDGameControllerEventData*)event)->dpad.left); \
            break; \
        case kIOHIDEventFieldGameControllerDirectionPadRight: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDGameControllerEventData*)event)->dpad.right); \
            break; \
        case kIOHIDEventFieldGameControllerFaceButtonX: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDGameControllerEventData*)event)->face.x); \
            break; \
        case kIOHIDEventFieldGameControllerFaceButtonY: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDGameControllerEventData*)event)->face.y); \
            break; \
        case kIOHIDEventFieldGameControllerFaceButtonA: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDGameControllerEventData*)event)->face.a); \
            break; \
        case kIOHIDEventFieldGameControllerFaceButtonB: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDGameControllerEventData*)event)->face.b); \
            break; \
        case kIOHIDEventFieldGameControllerJoyStickAxisX: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDGameControllerEventData*)event)->joystick.x); \
            break; \
        case kIOHIDEventFieldGameControllerJoyStickAxisY: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDGameControllerEventData*)event)->joystick.y); \
            break; \
        case kIOHIDEventFieldGameControllerJoyStickAxisZ: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDGameControllerEventData*)event)->joystick.z); \
            break; \
        case kIOHIDEventFieldGameControllerJoyStickAxisRz: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDGameControllerEventData*)event)->joystick.rz); \
            break; \
        case kIOHIDEventFieldGameControllerShoulderButtonL1: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDGameControllerEventData*)event)->shoulder.l1); \
            break; \
        case kIOHIDEventFieldGameControllerShoulderButtonL2: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDGameControllerEventData*)event)->shoulder.l2); \
            break; \
        case kIOHIDEventFieldGameControllerShoulderButtonR1: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDGameControllerEventData*)event)->shoulder.r1); \
            break; \
        case kIOHIDEventFieldGameControllerShoulderButtonR2: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDGameControllerEventData*)event)->shoulder.r2); \
            break; \
        case kIOHIDEventFieldGameControllerThumbstickButtonLeft: \
            value = (typeof(value))CAST_SHORTINTEGER_TO_FIXED(((__IOHIDGameControllerEventData*)event)->thumbstickButtonLeft); \
            break; \
        case kIOHIDEventFieldGameControllerThumbstickButtonRight: \
            value = (typeof(value))CAST_SHORTINTEGER_TO_FIXED(((__IOHIDGameControllerEventData*)event)->thumbstickButtonRight); \
            break; \
        _IOHIDGameControllerGetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDGameControllerSetFieldsAsDataMacro(event, field) \

#define _IOHIDGameControllerGetFieldsAsDataMacro(event, field) \

#define _IOHIDTranslationSetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeTranslation:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldTranslationX: \
            ((IOHIDTranslationEventData*)event)->position.x = (typeof(((IOHIDTranslationEventData*)event)->position.x)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldTranslationY: \
            ((IOHIDTranslationEventData*)event)->position.y = (typeof(((IOHIDTranslationEventData*)event)->position.y)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldTranslationZ: \
            ((IOHIDTranslationEventData*)event)->position.z = (typeof(((IOHIDTranslationEventData*)event)->position.z)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        _IOHIDTranslationSetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDTranslationGetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeTranslation:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldTranslationX: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDTranslationEventData*)event)->position.x); \
            break; \
        case kIOHIDEventFieldTranslationY: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDTranslationEventData*)event)->position.y); \
            break; \
        case kIOHIDEventFieldTranslationZ: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDTranslationEventData*)event)->position.z); \
            break; \
        _IOHIDTranslationGetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDTranslationSetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeTranslation:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldTranslationX: \
            ((IOHIDTranslationEventData*)event)->position.x = (typeof(((IOHIDTranslationEventData*)event)->position.x)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldTranslationY: \
            ((IOHIDTranslationEventData*)event)->position.y = (typeof(((IOHIDTranslationEventData*)event)->position.y)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldTranslationZ: \
            ((IOHIDTranslationEventData*)event)->position.z = (typeof(((IOHIDTranslationEventData*)event)->position.z)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        _IOHIDTranslationSetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDTranslationGetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeTranslation:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldTranslationX: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDTranslationEventData*)event)->position.x); \
            break; \
        case kIOHIDEventFieldTranslationY: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDTranslationEventData*)event)->position.y); \
            break; \
        case kIOHIDEventFieldTranslationZ: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDTranslationEventData*)event)->position.z); \
            break; \
        _IOHIDTranslationGetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDTranslationSetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeTranslation:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldTranslationX: \
            ((IOHIDTranslationEventData*)event)->position.x = (typeof(((IOHIDTranslationEventData*)event)->position.x)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldTranslationY: \
            ((IOHIDTranslationEventData*)event)->position.y = (typeof(((IOHIDTranslationEventData*)event)->position.y)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldTranslationZ: \
            ((IOHIDTranslationEventData*)event)->position.z = (typeof(((IOHIDTranslationEventData*)event)->position.z)) CAST_FIXED_TO_FIXED(value); \
            break; \
        _IOHIDTranslationSetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDTranslationGetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeTranslation:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldTranslationX: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDTranslationEventData*)event)->position.x); \
            break; \
        case kIOHIDEventFieldTranslationY: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDTranslationEventData*)event)->position.y); \
            break; \
        case kIOHIDEventFieldTranslationZ: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDTranslationEventData*)event)->position.z); \
            break; \
        _IOHIDTranslationGetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDTranslationSetFieldsAsDataMacro(event, field) \

#define _IOHIDTranslationGetFieldsAsDataMacro(event, field) \

#define _IOHIDDigitizerSetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeDigitizer:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldDigitizerCollection: \
            ((IOHIDDigitizerEventData*)event)->options.collection = value ? 1 : 0; \
            break; \
        case kIOHIDEventFieldDigitizerRange: \
            ((IOHIDDigitizerEventData*)event)->options.range = value ? 1 : 0; \
            break; \
        case kIOHIDEventFieldDigitizerTouch: \
            ((IOHIDDigitizerEventData*)event)->options.touch = value ? 1 : 0; \
            break; \
        case kIOHIDEventFieldDigitizerIsDisplayIntegrated: \
            ((IOHIDDigitizerEventData*)event)->options.displayIntegrated = value ? 1 : 0; \
            break; \
        case kIOHIDEventFieldDigitizerX: \
            ((IOHIDDigitizerEventData*)event)->position.x = (typeof(((IOHIDDigitizerEventData*)event)->position.x)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldDigitizerY: \
            ((IOHIDDigitizerEventData*)event)->position.y = (typeof(((IOHIDDigitizerEventData*)event)->position.y)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldDigitizerZ: \
            ((IOHIDDigitizerEventData*)event)->position.z = (typeof(((IOHIDDigitizerEventData*)event)->position.z)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldDigitizerIndex: \
            ((IOHIDDigitizerEventData*)event)->transducerIndex = (typeof(((IOHIDDigitizerEventData*)event)->transducerIndex)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldDigitizerType: \
            ((IOHIDDigitizerEventData*)event)->transducerType = (typeof(((IOHIDDigitizerEventData*)event)->transducerType)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldDigitizerIdentity: \
            ((IOHIDDigitizerEventData*)event)->identity = (typeof(((IOHIDDigitizerEventData*)event)->identity)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldDigitizerEventMask: \
            ((IOHIDDigitizerEventData*)event)->eventMask = (typeof(((IOHIDDigitizerEventData*)event)->eventMask)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldDigitizerChildEventMask: \
            ((IOHIDDigitizerEventData*)event)->childEventMask = (typeof(((IOHIDDigitizerEventData*)event)->childEventMask)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldDigitizerButtonMask: \
            ((IOHIDDigitizerEventData*)event)->buttonMask = (typeof(((IOHIDDigitizerEventData*)event)->buttonMask)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldDigitizerPressure: \
            ((IOHIDDigitizerEventData*)event)->pressure = (typeof(((IOHIDDigitizerEventData*)event)->pressure)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldDigitizerAuxiliaryPressure: \
            ((IOHIDDigitizerEventData*)event)->auxPressure = (typeof(((IOHIDDigitizerEventData*)event)->auxPressure)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldDigitizerTwist: \
            ((IOHIDDigitizerEventData*)event)->twist = (typeof(((IOHIDDigitizerEventData*)event)->twist)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldDigitizerGenerationCount: \
            ((IOHIDDigitizerEventData*)event)->generationCount = (typeof(((IOHIDDigitizerEventData*)event)->generationCount)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldDigitizerWillUpdateMask: \
            ((IOHIDDigitizerEventData*)event)->willUpdateMask = (typeof(((IOHIDDigitizerEventData*)event)->willUpdateMask)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldDigitizerDidUpdateMask: \
            ((IOHIDDigitizerEventData*)event)->didUpdateMask = (typeof(((IOHIDDigitizerEventData*)event)->didUpdateMask)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldDigitizerAzimuth: \
        case kIOHIDEventFieldDigitizerQuality: \
        case kIOHIDEventFieldDigitizerQualityRadiiAccuracy: \
        case kIOHIDEventFieldDigitizerTiltX: \
        case kIOHIDEventFieldDigitizerTiltY: \
        case kIOHIDEventFieldDigitizerMajorRadius: \
        case kIOHIDEventFieldDigitizerMinorRadius: \
        case kIOHIDEventFieldDigitizerAltitude: \
        case kIOHIDEventFieldDigitizerDensity: \
        case kIOHIDEventFieldDigitizerIrregularity: \
            if (((IOHIDDigitizerEventData*)event)->orientationType == kIOHIDDigitizerOrientationTypePolar) {\
                switch (field) \
                {\
                    case kIOHIDEventFieldDigitizerAltitude: \
                        ((IOHIDDigitizerEventData*)event)->orientation.polar.altitude = (typeof(((IOHIDDigitizerEventData*)event)->orientation.polar.altitude)) CAST_INTEGER_TO_FIXED(value); \
                        break; \
                    case kIOHIDEventFieldDigitizerAzimuth: \
                        ((IOHIDDigitizerEventData*)event)->orientation.polar.azimuth = (typeof(((IOHIDDigitizerEventData*)event)->orientation.polar.azimuth)) CAST_INTEGER_TO_FIXED(value); \
                        break; \
                    case kIOHIDEventFieldDigitizerQuality: \
                        ((IOHIDDigitizerEventData*)event)->orientation.polar.quality = (typeof(((IOHIDDigitizerEventData*)event)->orientation.polar.quality)) CAST_INTEGER_TO_FIXED(value); \
                        break; \
                    case kIOHIDEventFieldDigitizerDensity: \
                        ((IOHIDDigitizerEventData*)event)->orientation.polar.density = (typeof(((IOHIDDigitizerEventData*)event)->orientation.polar.density)) CAST_INTEGER_TO_FIXED(value); \
                        break; \
                    case kIOHIDEventFieldDigitizerMajorRadius: \
                        ((IOHIDDigitizerEventData*)event)->orientation.polar.majorRadius = (typeof(((IOHIDDigitizerEventData*)event)->orientation.polar.majorRadius)) CAST_INTEGER_TO_FIXED(value); \
                        break; \
                    case kIOHIDEventFieldDigitizerMinorRadius: \
                        ((IOHIDDigitizerEventData*)event)->orientation.polar.minorRadius = (typeof(((IOHIDDigitizerEventData*)event)->orientation.polar.minorRadius)) CAST_INTEGER_TO_FIXED(value); \
                        break; \
                }\
                break;\
            }\
            if (((IOHIDDigitizerEventData*)event)->orientationType == kIOHIDDigitizerOrientationTypeQuality) {\
                switch (field) \
                {\
                    case kIOHIDEventFieldDigitizerQuality: \
                        ((IOHIDDigitizerEventData*)event)->orientation.quality.quality = (typeof(((IOHIDDigitizerEventData*)event)->orientation.quality.quality)) CAST_INTEGER_TO_FIXED(value); \
                        break; \
                    case kIOHIDEventFieldDigitizerDensity: \
                        ((IOHIDDigitizerEventData*)event)->orientation.quality.density = (typeof(((IOHIDDigitizerEventData*)event)->orientation.quality.density)) CAST_INTEGER_TO_FIXED(value); \
                        break; \
                    case kIOHIDEventFieldDigitizerIrregularity: \
                        ((IOHIDDigitizerEventData*)event)->orientation.quality.irregularity = (typeof(((IOHIDDigitizerEventData*)event)->orientation.quality.irregularity)) CAST_INTEGER_TO_FIXED(value); \
                        break; \
                    case kIOHIDEventFieldDigitizerMajorRadius: \
                        ((IOHIDDigitizerEventData*)event)->orientation.quality.majorRadius = (typeof(((IOHIDDigitizerEventData*)event)->orientation.quality.majorRadius)) CAST_INTEGER_TO_FIXED(value); \
                        break; \
                    case kIOHIDEventFieldDigitizerMinorRadius: \
                        ((IOHIDDigitizerEventData*)event)->orientation.quality.minorRadius = (typeof(((IOHIDDigitizerEventData*)event)->orientation.quality.minorRadius)) CAST_INTEGER_TO_FIXED(value); \
                        break; \
                    case kIOHIDEventFieldDigitizerQualityRadiiAccuracy: \
                        ((IOHIDDigitizerEventData*)event)->orientation.quality.accuracy = (typeof(((IOHIDDigitizerEventData*)event)->orientation.quality.accuracy)) CAST_INTEGER_TO_FIXED(value); \
                        break; \
                }\
                break;\
            }\
            if (((IOHIDDigitizerEventData*)event)->orientationType == kIOHIDDigitizerOrientationTypeTilt) {\
                switch (field) \
                {\
                    case kIOHIDEventFieldDigitizerTiltX: \
                        ((IOHIDDigitizerEventData*)event)->orientation.tilt.x = (typeof(((IOHIDDigitizerEventData*)event)->orientation.tilt.x)) CAST_INTEGER_TO_FIXED(value); \
                        break; \
                    case kIOHIDEventFieldDigitizerTiltY: \
                        ((IOHIDDigitizerEventData*)event)->orientation.tilt.y = (typeof(((IOHIDDigitizerEventData*)event)->orientation.tilt.y)) CAST_INTEGER_TO_FIXED(value); \
                        break; \
                }\
                break;\
            }\
            break;\
        _IOHIDDigitizerSetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDDigitizerGetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeDigitizer:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldDigitizerCollection: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDDigitizerEventData*)event)->options.collection); \
            break; \
        case kIOHIDEventFieldDigitizerRange: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDDigitizerEventData*)event)->options.range); \
            break; \
        case kIOHIDEventFieldDigitizerTouch: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDDigitizerEventData*)event)->options.touch); \
            break; \
        case kIOHIDEventFieldDigitizerIsDisplayIntegrated: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDDigitizerEventData*)event)->options.displayIntegrated); \
            break; \
        case kIOHIDEventFieldDigitizerX: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDDigitizerEventData*)event)->position.x); \
            break; \
        case kIOHIDEventFieldDigitizerY: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDDigitizerEventData*)event)->position.y); \
            break; \
        case kIOHIDEventFieldDigitizerZ: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDDigitizerEventData*)event)->position.z); \
            break; \
        case kIOHIDEventFieldDigitizerIndex: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDDigitizerEventData*)event)->transducerIndex); \
            break; \
        case kIOHIDEventFieldDigitizerType: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDDigitizerEventData*)event)->transducerType); \
            break; \
        case kIOHIDEventFieldDigitizerIdentity: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDDigitizerEventData*)event)->identity); \
            break; \
        case kIOHIDEventFieldDigitizerEventMask: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDDigitizerEventData*)event)->eventMask); \
            break; \
        case kIOHIDEventFieldDigitizerChildEventMask: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDDigitizerEventData*)event)->childEventMask); \
            break; \
        case kIOHIDEventFieldDigitizerButtonMask: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDDigitizerEventData*)event)->buttonMask); \
            break; \
        case kIOHIDEventFieldDigitizerPressure: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDDigitizerEventData*)event)->pressure); \
            break; \
        case kIOHIDEventFieldDigitizerAuxiliaryPressure: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDDigitizerEventData*)event)->auxPressure); \
            break; \
        case kIOHIDEventFieldDigitizerTwist: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDDigitizerEventData*)event)->twist); \
            break; \
        case kIOHIDEventFieldDigitizerOrientationType: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDDigitizerEventData*)event)->orientationType); \
            break; \
        case kIOHIDEventFieldDigitizerGenerationCount: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDDigitizerEventData*)event)->generationCount); \
            break; \
        case kIOHIDEventFieldDigitizerWillUpdateMask: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDDigitizerEventData*)event)->willUpdateMask); \
            break; \
        case kIOHIDEventFieldDigitizerDidUpdateMask: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDDigitizerEventData*)event)->didUpdateMask); \
            break; \
        case kIOHIDEventFieldDigitizerAzimuth: \
        case kIOHIDEventFieldDigitizerQuality: \
        case kIOHIDEventFieldDigitizerQualityRadiiAccuracy: \
        case kIOHIDEventFieldDigitizerTiltX: \
        case kIOHIDEventFieldDigitizerTiltY: \
        case kIOHIDEventFieldDigitizerMajorRadius: \
        case kIOHIDEventFieldDigitizerMinorRadius: \
        case kIOHIDEventFieldDigitizerAltitude: \
        case kIOHIDEventFieldDigitizerDensity: \
        case kIOHIDEventFieldDigitizerIrregularity: \
            if (((IOHIDDigitizerEventData*)event)->orientationType == kIOHIDDigitizerOrientationTypePolar) {\
                switch (field) \
                {\
                    case kIOHIDEventFieldDigitizerAltitude: \
                        value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDDigitizerEventData*)event)->orientation.polar.altitude); \
                        break; \
                    case kIOHIDEventFieldDigitizerAzimuth: \
                        value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDDigitizerEventData*)event)->orientation.polar.azimuth); \
                        break; \
                    case kIOHIDEventFieldDigitizerQuality: \
                        value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDDigitizerEventData*)event)->orientation.polar.quality); \
                        break; \
                    case kIOHIDEventFieldDigitizerDensity: \
                        value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDDigitizerEventData*)event)->orientation.polar.density); \
                        break; \
                    case kIOHIDEventFieldDigitizerMajorRadius: \
                        value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDDigitizerEventData*)event)->orientation.polar.majorRadius); \
                        break; \
                    case kIOHIDEventFieldDigitizerMinorRadius: \
                        value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDDigitizerEventData*)event)->orientation.polar.minorRadius); \
                        break; \
                }\
                break;\
            }\
            if (((IOHIDDigitizerEventData*)event)->orientationType == kIOHIDDigitizerOrientationTypeQuality) {\
                switch (field) \
                {\
                    case kIOHIDEventFieldDigitizerQuality: \
                        value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDDigitizerEventData*)event)->orientation.quality.quality); \
                        break; \
                    case kIOHIDEventFieldDigitizerDensity: \
                        value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDDigitizerEventData*)event)->orientation.quality.density); \
                        break; \
                    case kIOHIDEventFieldDigitizerIrregularity: \
                        value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDDigitizerEventData*)event)->orientation.quality.irregularity); \
                        break; \
                    case kIOHIDEventFieldDigitizerMajorRadius: \
                        value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDDigitizerEventData*)event)->orientation.quality.majorRadius); \
                        break; \
                    case kIOHIDEventFieldDigitizerMinorRadius: \
                        value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDDigitizerEventData*)event)->orientation.quality.minorRadius); \
                        break; \
                    case kIOHIDEventFieldDigitizerQualityRadiiAccuracy: \
                        value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDDigitizerEventData*)event)->orientation.quality.accuracy); \
                        break; \
                }\
                break;\
            }\
            if (((IOHIDDigitizerEventData*)event)->orientationType == kIOHIDDigitizerOrientationTypeTilt) {\
                switch (field) \
                {\
                    case kIOHIDEventFieldDigitizerTiltX: \
                        value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDDigitizerEventData*)event)->orientation.tilt.x); \
                        break; \
                    case kIOHIDEventFieldDigitizerTiltY: \
                        value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDDigitizerEventData*)event)->orientation.tilt.y); \
                        break; \
                }\
                break;\
            }\
            break;\
        _IOHIDDigitizerGetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDDigitizerSetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeDigitizer:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldDigitizerCollection: \
            ((IOHIDDigitizerEventData*)event)->options.collection = value ? 1 : 0; \
            break; \
        case kIOHIDEventFieldDigitizerRange: \
            ((IOHIDDigitizerEventData*)event)->options.range = value ? 1 : 0; \
            break; \
        case kIOHIDEventFieldDigitizerTouch: \
            ((IOHIDDigitizerEventData*)event)->options.touch = value ? 1 : 0; \
            break; \
        case kIOHIDEventFieldDigitizerIsDisplayIntegrated: \
            ((IOHIDDigitizerEventData*)event)->options.displayIntegrated = value ? 1 : 0; \
            break; \
        case kIOHIDEventFieldDigitizerX: \
            ((IOHIDDigitizerEventData*)event)->position.x = (typeof(((IOHIDDigitizerEventData*)event)->position.x)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldDigitizerY: \
            ((IOHIDDigitizerEventData*)event)->position.y = (typeof(((IOHIDDigitizerEventData*)event)->position.y)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldDigitizerZ: \
            ((IOHIDDigitizerEventData*)event)->position.z = (typeof(((IOHIDDigitizerEventData*)event)->position.z)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldDigitizerIndex: \
            ((IOHIDDigitizerEventData*)event)->transducerIndex = (typeof(((IOHIDDigitizerEventData*)event)->transducerIndex)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldDigitizerType: \
            ((IOHIDDigitizerEventData*)event)->transducerType = (typeof(((IOHIDDigitizerEventData*)event)->transducerType)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldDigitizerIdentity: \
            ((IOHIDDigitizerEventData*)event)->identity = (typeof(((IOHIDDigitizerEventData*)event)->identity)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldDigitizerEventMask: \
            ((IOHIDDigitizerEventData*)event)->eventMask = (typeof(((IOHIDDigitizerEventData*)event)->eventMask)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldDigitizerChildEventMask: \
            ((IOHIDDigitizerEventData*)event)->childEventMask = (typeof(((IOHIDDigitizerEventData*)event)->childEventMask)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldDigitizerButtonMask: \
            ((IOHIDDigitizerEventData*)event)->buttonMask = (typeof(((IOHIDDigitizerEventData*)event)->buttonMask)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldDigitizerPressure: \
            ((IOHIDDigitizerEventData*)event)->pressure = (typeof(((IOHIDDigitizerEventData*)event)->pressure)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldDigitizerAuxiliaryPressure: \
            ((IOHIDDigitizerEventData*)event)->auxPressure = (typeof(((IOHIDDigitizerEventData*)event)->auxPressure)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldDigitizerTwist: \
            ((IOHIDDigitizerEventData*)event)->twist = (typeof(((IOHIDDigitizerEventData*)event)->twist)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldDigitizerGenerationCount: \
            ((IOHIDDigitizerEventData*)event)->generationCount = (typeof(((IOHIDDigitizerEventData*)event)->generationCount)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldDigitizerWillUpdateMask: \
            ((IOHIDDigitizerEventData*)event)->willUpdateMask = (typeof(((IOHIDDigitizerEventData*)event)->willUpdateMask)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldDigitizerDidUpdateMask: \
            ((IOHIDDigitizerEventData*)event)->didUpdateMask = (typeof(((IOHIDDigitizerEventData*)event)->didUpdateMask)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldDigitizerAzimuth: \
        case kIOHIDEventFieldDigitizerQuality: \
        case kIOHIDEventFieldDigitizerQualityRadiiAccuracy: \
        case kIOHIDEventFieldDigitizerTiltX: \
        case kIOHIDEventFieldDigitizerTiltY: \
        case kIOHIDEventFieldDigitizerMajorRadius: \
        case kIOHIDEventFieldDigitizerMinorRadius: \
        case kIOHIDEventFieldDigitizerAltitude: \
        case kIOHIDEventFieldDigitizerDensity: \
        case kIOHIDEventFieldDigitizerIrregularity: \
            if (((IOHIDDigitizerEventData*)event)->orientationType == kIOHIDDigitizerOrientationTypePolar) {\
                switch (field) \
                {\
                    case kIOHIDEventFieldDigitizerAltitude: \
                        ((IOHIDDigitizerEventData*)event)->orientation.polar.altitude = (typeof(((IOHIDDigitizerEventData*)event)->orientation.polar.altitude)) CAST_DOUBLE_TO_FIXED(value); \
                        break; \
                    case kIOHIDEventFieldDigitizerAzimuth: \
                        ((IOHIDDigitizerEventData*)event)->orientation.polar.azimuth = (typeof(((IOHIDDigitizerEventData*)event)->orientation.polar.azimuth)) CAST_DOUBLE_TO_FIXED(value); \
                        break; \
                    case kIOHIDEventFieldDigitizerQuality: \
                        ((IOHIDDigitizerEventData*)event)->orientation.polar.quality = (typeof(((IOHIDDigitizerEventData*)event)->orientation.polar.quality)) CAST_DOUBLE_TO_FIXED(value); \
                        break; \
                    case kIOHIDEventFieldDigitizerDensity: \
                        ((IOHIDDigitizerEventData*)event)->orientation.polar.density = (typeof(((IOHIDDigitizerEventData*)event)->orientation.polar.density)) CAST_DOUBLE_TO_FIXED(value); \
                        break; \
                    case kIOHIDEventFieldDigitizerMajorRadius: \
                        ((IOHIDDigitizerEventData*)event)->orientation.polar.majorRadius = (typeof(((IOHIDDigitizerEventData*)event)->orientation.polar.majorRadius)) CAST_DOUBLE_TO_FIXED(value); \
                        break; \
                    case kIOHIDEventFieldDigitizerMinorRadius: \
                        ((IOHIDDigitizerEventData*)event)->orientation.polar.minorRadius = (typeof(((IOHIDDigitizerEventData*)event)->orientation.polar.minorRadius)) CAST_DOUBLE_TO_FIXED(value); \
                        break; \
                }\
                break;\
            }\
            if (((IOHIDDigitizerEventData*)event)->orientationType == kIOHIDDigitizerOrientationTypeQuality) {\
                switch (field) \
                {\
                    case kIOHIDEventFieldDigitizerQuality: \
                        ((IOHIDDigitizerEventData*)event)->orientation.quality.quality = (typeof(((IOHIDDigitizerEventData*)event)->orientation.quality.quality)) CAST_DOUBLE_TO_FIXED(value); \
                        break; \
                    case kIOHIDEventFieldDigitizerDensity: \
                        ((IOHIDDigitizerEventData*)event)->orientation.quality.density = (typeof(((IOHIDDigitizerEventData*)event)->orientation.quality.density)) CAST_DOUBLE_TO_FIXED(value); \
                        break; \
                    case kIOHIDEventFieldDigitizerIrregularity: \
                        ((IOHIDDigitizerEventData*)event)->orientation.quality.irregularity = (typeof(((IOHIDDigitizerEventData*)event)->orientation.quality.irregularity)) CAST_DOUBLE_TO_FIXED(value); \
                        break; \
                    case kIOHIDEventFieldDigitizerMajorRadius: \
                        ((IOHIDDigitizerEventData*)event)->orientation.quality.majorRadius = (typeof(((IOHIDDigitizerEventData*)event)->orientation.quality.majorRadius)) CAST_DOUBLE_TO_FIXED(value); \
                        break; \
                    case kIOHIDEventFieldDigitizerMinorRadius: \
                        ((IOHIDDigitizerEventData*)event)->orientation.quality.minorRadius = (typeof(((IOHIDDigitizerEventData*)event)->orientation.quality.minorRadius)) CAST_DOUBLE_TO_FIXED(value); \
                        break; \
                    case kIOHIDEventFieldDigitizerQualityRadiiAccuracy: \
                        ((IOHIDDigitizerEventData*)event)->orientation.quality.accuracy = (typeof(((IOHIDDigitizerEventData*)event)->orientation.quality.accuracy)) CAST_DOUBLE_TO_FIXED(value); \
                        break; \
                }\
                break;\
            }\
            if (((IOHIDDigitizerEventData*)event)->orientationType == kIOHIDDigitizerOrientationTypeTilt) {\
                switch (field) \
                {\
                    case kIOHIDEventFieldDigitizerTiltX: \
                        ((IOHIDDigitizerEventData*)event)->orientation.tilt.x = (typeof(((IOHIDDigitizerEventData*)event)->orientation.tilt.x)) CAST_DOUBLE_TO_FIXED(value); \
                        break; \
                    case kIOHIDEventFieldDigitizerTiltY: \
                        ((IOHIDDigitizerEventData*)event)->orientation.tilt.y = (typeof(((IOHIDDigitizerEventData*)event)->orientation.tilt.y)) CAST_DOUBLE_TO_FIXED(value); \
                        break; \
                }\
                break;\
            }\
            break;\
        _IOHIDDigitizerSetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDDigitizerGetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeDigitizer:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldDigitizerCollection: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDDigitizerEventData*)event)->options.collection); \
            break; \
        case kIOHIDEventFieldDigitizerRange: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDDigitizerEventData*)event)->options.range); \
            break; \
        case kIOHIDEventFieldDigitizerTouch: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDDigitizerEventData*)event)->options.touch); \
            break; \
        case kIOHIDEventFieldDigitizerIsDisplayIntegrated: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDDigitizerEventData*)event)->options.displayIntegrated); \
            break; \
        case kIOHIDEventFieldDigitizerX: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDDigitizerEventData*)event)->position.x); \
            break; \
        case kIOHIDEventFieldDigitizerY: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDDigitizerEventData*)event)->position.y); \
            break; \
        case kIOHIDEventFieldDigitizerZ: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDDigitizerEventData*)event)->position.z); \
            break; \
        case kIOHIDEventFieldDigitizerIndex: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDDigitizerEventData*)event)->transducerIndex); \
            break; \
        case kIOHIDEventFieldDigitizerType: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDDigitizerEventData*)event)->transducerType); \
            break; \
        case kIOHIDEventFieldDigitizerIdentity: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDDigitizerEventData*)event)->identity); \
            break; \
        case kIOHIDEventFieldDigitizerEventMask: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDDigitizerEventData*)event)->eventMask); \
            break; \
        case kIOHIDEventFieldDigitizerChildEventMask: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDDigitizerEventData*)event)->childEventMask); \
            break; \
        case kIOHIDEventFieldDigitizerButtonMask: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDDigitizerEventData*)event)->buttonMask); \
            break; \
        case kIOHIDEventFieldDigitizerPressure: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDDigitizerEventData*)event)->pressure); \
            break; \
        case kIOHIDEventFieldDigitizerAuxiliaryPressure: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDDigitizerEventData*)event)->auxPressure); \
            break; \
        case kIOHIDEventFieldDigitizerTwist: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDDigitizerEventData*)event)->twist); \
            break; \
        case kIOHIDEventFieldDigitizerOrientationType: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDDigitizerEventData*)event)->orientationType); \
            break; \
        case kIOHIDEventFieldDigitizerGenerationCount: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDDigitizerEventData*)event)->generationCount); \
            break; \
        case kIOHIDEventFieldDigitizerWillUpdateMask: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDDigitizerEventData*)event)->willUpdateMask); \
            break; \
        case kIOHIDEventFieldDigitizerDidUpdateMask: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDDigitizerEventData*)event)->didUpdateMask); \
            break; \
        case kIOHIDEventFieldDigitizerAzimuth: \
        case kIOHIDEventFieldDigitizerQuality: \
        case kIOHIDEventFieldDigitizerQualityRadiiAccuracy: \
        case kIOHIDEventFieldDigitizerTiltX: \
        case kIOHIDEventFieldDigitizerTiltY: \
        case kIOHIDEventFieldDigitizerMajorRadius: \
        case kIOHIDEventFieldDigitizerMinorRadius: \
        case kIOHIDEventFieldDigitizerAltitude: \
        case kIOHIDEventFieldDigitizerDensity: \
        case kIOHIDEventFieldDigitizerIrregularity: \
            if (((IOHIDDigitizerEventData*)event)->orientationType == kIOHIDDigitizerOrientationTypePolar) {\
                switch (field) \
                {\
                    case kIOHIDEventFieldDigitizerAltitude: \
                        value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDDigitizerEventData*)event)->orientation.polar.altitude); \
                        break; \
                    case kIOHIDEventFieldDigitizerAzimuth: \
                        value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDDigitizerEventData*)event)->orientation.polar.azimuth); \
                        break; \
                    case kIOHIDEventFieldDigitizerQuality: \
                        value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDDigitizerEventData*)event)->orientation.polar.quality); \
                        break; \
                    case kIOHIDEventFieldDigitizerDensity: \
                        value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDDigitizerEventData*)event)->orientation.polar.density); \
                        break; \
                    case kIOHIDEventFieldDigitizerMajorRadius: \
                        value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDDigitizerEventData*)event)->orientation.polar.majorRadius); \
                        break; \
                    case kIOHIDEventFieldDigitizerMinorRadius: \
                        value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDDigitizerEventData*)event)->orientation.polar.minorRadius); \
                        break; \
                }\
                break;\
            }\
            if (((IOHIDDigitizerEventData*)event)->orientationType == kIOHIDDigitizerOrientationTypeQuality) {\
                switch (field) \
                {\
                    case kIOHIDEventFieldDigitizerQuality: \
                        value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDDigitizerEventData*)event)->orientation.quality.quality); \
                        break; \
                    case kIOHIDEventFieldDigitizerDensity: \
                        value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDDigitizerEventData*)event)->orientation.quality.density); \
                        break; \
                    case kIOHIDEventFieldDigitizerIrregularity: \
                        value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDDigitizerEventData*)event)->orientation.quality.irregularity); \
                        break; \
                    case kIOHIDEventFieldDigitizerMajorRadius: \
                        value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDDigitizerEventData*)event)->orientation.quality.majorRadius); \
                        break; \
                    case kIOHIDEventFieldDigitizerMinorRadius: \
                        value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDDigitizerEventData*)event)->orientation.quality.minorRadius); \
                        break; \
                    case kIOHIDEventFieldDigitizerQualityRadiiAccuracy: \
                        value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDDigitizerEventData*)event)->orientation.quality.accuracy); \
                        break; \
                }\
                break;\
            }\
            if (((IOHIDDigitizerEventData*)event)->orientationType == kIOHIDDigitizerOrientationTypeTilt) {\
                switch (field) \
                {\
                    case kIOHIDEventFieldDigitizerTiltX: \
                        value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDDigitizerEventData*)event)->orientation.tilt.x); \
                        break; \
                    case kIOHIDEventFieldDigitizerTiltY: \
                        value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDDigitizerEventData*)event)->orientation.tilt.y); \
                        break; \
                }\
                break;\
            }\
            break;\
        _IOHIDDigitizerGetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDDigitizerSetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeDigitizer:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldDigitizerCollection: \
            ((IOHIDDigitizerEventData*)event)->options.collection = value ? 1 : 0; \
            break; \
        case kIOHIDEventFieldDigitizerRange: \
            ((IOHIDDigitizerEventData*)event)->options.range = value ? 1 : 0; \
            break; \
        case kIOHIDEventFieldDigitizerTouch: \
            ((IOHIDDigitizerEventData*)event)->options.touch = value ? 1 : 0; \
            break; \
        case kIOHIDEventFieldDigitizerIsDisplayIntegrated: \
            ((IOHIDDigitizerEventData*)event)->options.displayIntegrated = value ? 1 : 0; \
            break; \
        case kIOHIDEventFieldDigitizerX: \
            ((IOHIDDigitizerEventData*)event)->position.x = (typeof(((IOHIDDigitizerEventData*)event)->position.x)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldDigitizerY: \
            ((IOHIDDigitizerEventData*)event)->position.y = (typeof(((IOHIDDigitizerEventData*)event)->position.y)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldDigitizerZ: \
            ((IOHIDDigitizerEventData*)event)->position.z = (typeof(((IOHIDDigitizerEventData*)event)->position.z)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldDigitizerIndex: \
            ((IOHIDDigitizerEventData*)event)->transducerIndex = (typeof(((IOHIDDigitizerEventData*)event)->transducerIndex)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldDigitizerType: \
            ((IOHIDDigitizerEventData*)event)->transducerType = (typeof(((IOHIDDigitizerEventData*)event)->transducerType)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldDigitizerIdentity: \
            ((IOHIDDigitizerEventData*)event)->identity = (typeof(((IOHIDDigitizerEventData*)event)->identity)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldDigitizerEventMask: \
            ((IOHIDDigitizerEventData*)event)->eventMask = (typeof(((IOHIDDigitizerEventData*)event)->eventMask)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldDigitizerChildEventMask: \
            ((IOHIDDigitizerEventData*)event)->childEventMask = (typeof(((IOHIDDigitizerEventData*)event)->childEventMask)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldDigitizerButtonMask: \
            ((IOHIDDigitizerEventData*)event)->buttonMask = (typeof(((IOHIDDigitizerEventData*)event)->buttonMask)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldDigitizerPressure: \
            ((IOHIDDigitizerEventData*)event)->pressure = (typeof(((IOHIDDigitizerEventData*)event)->pressure)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldDigitizerAuxiliaryPressure: \
            ((IOHIDDigitizerEventData*)event)->auxPressure = (typeof(((IOHIDDigitizerEventData*)event)->auxPressure)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldDigitizerTwist: \
            ((IOHIDDigitizerEventData*)event)->twist = (typeof(((IOHIDDigitizerEventData*)event)->twist)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldDigitizerGenerationCount: \
            ((IOHIDDigitizerEventData*)event)->generationCount = (typeof(((IOHIDDigitizerEventData*)event)->generationCount)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldDigitizerWillUpdateMask: \
            ((IOHIDDigitizerEventData*)event)->willUpdateMask = (typeof(((IOHIDDigitizerEventData*)event)->willUpdateMask)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldDigitizerDidUpdateMask: \
            ((IOHIDDigitizerEventData*)event)->didUpdateMask = (typeof(((IOHIDDigitizerEventData*)event)->didUpdateMask)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldDigitizerAzimuth: \
        case kIOHIDEventFieldDigitizerQuality: \
        case kIOHIDEventFieldDigitizerQualityRadiiAccuracy: \
        case kIOHIDEventFieldDigitizerTiltX: \
        case kIOHIDEventFieldDigitizerTiltY: \
        case kIOHIDEventFieldDigitizerMajorRadius: \
        case kIOHIDEventFieldDigitizerMinorRadius: \
        case kIOHIDEventFieldDigitizerAltitude: \
        case kIOHIDEventFieldDigitizerDensity: \
        case kIOHIDEventFieldDigitizerIrregularity: \
            if (((IOHIDDigitizerEventData*)event)->orientationType == kIOHIDDigitizerOrientationTypePolar) {\
                switch (field) \
                {\
                    case kIOHIDEventFieldDigitizerAltitude: \
                        ((IOHIDDigitizerEventData*)event)->orientation.polar.altitude = (typeof(((IOHIDDigitizerEventData*)event)->orientation.polar.altitude)) CAST_FIXED_TO_FIXED(value); \
                        break; \
                    case kIOHIDEventFieldDigitizerAzimuth: \
                        ((IOHIDDigitizerEventData*)event)->orientation.polar.azimuth = (typeof(((IOHIDDigitizerEventData*)event)->orientation.polar.azimuth)) CAST_FIXED_TO_FIXED(value); \
                        break; \
                    case kIOHIDEventFieldDigitizerQuality: \
                        ((IOHIDDigitizerEventData*)event)->orientation.polar.quality = (typeof(((IOHIDDigitizerEventData*)event)->orientation.polar.quality)) CAST_FIXED_TO_FIXED(value); \
                        break; \
                    case kIOHIDEventFieldDigitizerDensity: \
                        ((IOHIDDigitizerEventData*)event)->orientation.polar.density = (typeof(((IOHIDDigitizerEventData*)event)->orientation.polar.density)) CAST_FIXED_TO_FIXED(value); \
                        break; \
                    case kIOHIDEventFieldDigitizerMajorRadius: \
                        ((IOHIDDigitizerEventData*)event)->orientation.polar.majorRadius = (typeof(((IOHIDDigitizerEventData*)event)->orientation.polar.majorRadius)) CAST_FIXED_TO_FIXED(value); \
                        break; \
                    case kIOHIDEventFieldDigitizerMinorRadius: \
                        ((IOHIDDigitizerEventData*)event)->orientation.polar.minorRadius = (typeof(((IOHIDDigitizerEventData*)event)->orientation.polar.minorRadius)) CAST_FIXED_TO_FIXED(value); \
                        break; \
                }\
                break;\
            }\
            if (((IOHIDDigitizerEventData*)event)->orientationType == kIOHIDDigitizerOrientationTypeQuality) {\
                switch (field) \
                {\
                    case kIOHIDEventFieldDigitizerQuality: \
                        ((IOHIDDigitizerEventData*)event)->orientation.quality.quality = (typeof(((IOHIDDigitizerEventData*)event)->orientation.quality.quality)) CAST_FIXED_TO_FIXED(value); \
                        break; \
                    case kIOHIDEventFieldDigitizerDensity: \
                        ((IOHIDDigitizerEventData*)event)->orientation.quality.density = (typeof(((IOHIDDigitizerEventData*)event)->orientation.quality.density)) CAST_FIXED_TO_FIXED(value); \
                        break; \
                    case kIOHIDEventFieldDigitizerIrregularity: \
                        ((IOHIDDigitizerEventData*)event)->orientation.quality.irregularity = (typeof(((IOHIDDigitizerEventData*)event)->orientation.quality.irregularity)) CAST_FIXED_TO_FIXED(value); \
                        break; \
                    case kIOHIDEventFieldDigitizerMajorRadius: \
                        ((IOHIDDigitizerEventData*)event)->orientation.quality.majorRadius = (typeof(((IOHIDDigitizerEventData*)event)->orientation.quality.majorRadius)) CAST_FIXED_TO_FIXED(value); \
                        break; \
                    case kIOHIDEventFieldDigitizerMinorRadius: \
                        ((IOHIDDigitizerEventData*)event)->orientation.quality.minorRadius = (typeof(((IOHIDDigitizerEventData*)event)->orientation.quality.minorRadius)) CAST_FIXED_TO_FIXED(value); \
                        break; \
                    case kIOHIDEventFieldDigitizerQualityRadiiAccuracy: \
                        ((IOHIDDigitizerEventData*)event)->orientation.quality.accuracy = (typeof(((IOHIDDigitizerEventData*)event)->orientation.quality.accuracy)) CAST_FIXED_TO_FIXED(value); \
                        break; \
                }\
                break;\
            }\
            if (((IOHIDDigitizerEventData*)event)->orientationType == kIOHIDDigitizerOrientationTypeTilt) {\
                switch (field) \
                {\
                    case kIOHIDEventFieldDigitizerTiltX: \
                        ((IOHIDDigitizerEventData*)event)->orientation.tilt.x = (typeof(((IOHIDDigitizerEventData*)event)->orientation.tilt.x)) CAST_FIXED_TO_FIXED(value); \
                        break; \
                    case kIOHIDEventFieldDigitizerTiltY: \
                        ((IOHIDDigitizerEventData*)event)->orientation.tilt.y = (typeof(((IOHIDDigitizerEventData*)event)->orientation.tilt.y)) CAST_FIXED_TO_FIXED(value); \
                        break; \
                }\
                break;\
            }\
            break;\
        _IOHIDDigitizerSetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDDigitizerGetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeDigitizer:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldDigitizerCollection: \
            value = (typeof(value))CAST_SHORTINTEGER_TO_FIXED(((IOHIDDigitizerEventData*)event)->options.collection); \
            break; \
        case kIOHIDEventFieldDigitizerRange: \
            value = (typeof(value))CAST_SHORTINTEGER_TO_FIXED(((IOHIDDigitizerEventData*)event)->options.range); \
            break; \
        case kIOHIDEventFieldDigitizerTouch: \
            value = (typeof(value))CAST_SHORTINTEGER_TO_FIXED(((IOHIDDigitizerEventData*)event)->options.touch); \
            break; \
        case kIOHIDEventFieldDigitizerIsDisplayIntegrated: \
            value = (typeof(value))CAST_SHORTINTEGER_TO_FIXED(((IOHIDDigitizerEventData*)event)->options.displayIntegrated); \
            break; \
        case kIOHIDEventFieldDigitizerX: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDDigitizerEventData*)event)->position.x); \
            break; \
        case kIOHIDEventFieldDigitizerY: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDDigitizerEventData*)event)->position.y); \
            break; \
        case kIOHIDEventFieldDigitizerZ: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDDigitizerEventData*)event)->position.z); \
            break; \
        case kIOHIDEventFieldDigitizerIndex: \
            value = (typeof(value))CAST_INTEGER_TO_FIXED(((IOHIDDigitizerEventData*)event)->transducerIndex); \
            break; \
        case kIOHIDEventFieldDigitizerType: \
            value = (typeof(value))CAST_INTEGER_TO_FIXED(((IOHIDDigitizerEventData*)event)->transducerType); \
            break; \
        case kIOHIDEventFieldDigitizerIdentity: \
            value = (typeof(value))CAST_INTEGER_TO_FIXED(((IOHIDDigitizerEventData*)event)->identity); \
            break; \
        case kIOHIDEventFieldDigitizerEventMask: \
            value = (typeof(value))CAST_INTEGER_TO_FIXED(((IOHIDDigitizerEventData*)event)->eventMask); \
            break; \
        case kIOHIDEventFieldDigitizerChildEventMask: \
            value = (typeof(value))CAST_INTEGER_TO_FIXED(((IOHIDDigitizerEventData*)event)->childEventMask); \
            break; \
        case kIOHIDEventFieldDigitizerButtonMask: \
            value = (typeof(value))CAST_INTEGER_TO_FIXED(((IOHIDDigitizerEventData*)event)->buttonMask); \
            break; \
        case kIOHIDEventFieldDigitizerPressure: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDDigitizerEventData*)event)->pressure); \
            break; \
        case kIOHIDEventFieldDigitizerAuxiliaryPressure: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDDigitizerEventData*)event)->auxPressure); \
            break; \
        case kIOHIDEventFieldDigitizerTwist: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDDigitizerEventData*)event)->twist); \
            break; \
        case kIOHIDEventFieldDigitizerOrientationType: \
            value = (typeof(value))CAST_INTEGER_TO_FIXED(((IOHIDDigitizerEventData*)event)->orientationType); \
            break; \
        case kIOHIDEventFieldDigitizerGenerationCount: \
            value = (typeof(value))CAST_INTEGER_TO_FIXED(((IOHIDDigitizerEventData*)event)->generationCount); \
            break; \
        case kIOHIDEventFieldDigitizerWillUpdateMask: \
            value = (typeof(value))CAST_INTEGER_TO_FIXED(((IOHIDDigitizerEventData*)event)->willUpdateMask); \
            break; \
        case kIOHIDEventFieldDigitizerDidUpdateMask: \
            value = (typeof(value))CAST_INTEGER_TO_FIXED(((IOHIDDigitizerEventData*)event)->didUpdateMask); \
            break; \
        case kIOHIDEventFieldDigitizerAzimuth: \
        case kIOHIDEventFieldDigitizerQuality: \
        case kIOHIDEventFieldDigitizerQualityRadiiAccuracy: \
        case kIOHIDEventFieldDigitizerTiltX: \
        case kIOHIDEventFieldDigitizerTiltY: \
        case kIOHIDEventFieldDigitizerMajorRadius: \
        case kIOHIDEventFieldDigitizerMinorRadius: \
        case kIOHIDEventFieldDigitizerAltitude: \
        case kIOHIDEventFieldDigitizerDensity: \
        case kIOHIDEventFieldDigitizerIrregularity: \
            if (((IOHIDDigitizerEventData*)event)->orientationType == kIOHIDDigitizerOrientationTypePolar) {\
                switch (field) \
                {\
                    case kIOHIDEventFieldDigitizerAltitude: \
                        value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDDigitizerEventData*)event)->orientation.polar.altitude); \
                        break; \
                    case kIOHIDEventFieldDigitizerAzimuth: \
                        value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDDigitizerEventData*)event)->orientation.polar.azimuth); \
                        break; \
                    case kIOHIDEventFieldDigitizerQuality: \
                        value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDDigitizerEventData*)event)->orientation.polar.quality); \
                        break; \
                    case kIOHIDEventFieldDigitizerDensity: \
                        value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDDigitizerEventData*)event)->orientation.polar.density); \
                        break; \
                    case kIOHIDEventFieldDigitizerMajorRadius: \
                        value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDDigitizerEventData*)event)->orientation.polar.majorRadius); \
                        break; \
                    case kIOHIDEventFieldDigitizerMinorRadius: \
                        value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDDigitizerEventData*)event)->orientation.polar.minorRadius); \
                        break; \
                }\
                break;\
            }\
            if (((IOHIDDigitizerEventData*)event)->orientationType == kIOHIDDigitizerOrientationTypeQuality) {\
                switch (field) \
                {\
                    case kIOHIDEventFieldDigitizerQuality: \
                        value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDDigitizerEventData*)event)->orientation.quality.quality); \
                        break; \
                    case kIOHIDEventFieldDigitizerDensity: \
                        value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDDigitizerEventData*)event)->orientation.quality.density); \
                        break; \
                    case kIOHIDEventFieldDigitizerIrregularity: \
                        value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDDigitizerEventData*)event)->orientation.quality.irregularity); \
                        break; \
                    case kIOHIDEventFieldDigitizerMajorRadius: \
                        value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDDigitizerEventData*)event)->orientation.quality.majorRadius); \
                        break; \
                    case kIOHIDEventFieldDigitizerMinorRadius: \
                        value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDDigitizerEventData*)event)->orientation.quality.minorRadius); \
                        break; \
                    case kIOHIDEventFieldDigitizerQualityRadiiAccuracy: \
                        value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDDigitizerEventData*)event)->orientation.quality.accuracy); \
                        break; \
                }\
                break;\
            }\
            if (((IOHIDDigitizerEventData*)event)->orientationType == kIOHIDDigitizerOrientationTypeTilt) {\
                switch (field) \
                {\
                    case kIOHIDEventFieldDigitizerTiltX: \
                        value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDDigitizerEventData*)event)->orientation.tilt.x); \
                        break; \
                    case kIOHIDEventFieldDigitizerTiltY: \
                        value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDDigitizerEventData*)event)->orientation.tilt.y); \
                        break; \
                }\
                break;\
            }\
            break;\
        _IOHIDDigitizerGetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDDigitizerSetFieldsAsDataMacro(event, field) \

#define _IOHIDDigitizerGetFieldsAsDataMacro(event, field) \

#define _IOHIDCompassSetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeCompass:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldCompassX: \
            ((IOHIDCompassEventData*)event)->position.x = (typeof(((IOHIDCompassEventData*)event)->position.x)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldCompassY: \
            ((IOHIDCompassEventData*)event)->position.y = (typeof(((IOHIDCompassEventData*)event)->position.y)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldCompassZ: \
            ((IOHIDCompassEventData*)event)->position.z = (typeof(((IOHIDCompassEventData*)event)->position.z)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldCompassType: \
            ((IOHIDCompassEventData*)event)->motionType = (typeof(((IOHIDCompassEventData*)event)->motionType)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldCompassSubType: \
            ((IOHIDCompassEventData*)event)->motionSubType = (typeof(((IOHIDCompassEventData*)event)->motionSubType)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldCompassSequence: \
            ((IOHIDCompassEventData*)event)->motionSequence = (typeof(((IOHIDCompassEventData*)event)->motionSequence)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        _IOHIDCompassSetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDCompassGetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeCompass:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldCompassX: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDCompassEventData*)event)->position.x); \
            break; \
        case kIOHIDEventFieldCompassY: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDCompassEventData*)event)->position.y); \
            break; \
        case kIOHIDEventFieldCompassZ: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDCompassEventData*)event)->position.z); \
            break; \
        case kIOHIDEventFieldCompassType: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDCompassEventData*)event)->motionType); \
            break; \
        case kIOHIDEventFieldCompassSubType: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDCompassEventData*)event)->motionSubType); \
            break; \
        case kIOHIDEventFieldCompassSequence: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDCompassEventData*)event)->motionSequence); \
            break; \
        _IOHIDCompassGetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDCompassSetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeCompass:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldCompassX: \
            ((IOHIDCompassEventData*)event)->position.x = (typeof(((IOHIDCompassEventData*)event)->position.x)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldCompassY: \
            ((IOHIDCompassEventData*)event)->position.y = (typeof(((IOHIDCompassEventData*)event)->position.y)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldCompassZ: \
            ((IOHIDCompassEventData*)event)->position.z = (typeof(((IOHIDCompassEventData*)event)->position.z)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldCompassType: \
            ((IOHIDCompassEventData*)event)->motionType = (typeof(((IOHIDCompassEventData*)event)->motionType)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldCompassSubType: \
            ((IOHIDCompassEventData*)event)->motionSubType = (typeof(((IOHIDCompassEventData*)event)->motionSubType)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldCompassSequence: \
            ((IOHIDCompassEventData*)event)->motionSequence = (typeof(((IOHIDCompassEventData*)event)->motionSequence)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        _IOHIDCompassSetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDCompassGetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeCompass:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldCompassX: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDCompassEventData*)event)->position.x); \
            break; \
        case kIOHIDEventFieldCompassY: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDCompassEventData*)event)->position.y); \
            break; \
        case kIOHIDEventFieldCompassZ: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDCompassEventData*)event)->position.z); \
            break; \
        case kIOHIDEventFieldCompassType: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDCompassEventData*)event)->motionType); \
            break; \
        case kIOHIDEventFieldCompassSubType: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDCompassEventData*)event)->motionSubType); \
            break; \
        case kIOHIDEventFieldCompassSequence: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDCompassEventData*)event)->motionSequence); \
            break; \
        _IOHIDCompassGetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDCompassSetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeCompass:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldCompassX: \
            ((IOHIDCompassEventData*)event)->position.x = (typeof(((IOHIDCompassEventData*)event)->position.x)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldCompassY: \
            ((IOHIDCompassEventData*)event)->position.y = (typeof(((IOHIDCompassEventData*)event)->position.y)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldCompassZ: \
            ((IOHIDCompassEventData*)event)->position.z = (typeof(((IOHIDCompassEventData*)event)->position.z)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldCompassType: \
            ((IOHIDCompassEventData*)event)->motionType = (typeof(((IOHIDCompassEventData*)event)->motionType)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldCompassSubType: \
            ((IOHIDCompassEventData*)event)->motionSubType = (typeof(((IOHIDCompassEventData*)event)->motionSubType)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldCompassSequence: \
            ((IOHIDCompassEventData*)event)->motionSequence = (typeof(((IOHIDCompassEventData*)event)->motionSequence)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        _IOHIDCompassSetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDCompassGetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeCompass:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldCompassX: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDCompassEventData*)event)->position.x); \
            break; \
        case kIOHIDEventFieldCompassY: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDCompassEventData*)event)->position.y); \
            break; \
        case kIOHIDEventFieldCompassZ: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDCompassEventData*)event)->position.z); \
            break; \
        case kIOHIDEventFieldCompassType: \
            value = (typeof(value))CAST_INTEGER_TO_FIXED(((IOHIDCompassEventData*)event)->motionType); \
            break; \
        case kIOHIDEventFieldCompassSubType: \
            value = (typeof(value))CAST_INTEGER_TO_FIXED(((IOHIDCompassEventData*)event)->motionSubType); \
            break; \
        case kIOHIDEventFieldCompassSequence: \
            value = (typeof(value))CAST_INTEGER_TO_FIXED(((IOHIDCompassEventData*)event)->motionSequence); \
            break; \
        _IOHIDCompassGetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDCompassSetFieldsAsDataMacro(event, field) \

#define _IOHIDCompassGetFieldsAsDataMacro(event, field) \

#define _IOHIDRotationSetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeRotation:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldRotationX: \
            ((IOHIDRotationEventData*)event)->position.x = (typeof(((IOHIDRotationEventData*)event)->position.x)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldRotationY: \
            ((IOHIDRotationEventData*)event)->position.y = (typeof(((IOHIDRotationEventData*)event)->position.y)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldRotationZ: \
            ((IOHIDRotationEventData*)event)->position.z = (typeof(((IOHIDRotationEventData*)event)->position.z)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        _IOHIDRotationSetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDRotationGetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeRotation:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldRotationX: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDRotationEventData*)event)->position.x); \
            break; \
        case kIOHIDEventFieldRotationY: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDRotationEventData*)event)->position.y); \
            break; \
        case kIOHIDEventFieldRotationZ: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDRotationEventData*)event)->position.z); \
            break; \
        _IOHIDRotationGetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDRotationSetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeRotation:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldRotationX: \
            ((IOHIDRotationEventData*)event)->position.x = (typeof(((IOHIDRotationEventData*)event)->position.x)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldRotationY: \
            ((IOHIDRotationEventData*)event)->position.y = (typeof(((IOHIDRotationEventData*)event)->position.y)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldRotationZ: \
            ((IOHIDRotationEventData*)event)->position.z = (typeof(((IOHIDRotationEventData*)event)->position.z)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        _IOHIDRotationSetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDRotationGetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeRotation:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldRotationX: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDRotationEventData*)event)->position.x); \
            break; \
        case kIOHIDEventFieldRotationY: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDRotationEventData*)event)->position.y); \
            break; \
        case kIOHIDEventFieldRotationZ: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDRotationEventData*)event)->position.z); \
            break; \
        _IOHIDRotationGetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDRotationSetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeRotation:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldRotationX: \
            ((IOHIDRotationEventData*)event)->position.x = (typeof(((IOHIDRotationEventData*)event)->position.x)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldRotationY: \
            ((IOHIDRotationEventData*)event)->position.y = (typeof(((IOHIDRotationEventData*)event)->position.y)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldRotationZ: \
            ((IOHIDRotationEventData*)event)->position.z = (typeof(((IOHIDRotationEventData*)event)->position.z)) CAST_FIXED_TO_FIXED(value); \
            break; \
        _IOHIDRotationSetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDRotationGetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeRotation:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldRotationX: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDRotationEventData*)event)->position.x); \
            break; \
        case kIOHIDEventFieldRotationY: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDRotationEventData*)event)->position.y); \
            break; \
        case kIOHIDEventFieldRotationZ: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDRotationEventData*)event)->position.z); \
            break; \
        _IOHIDRotationGetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDRotationSetFieldsAsDataMacro(event, field) \

#define _IOHIDRotationGetFieldsAsDataMacro(event, field) \

#define _IOHIDMotionActivitySetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeMotionActivity:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldMotionActivityActivityType: \
            ((IOHIDMotionActivityEventData*)event)->activityType = (typeof(((IOHIDMotionActivityEventData*)event)->activityType)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldMotionActivityConfidence: \
            ((IOHIDMotionActivityEventData*)event)->confidence = (typeof(((IOHIDMotionActivityEventData*)event)->confidence)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        _IOHIDMotionActivitySetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDMotionActivityGetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeMotionActivity:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldMotionActivityActivityType: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDMotionActivityEventData*)event)->activityType); \
            break; \
        case kIOHIDEventFieldMotionActivityConfidence: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDMotionActivityEventData*)event)->confidence); \
            break; \
        _IOHIDMotionActivityGetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDMotionActivitySetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeMotionActivity:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldMotionActivityActivityType: \
            ((IOHIDMotionActivityEventData*)event)->activityType = (typeof(((IOHIDMotionActivityEventData*)event)->activityType)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldMotionActivityConfidence: \
            ((IOHIDMotionActivityEventData*)event)->confidence = (typeof(((IOHIDMotionActivityEventData*)event)->confidence)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        _IOHIDMotionActivitySetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDMotionActivityGetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeMotionActivity:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldMotionActivityActivityType: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDMotionActivityEventData*)event)->activityType); \
            break; \
        case kIOHIDEventFieldMotionActivityConfidence: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDMotionActivityEventData*)event)->confidence); \
            break; \
        _IOHIDMotionActivityGetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDMotionActivitySetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeMotionActivity:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldMotionActivityActivityType: \
            ((IOHIDMotionActivityEventData*)event)->activityType = (typeof(((IOHIDMotionActivityEventData*)event)->activityType)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldMotionActivityConfidence: \
            ((IOHIDMotionActivityEventData*)event)->confidence = (typeof(((IOHIDMotionActivityEventData*)event)->confidence)) CAST_FIXED_TO_FIXED(value); \
            break; \
        _IOHIDMotionActivitySetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDMotionActivityGetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeMotionActivity:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldMotionActivityActivityType: \
            value = (typeof(value))CAST_INTEGER_TO_FIXED(((IOHIDMotionActivityEventData*)event)->activityType); \
            break; \
        case kIOHIDEventFieldMotionActivityConfidence: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDMotionActivityEventData*)event)->confidence); \
            break; \
        _IOHIDMotionActivityGetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDMotionActivitySetFieldsAsDataMacro(event, field) \

#define _IOHIDMotionActivityGetFieldsAsDataMacro(event, field) \

#define _IOHIDMultiAxisPointerSetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeMultiAxisPointer:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldMultiAxisPointerX: \
            ((IOHIDMultiAxisPointerEventData*)event)->position.x = (typeof(((IOHIDMultiAxisPointerEventData*)event)->position.x)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldMultiAxisPointerY: \
            ((IOHIDMultiAxisPointerEventData*)event)->position.y = (typeof(((IOHIDMultiAxisPointerEventData*)event)->position.y)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldMultiAxisPointerZ: \
            ((IOHIDMultiAxisPointerEventData*)event)->position.z = (typeof(((IOHIDMultiAxisPointerEventData*)event)->position.z)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldMultiAxisPointerButtonMask: \
            ((IOHIDMultiAxisPointerEventData*)event)->button.mask = (typeof(((IOHIDMultiAxisPointerEventData*)event)->button.mask)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldMultiAxisPointerRx: \
            ((IOHIDMultiAxisPointerEventData*)event)->rotation.x = (typeof(((IOHIDMultiAxisPointerEventData*)event)->rotation.x)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldMultiAxisPointerRy: \
            ((IOHIDMultiAxisPointerEventData*)event)->rotation.y = (typeof(((IOHIDMultiAxisPointerEventData*)event)->rotation.y)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldMultiAxisPointerRz: \
            ((IOHIDMultiAxisPointerEventData*)event)->rotation.z = (typeof(((IOHIDMultiAxisPointerEventData*)event)->rotation.z)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        _IOHIDMultiAxisPointerSetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDMultiAxisPointerGetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeMultiAxisPointer:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldMultiAxisPointerX: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDMultiAxisPointerEventData*)event)->position.x); \
            break; \
        case kIOHIDEventFieldMultiAxisPointerY: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDMultiAxisPointerEventData*)event)->position.y); \
            break; \
        case kIOHIDEventFieldMultiAxisPointerZ: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDMultiAxisPointerEventData*)event)->position.z); \
            break; \
        case kIOHIDEventFieldMultiAxisPointerButtonMask: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDMultiAxisPointerEventData*)event)->button.mask); \
            break; \
        case kIOHIDEventFieldMultiAxisPointerRx: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDMultiAxisPointerEventData*)event)->rotation.x); \
            break; \
        case kIOHIDEventFieldMultiAxisPointerRy: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDMultiAxisPointerEventData*)event)->rotation.y); \
            break; \
        case kIOHIDEventFieldMultiAxisPointerRz: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDMultiAxisPointerEventData*)event)->rotation.z); \
            break; \
        _IOHIDMultiAxisPointerGetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDMultiAxisPointerSetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeMultiAxisPointer:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldMultiAxisPointerX: \
            ((IOHIDMultiAxisPointerEventData*)event)->position.x = (typeof(((IOHIDMultiAxisPointerEventData*)event)->position.x)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldMultiAxisPointerY: \
            ((IOHIDMultiAxisPointerEventData*)event)->position.y = (typeof(((IOHIDMultiAxisPointerEventData*)event)->position.y)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldMultiAxisPointerZ: \
            ((IOHIDMultiAxisPointerEventData*)event)->position.z = (typeof(((IOHIDMultiAxisPointerEventData*)event)->position.z)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldMultiAxisPointerButtonMask: \
            ((IOHIDMultiAxisPointerEventData*)event)->button.mask = (typeof(((IOHIDMultiAxisPointerEventData*)event)->button.mask)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldMultiAxisPointerRx: \
            ((IOHIDMultiAxisPointerEventData*)event)->rotation.x = (typeof(((IOHIDMultiAxisPointerEventData*)event)->rotation.x)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldMultiAxisPointerRy: \
            ((IOHIDMultiAxisPointerEventData*)event)->rotation.y = (typeof(((IOHIDMultiAxisPointerEventData*)event)->rotation.y)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldMultiAxisPointerRz: \
            ((IOHIDMultiAxisPointerEventData*)event)->rotation.z = (typeof(((IOHIDMultiAxisPointerEventData*)event)->rotation.z)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        _IOHIDMultiAxisPointerSetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDMultiAxisPointerGetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeMultiAxisPointer:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldMultiAxisPointerX: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDMultiAxisPointerEventData*)event)->position.x); \
            break; \
        case kIOHIDEventFieldMultiAxisPointerY: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDMultiAxisPointerEventData*)event)->position.y); \
            break; \
        case kIOHIDEventFieldMultiAxisPointerZ: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDMultiAxisPointerEventData*)event)->position.z); \
            break; \
        case kIOHIDEventFieldMultiAxisPointerButtonMask: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDMultiAxisPointerEventData*)event)->button.mask); \
            break; \
        case kIOHIDEventFieldMultiAxisPointerRx: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDMultiAxisPointerEventData*)event)->rotation.x); \
            break; \
        case kIOHIDEventFieldMultiAxisPointerRy: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDMultiAxisPointerEventData*)event)->rotation.y); \
            break; \
        case kIOHIDEventFieldMultiAxisPointerRz: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDMultiAxisPointerEventData*)event)->rotation.z); \
            break; \
        _IOHIDMultiAxisPointerGetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDMultiAxisPointerSetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeMultiAxisPointer:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldMultiAxisPointerX: \
            ((IOHIDMultiAxisPointerEventData*)event)->position.x = (typeof(((IOHIDMultiAxisPointerEventData*)event)->position.x)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldMultiAxisPointerY: \
            ((IOHIDMultiAxisPointerEventData*)event)->position.y = (typeof(((IOHIDMultiAxisPointerEventData*)event)->position.y)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldMultiAxisPointerZ: \
            ((IOHIDMultiAxisPointerEventData*)event)->position.z = (typeof(((IOHIDMultiAxisPointerEventData*)event)->position.z)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldMultiAxisPointerButtonMask: \
            ((IOHIDMultiAxisPointerEventData*)event)->button.mask = (typeof(((IOHIDMultiAxisPointerEventData*)event)->button.mask)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldMultiAxisPointerRx: \
            ((IOHIDMultiAxisPointerEventData*)event)->rotation.x = (typeof(((IOHIDMultiAxisPointerEventData*)event)->rotation.x)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldMultiAxisPointerRy: \
            ((IOHIDMultiAxisPointerEventData*)event)->rotation.y = (typeof(((IOHIDMultiAxisPointerEventData*)event)->rotation.y)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldMultiAxisPointerRz: \
            ((IOHIDMultiAxisPointerEventData*)event)->rotation.z = (typeof(((IOHIDMultiAxisPointerEventData*)event)->rotation.z)) CAST_FIXED_TO_FIXED(value); \
            break; \
        _IOHIDMultiAxisPointerSetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDMultiAxisPointerGetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeMultiAxisPointer:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldMultiAxisPointerX: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDMultiAxisPointerEventData*)event)->position.x); \
            break; \
        case kIOHIDEventFieldMultiAxisPointerY: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDMultiAxisPointerEventData*)event)->position.y); \
            break; \
        case kIOHIDEventFieldMultiAxisPointerZ: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDMultiAxisPointerEventData*)event)->position.z); \
            break; \
        case kIOHIDEventFieldMultiAxisPointerButtonMask: \
            value = (typeof(value))CAST_INTEGER_TO_FIXED(((IOHIDMultiAxisPointerEventData*)event)->button.mask); \
            break; \
        case kIOHIDEventFieldMultiAxisPointerRx: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDMultiAxisPointerEventData*)event)->rotation.x); \
            break; \
        case kIOHIDEventFieldMultiAxisPointerRy: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDMultiAxisPointerEventData*)event)->rotation.y); \
            break; \
        case kIOHIDEventFieldMultiAxisPointerRz: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDMultiAxisPointerEventData*)event)->rotation.z); \
            break; \
        _IOHIDMultiAxisPointerGetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDMultiAxisPointerSetFieldsAsDataMacro(event, field) \

#define _IOHIDMultiAxisPointerGetFieldsAsDataMacro(event, field) \

#define _IOHIDBrightnessSetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeBrightness:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldCurrentBrightness: \
            ((IOHIDBrightnessEventData*)event)->currentBrightness = (typeof(((IOHIDBrightnessEventData*)event)->currentBrightness)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldTargetBrightness: \
            ((IOHIDBrightnessEventData*)event)->targetBrightness = (typeof(((IOHIDBrightnessEventData*)event)->targetBrightness)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldTransitionTime: \
            ((IOHIDBrightnessEventData*)event)->transitionTime = (typeof(((IOHIDBrightnessEventData*)event)->transitionTime)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        _IOHIDBrightnessSetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDBrightnessGetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeBrightness:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldCurrentBrightness: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDBrightnessEventData*)event)->currentBrightness); \
            break; \
        case kIOHIDEventFieldTargetBrightness: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDBrightnessEventData*)event)->targetBrightness); \
            break; \
        case kIOHIDEventFieldTransitionTime: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDBrightnessEventData*)event)->transitionTime); \
            break; \
        _IOHIDBrightnessGetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDBrightnessSetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeBrightness:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldCurrentBrightness: \
            ((IOHIDBrightnessEventData*)event)->currentBrightness = (typeof(((IOHIDBrightnessEventData*)event)->currentBrightness)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldTargetBrightness: \
            ((IOHIDBrightnessEventData*)event)->targetBrightness = (typeof(((IOHIDBrightnessEventData*)event)->targetBrightness)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldTransitionTime: \
            ((IOHIDBrightnessEventData*)event)->transitionTime = (typeof(((IOHIDBrightnessEventData*)event)->transitionTime)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        _IOHIDBrightnessSetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDBrightnessGetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeBrightness:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldCurrentBrightness: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDBrightnessEventData*)event)->currentBrightness); \
            break; \
        case kIOHIDEventFieldTargetBrightness: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDBrightnessEventData*)event)->targetBrightness); \
            break; \
        case kIOHIDEventFieldTransitionTime: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDBrightnessEventData*)event)->transitionTime); \
            break; \
        _IOHIDBrightnessGetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDBrightnessSetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeBrightness:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldCurrentBrightness: \
            ((IOHIDBrightnessEventData*)event)->currentBrightness = (typeof(((IOHIDBrightnessEventData*)event)->currentBrightness)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldTargetBrightness: \
            ((IOHIDBrightnessEventData*)event)->targetBrightness = (typeof(((IOHIDBrightnessEventData*)event)->targetBrightness)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldTransitionTime: \
            ((IOHIDBrightnessEventData*)event)->transitionTime = (typeof(((IOHIDBrightnessEventData*)event)->transitionTime)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        _IOHIDBrightnessSetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDBrightnessGetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeBrightness:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldCurrentBrightness: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDBrightnessEventData*)event)->currentBrightness); \
            break; \
        case kIOHIDEventFieldTargetBrightness: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDBrightnessEventData*)event)->targetBrightness); \
            break; \
        case kIOHIDEventFieldTransitionTime: \
            value = (typeof(value))CAST_INTEGER_TO_FIXED(((IOHIDBrightnessEventData*)event)->transitionTime); \
            break; \
        _IOHIDBrightnessGetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDBrightnessSetFieldsAsDataMacro(event, field) \

#define _IOHIDBrightnessGetFieldsAsDataMacro(event, field) \

#define _IOHIDGyroSetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeGyro:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldGyroX: \
            ((IOHIDGyroEventData*)event)->position.x = (typeof(((IOHIDGyroEventData*)event)->position.x)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldGyroY: \
            ((IOHIDGyroEventData*)event)->position.y = (typeof(((IOHIDGyroEventData*)event)->position.y)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldGyroZ: \
            ((IOHIDGyroEventData*)event)->position.z = (typeof(((IOHIDGyroEventData*)event)->position.z)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldGyroType: \
            ((IOHIDGyroEventData*)event)->motionType = (typeof(((IOHIDGyroEventData*)event)->motionType)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldGyroSubType: \
            ((IOHIDGyroEventData*)event)->motionSubType = (typeof(((IOHIDGyroEventData*)event)->motionSubType)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldGyroSequence: \
            ((IOHIDGyroEventData*)event)->motionSequence = (typeof(((IOHIDGyroEventData*)event)->motionSequence)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        _IOHIDGyroSetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDGyroGetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeGyro:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldGyroX: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDGyroEventData*)event)->position.x); \
            break; \
        case kIOHIDEventFieldGyroY: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDGyroEventData*)event)->position.y); \
            break; \
        case kIOHIDEventFieldGyroZ: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDGyroEventData*)event)->position.z); \
            break; \
        case kIOHIDEventFieldGyroType: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDGyroEventData*)event)->motionType); \
            break; \
        case kIOHIDEventFieldGyroSubType: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDGyroEventData*)event)->motionSubType); \
            break; \
        case kIOHIDEventFieldGyroSequence: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDGyroEventData*)event)->motionSequence); \
            break; \
        _IOHIDGyroGetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDGyroSetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeGyro:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldGyroX: \
            ((IOHIDGyroEventData*)event)->position.x = (typeof(((IOHIDGyroEventData*)event)->position.x)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldGyroY: \
            ((IOHIDGyroEventData*)event)->position.y = (typeof(((IOHIDGyroEventData*)event)->position.y)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldGyroZ: \
            ((IOHIDGyroEventData*)event)->position.z = (typeof(((IOHIDGyroEventData*)event)->position.z)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldGyroType: \
            ((IOHIDGyroEventData*)event)->motionType = (typeof(((IOHIDGyroEventData*)event)->motionType)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldGyroSubType: \
            ((IOHIDGyroEventData*)event)->motionSubType = (typeof(((IOHIDGyroEventData*)event)->motionSubType)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldGyroSequence: \
            ((IOHIDGyroEventData*)event)->motionSequence = (typeof(((IOHIDGyroEventData*)event)->motionSequence)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        _IOHIDGyroSetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDGyroGetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeGyro:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldGyroX: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDGyroEventData*)event)->position.x); \
            break; \
        case kIOHIDEventFieldGyroY: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDGyroEventData*)event)->position.y); \
            break; \
        case kIOHIDEventFieldGyroZ: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDGyroEventData*)event)->position.z); \
            break; \
        case kIOHIDEventFieldGyroType: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDGyroEventData*)event)->motionType); \
            break; \
        case kIOHIDEventFieldGyroSubType: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDGyroEventData*)event)->motionSubType); \
            break; \
        case kIOHIDEventFieldGyroSequence: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDGyroEventData*)event)->motionSequence); \
            break; \
        _IOHIDGyroGetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDGyroSetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeGyro:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldGyroX: \
            ((IOHIDGyroEventData*)event)->position.x = (typeof(((IOHIDGyroEventData*)event)->position.x)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldGyroY: \
            ((IOHIDGyroEventData*)event)->position.y = (typeof(((IOHIDGyroEventData*)event)->position.y)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldGyroZ: \
            ((IOHIDGyroEventData*)event)->position.z = (typeof(((IOHIDGyroEventData*)event)->position.z)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldGyroType: \
            ((IOHIDGyroEventData*)event)->motionType = (typeof(((IOHIDGyroEventData*)event)->motionType)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldGyroSubType: \
            ((IOHIDGyroEventData*)event)->motionSubType = (typeof(((IOHIDGyroEventData*)event)->motionSubType)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldGyroSequence: \
            ((IOHIDGyroEventData*)event)->motionSequence = (typeof(((IOHIDGyroEventData*)event)->motionSequence)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        _IOHIDGyroSetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDGyroGetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeGyro:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldGyroX: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDGyroEventData*)event)->position.x); \
            break; \
        case kIOHIDEventFieldGyroY: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDGyroEventData*)event)->position.y); \
            break; \
        case kIOHIDEventFieldGyroZ: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDGyroEventData*)event)->position.z); \
            break; \
        case kIOHIDEventFieldGyroType: \
            value = (typeof(value))CAST_INTEGER_TO_FIXED(((IOHIDGyroEventData*)event)->motionType); \
            break; \
        case kIOHIDEventFieldGyroSubType: \
            value = (typeof(value))CAST_INTEGER_TO_FIXED(((IOHIDGyroEventData*)event)->motionSubType); \
            break; \
        case kIOHIDEventFieldGyroSequence: \
            value = (typeof(value))CAST_INTEGER_TO_FIXED(((IOHIDGyroEventData*)event)->motionSequence); \
            break; \
        _IOHIDGyroGetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDGyroSetFieldsAsDataMacro(event, field) \

#define _IOHIDGyroGetFieldsAsDataMacro(event, field) \

#define _IOHIDButtonSetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeButton:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldButtonMask: \
            ((IOHIDButtonEventData*)event)->mask = (typeof(((IOHIDButtonEventData*)event)->mask)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldButtonPressure: \
            ((IOHIDButtonEventData*)event)->pressure = (typeof(((IOHIDButtonEventData*)event)->pressure)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldButtonNumber: \
            ((IOHIDButtonEventData*)event)->number = (typeof(((IOHIDButtonEventData*)event)->number)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldButtonClickCount: \
            ((IOHIDButtonEventData*)event)->clickCount = (typeof(((IOHIDButtonEventData*)event)->clickCount)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldButtonState: \
            ((IOHIDButtonEventData*)event)->state = (typeof(((IOHIDButtonEventData*)event)->state)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        _IOHIDButtonSetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDButtonGetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeButton:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldButtonMask: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDButtonEventData*)event)->mask); \
            break; \
        case kIOHIDEventFieldButtonPressure: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDButtonEventData*)event)->pressure); \
            break; \
        case kIOHIDEventFieldButtonNumber: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDButtonEventData*)event)->number); \
            break; \
        case kIOHIDEventFieldButtonClickCount: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDButtonEventData*)event)->clickCount); \
            break; \
        case kIOHIDEventFieldButtonState: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDButtonEventData*)event)->state); \
            break; \
        _IOHIDButtonGetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDButtonSetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeButton:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldButtonMask: \
            ((IOHIDButtonEventData*)event)->mask = (typeof(((IOHIDButtonEventData*)event)->mask)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldButtonPressure: \
            ((IOHIDButtonEventData*)event)->pressure = (typeof(((IOHIDButtonEventData*)event)->pressure)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldButtonNumber: \
            ((IOHIDButtonEventData*)event)->number = (typeof(((IOHIDButtonEventData*)event)->number)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldButtonClickCount: \
            ((IOHIDButtonEventData*)event)->clickCount = (typeof(((IOHIDButtonEventData*)event)->clickCount)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldButtonState: \
            ((IOHIDButtonEventData*)event)->state = (typeof(((IOHIDButtonEventData*)event)->state)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        _IOHIDButtonSetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDButtonGetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeButton:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldButtonMask: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDButtonEventData*)event)->mask); \
            break; \
        case kIOHIDEventFieldButtonPressure: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDButtonEventData*)event)->pressure); \
            break; \
        case kIOHIDEventFieldButtonNumber: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDButtonEventData*)event)->number); \
            break; \
        case kIOHIDEventFieldButtonClickCount: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDButtonEventData*)event)->clickCount); \
            break; \
        case kIOHIDEventFieldButtonState: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDButtonEventData*)event)->state); \
            break; \
        _IOHIDButtonGetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDButtonSetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeButton:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldButtonMask: \
            ((IOHIDButtonEventData*)event)->mask = (typeof(((IOHIDButtonEventData*)event)->mask)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldButtonPressure: \
            ((IOHIDButtonEventData*)event)->pressure = (typeof(((IOHIDButtonEventData*)event)->pressure)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldButtonNumber: \
            ((IOHIDButtonEventData*)event)->number = (typeof(((IOHIDButtonEventData*)event)->number)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldButtonClickCount: \
            ((IOHIDButtonEventData*)event)->clickCount = (typeof(((IOHIDButtonEventData*)event)->clickCount)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldButtonState: \
            ((IOHIDButtonEventData*)event)->state = (typeof(((IOHIDButtonEventData*)event)->state)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        _IOHIDButtonSetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDButtonGetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeButton:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldButtonMask: \
            value = (typeof(value))CAST_INTEGER_TO_FIXED(((IOHIDButtonEventData*)event)->mask); \
            break; \
        case kIOHIDEventFieldButtonPressure: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDButtonEventData*)event)->pressure); \
            break; \
        case kIOHIDEventFieldButtonNumber: \
            value = (typeof(value))CAST_SHORTINTEGER_TO_FIXED(((IOHIDButtonEventData*)event)->number); \
            break; \
        case kIOHIDEventFieldButtonClickCount: \
            value = (typeof(value))CAST_SHORTINTEGER_TO_FIXED(((IOHIDButtonEventData*)event)->clickCount); \
            break; \
        case kIOHIDEventFieldButtonState: \
            value = (typeof(value))CAST_INTEGER_TO_FIXED(((IOHIDButtonEventData*)event)->state); \
            break; \
        _IOHIDButtonGetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDButtonSetFieldsAsDataMacro(event, field) \

#define _IOHIDButtonGetFieldsAsDataMacro(event, field) \

#define _IOHIDNavigationSwipeSetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeNavigationSwipe:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldNavigationSwipePositionX: \
            ((IOHIDNavigationSwipeEventData*)event)->position.x = (typeof(((IOHIDNavigationSwipeEventData*)event)->position.x)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldNavigationSwipePositionY: \
            ((IOHIDNavigationSwipeEventData*)event)->position.y = (typeof(((IOHIDNavigationSwipeEventData*)event)->position.y)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldNavigationSwipePositionZ: \
            ((IOHIDNavigationSwipeEventData*)event)->position.z = (typeof(((IOHIDNavigationSwipeEventData*)event)->position.z)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldNavigationSwipeMask: \
            ((IOHIDNavigationSwipeEventData*)event)->swipeMask = (typeof(((IOHIDNavigationSwipeEventData*)event)->swipeMask)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldNavigationSwipeMotion: \
            ((IOHIDNavigationSwipeEventData*)event)->gestureMotion = (typeof(((IOHIDNavigationSwipeEventData*)event)->gestureMotion)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldNavigationSwipeFlavor: \
            ((IOHIDNavigationSwipeEventData*)event)->flavor = (typeof(((IOHIDNavigationSwipeEventData*)event)->flavor)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldNavigationSwipeProgress: \
            ((IOHIDNavigationSwipeEventData*)event)->progress = (typeof(((IOHIDNavigationSwipeEventData*)event)->progress)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        _IOHIDNavigationSwipeSetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDNavigationSwipeGetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeNavigationSwipe:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldNavigationSwipePositionX: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDNavigationSwipeEventData*)event)->position.x); \
            break; \
        case kIOHIDEventFieldNavigationSwipePositionY: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDNavigationSwipeEventData*)event)->position.y); \
            break; \
        case kIOHIDEventFieldNavigationSwipePositionZ: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDNavigationSwipeEventData*)event)->position.z); \
            break; \
        case kIOHIDEventFieldNavigationSwipeMask: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDNavigationSwipeEventData*)event)->swipeMask); \
            break; \
        case kIOHIDEventFieldNavigationSwipeMotion: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDNavigationSwipeEventData*)event)->gestureMotion); \
            break; \
        case kIOHIDEventFieldNavigationSwipeFlavor: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDNavigationSwipeEventData*)event)->flavor); \
            break; \
        case kIOHIDEventFieldNavigationSwipeProgress: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDNavigationSwipeEventData*)event)->progress); \
            break; \
        _IOHIDNavigationSwipeGetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDNavigationSwipeSetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeNavigationSwipe:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldNavigationSwipePositionX: \
            ((IOHIDNavigationSwipeEventData*)event)->position.x = (typeof(((IOHIDNavigationSwipeEventData*)event)->position.x)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldNavigationSwipePositionY: \
            ((IOHIDNavigationSwipeEventData*)event)->position.y = (typeof(((IOHIDNavigationSwipeEventData*)event)->position.y)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldNavigationSwipePositionZ: \
            ((IOHIDNavigationSwipeEventData*)event)->position.z = (typeof(((IOHIDNavigationSwipeEventData*)event)->position.z)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldNavigationSwipeMask: \
            ((IOHIDNavigationSwipeEventData*)event)->swipeMask = (typeof(((IOHIDNavigationSwipeEventData*)event)->swipeMask)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldNavigationSwipeMotion: \
            ((IOHIDNavigationSwipeEventData*)event)->gestureMotion = (typeof(((IOHIDNavigationSwipeEventData*)event)->gestureMotion)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldNavigationSwipeFlavor: \
            ((IOHIDNavigationSwipeEventData*)event)->flavor = (typeof(((IOHIDNavigationSwipeEventData*)event)->flavor)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldNavigationSwipeProgress: \
            ((IOHIDNavigationSwipeEventData*)event)->progress = (typeof(((IOHIDNavigationSwipeEventData*)event)->progress)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        _IOHIDNavigationSwipeSetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDNavigationSwipeGetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeNavigationSwipe:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldNavigationSwipePositionX: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDNavigationSwipeEventData*)event)->position.x); \
            break; \
        case kIOHIDEventFieldNavigationSwipePositionY: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDNavigationSwipeEventData*)event)->position.y); \
            break; \
        case kIOHIDEventFieldNavigationSwipePositionZ: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDNavigationSwipeEventData*)event)->position.z); \
            break; \
        case kIOHIDEventFieldNavigationSwipeMask: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDNavigationSwipeEventData*)event)->swipeMask); \
            break; \
        case kIOHIDEventFieldNavigationSwipeMotion: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDNavigationSwipeEventData*)event)->gestureMotion); \
            break; \
        case kIOHIDEventFieldNavigationSwipeFlavor: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDNavigationSwipeEventData*)event)->flavor); \
            break; \
        case kIOHIDEventFieldNavigationSwipeProgress: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDNavigationSwipeEventData*)event)->progress); \
            break; \
        _IOHIDNavigationSwipeGetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDNavigationSwipeSetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeNavigationSwipe:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldNavigationSwipePositionX: \
            ((IOHIDNavigationSwipeEventData*)event)->position.x = (typeof(((IOHIDNavigationSwipeEventData*)event)->position.x)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldNavigationSwipePositionY: \
            ((IOHIDNavigationSwipeEventData*)event)->position.y = (typeof(((IOHIDNavigationSwipeEventData*)event)->position.y)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldNavigationSwipePositionZ: \
            ((IOHIDNavigationSwipeEventData*)event)->position.z = (typeof(((IOHIDNavigationSwipeEventData*)event)->position.z)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldNavigationSwipeMask: \
            ((IOHIDNavigationSwipeEventData*)event)->swipeMask = (typeof(((IOHIDNavigationSwipeEventData*)event)->swipeMask)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldNavigationSwipeMotion: \
            ((IOHIDNavigationSwipeEventData*)event)->gestureMotion = (typeof(((IOHIDNavigationSwipeEventData*)event)->gestureMotion)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldNavigationSwipeFlavor: \
            ((IOHIDNavigationSwipeEventData*)event)->flavor = (typeof(((IOHIDNavigationSwipeEventData*)event)->flavor)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldNavigationSwipeProgress: \
            ((IOHIDNavigationSwipeEventData*)event)->progress = (typeof(((IOHIDNavigationSwipeEventData*)event)->progress)) CAST_FIXED_TO_FIXED(value); \
            break; \
        _IOHIDNavigationSwipeSetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDNavigationSwipeGetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeNavigationSwipe:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldNavigationSwipePositionX: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDNavigationSwipeEventData*)event)->position.x); \
            break; \
        case kIOHIDEventFieldNavigationSwipePositionY: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDNavigationSwipeEventData*)event)->position.y); \
            break; \
        case kIOHIDEventFieldNavigationSwipePositionZ: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDNavigationSwipeEventData*)event)->position.z); \
            break; \
        case kIOHIDEventFieldNavigationSwipeMask: \
            value = (typeof(value))CAST_INTEGER_TO_FIXED(((IOHIDNavigationSwipeEventData*)event)->swipeMask); \
            break; \
        case kIOHIDEventFieldNavigationSwipeMotion: \
            value = (typeof(value))CAST_SHORTINTEGER_TO_FIXED(((IOHIDNavigationSwipeEventData*)event)->gestureMotion); \
            break; \
        case kIOHIDEventFieldNavigationSwipeFlavor: \
            value = (typeof(value))CAST_SHORTINTEGER_TO_FIXED(((IOHIDNavigationSwipeEventData*)event)->flavor); \
            break; \
        case kIOHIDEventFieldNavigationSwipeProgress: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDNavigationSwipeEventData*)event)->progress); \
            break; \
        _IOHIDNavigationSwipeGetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDNavigationSwipeSetFieldsAsDataMacro(event, field) \

#define _IOHIDNavigationSwipeGetFieldsAsDataMacro(event, field) \

#define _IOHIDAtmosphericPressureSetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeAtmosphericPressure:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldAtmosphericPressureLevel: \
            ((IOHIDAtmosphericPressureEventData*)event)->level = (typeof(((IOHIDAtmosphericPressureEventData*)event)->level)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldAtmosphericSequence: \
            ((IOHIDAtmosphericPressureEventData*)event)->sequence = (typeof(((IOHIDAtmosphericPressureEventData*)event)->sequence)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        _IOHIDAtmosphericPressureSetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDAtmosphericPressureGetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeAtmosphericPressure:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldAtmosphericPressureLevel: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDAtmosphericPressureEventData*)event)->level); \
            break; \
        case kIOHIDEventFieldAtmosphericSequence: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDAtmosphericPressureEventData*)event)->sequence); \
            break; \
        _IOHIDAtmosphericPressureGetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDAtmosphericPressureSetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeAtmosphericPressure:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldAtmosphericPressureLevel: \
            ((IOHIDAtmosphericPressureEventData*)event)->level = (typeof(((IOHIDAtmosphericPressureEventData*)event)->level)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldAtmosphericSequence: \
            ((IOHIDAtmosphericPressureEventData*)event)->sequence = (typeof(((IOHIDAtmosphericPressureEventData*)event)->sequence)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        _IOHIDAtmosphericPressureSetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDAtmosphericPressureGetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeAtmosphericPressure:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldAtmosphericPressureLevel: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDAtmosphericPressureEventData*)event)->level); \
            break; \
        case kIOHIDEventFieldAtmosphericSequence: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDAtmosphericPressureEventData*)event)->sequence); \
            break; \
        _IOHIDAtmosphericPressureGetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDAtmosphericPressureSetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeAtmosphericPressure:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldAtmosphericPressureLevel: \
            ((IOHIDAtmosphericPressureEventData*)event)->level = (typeof(((IOHIDAtmosphericPressureEventData*)event)->level)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldAtmosphericSequence: \
            ((IOHIDAtmosphericPressureEventData*)event)->sequence = (typeof(((IOHIDAtmosphericPressureEventData*)event)->sequence)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        _IOHIDAtmosphericPressureSetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDAtmosphericPressureGetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeAtmosphericPressure:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldAtmosphericPressureLevel: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDAtmosphericPressureEventData*)event)->level); \
            break; \
        case kIOHIDEventFieldAtmosphericSequence: \
            value = (typeof(value))CAST_INTEGER_TO_FIXED(((IOHIDAtmosphericPressureEventData*)event)->sequence); \
            break; \
        _IOHIDAtmosphericPressureGetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDAtmosphericPressureSetFieldsAsDataMacro(event, field) \

#define _IOHIDAtmosphericPressureGetFieldsAsDataMacro(event, field) \

#define _IOHIDHumiditySetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeHumidity:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldHumidityRH: \
            ((IOHIDHumidityEventData*)event)->rh = (typeof(((IOHIDHumidityEventData*)event)->rh)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldHumiditySequence: \
            ((IOHIDHumidityEventData*)event)->sequence = (typeof(((IOHIDHumidityEventData*)event)->sequence)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        _IOHIDHumiditySetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDHumidityGetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeHumidity:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldHumidityRH: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDHumidityEventData*)event)->rh); \
            break; \
        case kIOHIDEventFieldHumiditySequence: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDHumidityEventData*)event)->sequence); \
            break; \
        _IOHIDHumidityGetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDHumiditySetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeHumidity:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldHumidityRH: \
            ((IOHIDHumidityEventData*)event)->rh = (typeof(((IOHIDHumidityEventData*)event)->rh)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldHumiditySequence: \
            ((IOHIDHumidityEventData*)event)->sequence = (typeof(((IOHIDHumidityEventData*)event)->sequence)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        _IOHIDHumiditySetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDHumidityGetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeHumidity:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldHumidityRH: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDHumidityEventData*)event)->rh); \
            break; \
        case kIOHIDEventFieldHumiditySequence: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDHumidityEventData*)event)->sequence); \
            break; \
        _IOHIDHumidityGetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDHumiditySetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeHumidity:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldHumidityRH: \
            ((IOHIDHumidityEventData*)event)->rh = (typeof(((IOHIDHumidityEventData*)event)->rh)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldHumiditySequence: \
            ((IOHIDHumidityEventData*)event)->sequence = (typeof(((IOHIDHumidityEventData*)event)->sequence)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        _IOHIDHumiditySetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDHumidityGetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeHumidity:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldHumidityRH: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDHumidityEventData*)event)->rh); \
            break; \
        case kIOHIDEventFieldHumiditySequence: \
            value = (typeof(value))CAST_INTEGER_TO_FIXED(((IOHIDHumidityEventData*)event)->sequence); \
            break; \
        _IOHIDHumidityGetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDHumiditySetFieldsAsDataMacro(event, field) \

#define _IOHIDHumidityGetFieldsAsDataMacro(event, field) \

#define _IOHIDVelocitySetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeVelocity:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldVelocityX: \
            ((IOHIDVelocityEventData*)event)->position.x = (typeof(((IOHIDVelocityEventData*)event)->position.x)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldVelocityY: \
            ((IOHIDVelocityEventData*)event)->position.y = (typeof(((IOHIDVelocityEventData*)event)->position.y)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldVelocityZ: \
            ((IOHIDVelocityEventData*)event)->position.z = (typeof(((IOHIDVelocityEventData*)event)->position.z)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        _IOHIDVelocitySetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDVelocityGetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeVelocity:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldVelocityX: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDVelocityEventData*)event)->position.x); \
            break; \
        case kIOHIDEventFieldVelocityY: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDVelocityEventData*)event)->position.y); \
            break; \
        case kIOHIDEventFieldVelocityZ: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDVelocityEventData*)event)->position.z); \
            break; \
        _IOHIDVelocityGetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDVelocitySetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeVelocity:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldVelocityX: \
            ((IOHIDVelocityEventData*)event)->position.x = (typeof(((IOHIDVelocityEventData*)event)->position.x)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldVelocityY: \
            ((IOHIDVelocityEventData*)event)->position.y = (typeof(((IOHIDVelocityEventData*)event)->position.y)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldVelocityZ: \
            ((IOHIDVelocityEventData*)event)->position.z = (typeof(((IOHIDVelocityEventData*)event)->position.z)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        _IOHIDVelocitySetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDVelocityGetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeVelocity:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldVelocityX: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDVelocityEventData*)event)->position.x); \
            break; \
        case kIOHIDEventFieldVelocityY: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDVelocityEventData*)event)->position.y); \
            break; \
        case kIOHIDEventFieldVelocityZ: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDVelocityEventData*)event)->position.z); \
            break; \
        _IOHIDVelocityGetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDVelocitySetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeVelocity:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldVelocityX: \
            ((IOHIDVelocityEventData*)event)->position.x = (typeof(((IOHIDVelocityEventData*)event)->position.x)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldVelocityY: \
            ((IOHIDVelocityEventData*)event)->position.y = (typeof(((IOHIDVelocityEventData*)event)->position.y)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldVelocityZ: \
            ((IOHIDVelocityEventData*)event)->position.z = (typeof(((IOHIDVelocityEventData*)event)->position.z)) CAST_FIXED_TO_FIXED(value); \
            break; \
        _IOHIDVelocitySetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDVelocityGetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeVelocity:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldVelocityX: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDVelocityEventData*)event)->position.x); \
            break; \
        case kIOHIDEventFieldVelocityY: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDVelocityEventData*)event)->position.y); \
            break; \
        case kIOHIDEventFieldVelocityZ: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDVelocityEventData*)event)->position.z); \
            break; \
        _IOHIDVelocityGetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDVelocitySetFieldsAsDataMacro(event, field) \

#define _IOHIDVelocityGetFieldsAsDataMacro(event, field) \

#define _IOHIDScrollSetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeScroll:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldScrollIsPixels: \
            ((IOHIDScrollEventData*)event)->options.pixelUnits = value ? 1 : 0; \
            break; \
        case kIOHIDEventFieldScrollX: \
            ((IOHIDScrollEventData*)event)->position.x = (typeof(((IOHIDScrollEventData*)event)->position.x)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldScrollY: \
            ((IOHIDScrollEventData*)event)->position.y = (typeof(((IOHIDScrollEventData*)event)->position.y)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldScrollZ: \
            ((IOHIDScrollEventData*)event)->position.z = (typeof(((IOHIDScrollEventData*)event)->position.z)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        _IOHIDScrollSetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDScrollGetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeScroll:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldScrollIsPixels: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDScrollEventData*)event)->options.pixelUnits); \
            break; \
        case kIOHIDEventFieldScrollX: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDScrollEventData*)event)->position.x); \
            break; \
        case kIOHIDEventFieldScrollY: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDScrollEventData*)event)->position.y); \
            break; \
        case kIOHIDEventFieldScrollZ: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDScrollEventData*)event)->position.z); \
            break; \
        _IOHIDScrollGetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDScrollSetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeScroll:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldScrollIsPixels: \
            ((IOHIDScrollEventData*)event)->options.pixelUnits = value ? 1 : 0; \
            break; \
        case kIOHIDEventFieldScrollX: \
            ((IOHIDScrollEventData*)event)->position.x = (typeof(((IOHIDScrollEventData*)event)->position.x)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldScrollY: \
            ((IOHIDScrollEventData*)event)->position.y = (typeof(((IOHIDScrollEventData*)event)->position.y)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldScrollZ: \
            ((IOHIDScrollEventData*)event)->position.z = (typeof(((IOHIDScrollEventData*)event)->position.z)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        _IOHIDScrollSetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDScrollGetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeScroll:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldScrollIsPixels: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDScrollEventData*)event)->options.pixelUnits); \
            break; \
        case kIOHIDEventFieldScrollX: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDScrollEventData*)event)->position.x); \
            break; \
        case kIOHIDEventFieldScrollY: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDScrollEventData*)event)->position.y); \
            break; \
        case kIOHIDEventFieldScrollZ: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDScrollEventData*)event)->position.z); \
            break; \
        _IOHIDScrollGetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDScrollSetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeScroll:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldScrollIsPixels: \
            ((IOHIDScrollEventData*)event)->options.pixelUnits = value ? 1 : 0; \
            break; \
        case kIOHIDEventFieldScrollX: \
            ((IOHIDScrollEventData*)event)->position.x = (typeof(((IOHIDScrollEventData*)event)->position.x)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldScrollY: \
            ((IOHIDScrollEventData*)event)->position.y = (typeof(((IOHIDScrollEventData*)event)->position.y)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldScrollZ: \
            ((IOHIDScrollEventData*)event)->position.z = (typeof(((IOHIDScrollEventData*)event)->position.z)) CAST_FIXED_TO_FIXED(value); \
            break; \
        _IOHIDScrollSetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDScrollGetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeScroll:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldScrollIsPixels: \
            value = (typeof(value))CAST_SHORTINTEGER_TO_FIXED(((IOHIDScrollEventData*)event)->options.pixelUnits); \
            break; \
        case kIOHIDEventFieldScrollX: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDScrollEventData*)event)->position.x); \
            break; \
        case kIOHIDEventFieldScrollY: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDScrollEventData*)event)->position.y); \
            break; \
        case kIOHIDEventFieldScrollZ: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDScrollEventData*)event)->position.z); \
            break; \
        _IOHIDScrollGetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDScrollSetFieldsAsDataMacro(event, field) \

#define _IOHIDScrollGetFieldsAsDataMacro(event, field) \

#define _IOHIDBiometricSetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeBiometric:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldBiometricEventType: \
            ((IOHIDBiometricEventData*)event)->eventType = (typeof(((IOHIDBiometricEventData*)event)->eventType)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldBiometricLevel: \
            ((IOHIDBiometricEventData*)event)->level = (typeof(((IOHIDBiometricEventData*)event)->level)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldBiometricUsagePage: \
            ((IOHIDBiometricEventData*)event)->usagePage = (typeof(((IOHIDBiometricEventData*)event)->usagePage)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldBiometricUsage: \
            ((IOHIDBiometricEventData*)event)->usage = (typeof(((IOHIDBiometricEventData*)event)->usage)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldBiometricTapCount: \
            ((IOHIDBiometricEventData*)event)->tapCount = (typeof(((IOHIDBiometricEventData*)event)->tapCount)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        _IOHIDBiometricSetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDBiometricGetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeBiometric:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldBiometricEventType: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDBiometricEventData*)event)->eventType); \
            break; \
        case kIOHIDEventFieldBiometricLevel: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDBiometricEventData*)event)->level); \
            break; \
        case kIOHIDEventFieldBiometricUsagePage: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDBiometricEventData*)event)->usagePage); \
            break; \
        case kIOHIDEventFieldBiometricUsage: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDBiometricEventData*)event)->usage); \
            break; \
        case kIOHIDEventFieldBiometricTapCount: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDBiometricEventData*)event)->tapCount); \
            break; \
        _IOHIDBiometricGetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDBiometricSetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeBiometric:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldBiometricEventType: \
            ((IOHIDBiometricEventData*)event)->eventType = (typeof(((IOHIDBiometricEventData*)event)->eventType)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldBiometricLevel: \
            ((IOHIDBiometricEventData*)event)->level = (typeof(((IOHIDBiometricEventData*)event)->level)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldBiometricUsagePage: \
            ((IOHIDBiometricEventData*)event)->usagePage = (typeof(((IOHIDBiometricEventData*)event)->usagePage)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldBiometricUsage: \
            ((IOHIDBiometricEventData*)event)->usage = (typeof(((IOHIDBiometricEventData*)event)->usage)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldBiometricTapCount: \
            ((IOHIDBiometricEventData*)event)->tapCount = (typeof(((IOHIDBiometricEventData*)event)->tapCount)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        _IOHIDBiometricSetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDBiometricGetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeBiometric:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldBiometricEventType: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDBiometricEventData*)event)->eventType); \
            break; \
        case kIOHIDEventFieldBiometricLevel: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDBiometricEventData*)event)->level); \
            break; \
        case kIOHIDEventFieldBiometricUsagePage: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDBiometricEventData*)event)->usagePage); \
            break; \
        case kIOHIDEventFieldBiometricUsage: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDBiometricEventData*)event)->usage); \
            break; \
        case kIOHIDEventFieldBiometricTapCount: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDBiometricEventData*)event)->tapCount); \
            break; \
        _IOHIDBiometricGetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDBiometricSetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeBiometric:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldBiometricEventType: \
            ((IOHIDBiometricEventData*)event)->eventType = (typeof(((IOHIDBiometricEventData*)event)->eventType)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldBiometricLevel: \
            ((IOHIDBiometricEventData*)event)->level = (typeof(((IOHIDBiometricEventData*)event)->level)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldBiometricUsagePage: \
            ((IOHIDBiometricEventData*)event)->usagePage = (typeof(((IOHIDBiometricEventData*)event)->usagePage)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldBiometricUsage: \
            ((IOHIDBiometricEventData*)event)->usage = (typeof(((IOHIDBiometricEventData*)event)->usage)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldBiometricTapCount: \
            ((IOHIDBiometricEventData*)event)->tapCount = (typeof(((IOHIDBiometricEventData*)event)->tapCount)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        _IOHIDBiometricSetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDBiometricGetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeBiometric:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldBiometricEventType: \
            value = (typeof(value))CAST_INTEGER_TO_FIXED(((IOHIDBiometricEventData*)event)->eventType); \
            break; \
        case kIOHIDEventFieldBiometricLevel: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDBiometricEventData*)event)->level); \
            break; \
        case kIOHIDEventFieldBiometricUsagePage: \
            value = (typeof(value))CAST_SHORTINTEGER_TO_FIXED(((IOHIDBiometricEventData*)event)->usagePage); \
            break; \
        case kIOHIDEventFieldBiometricUsage: \
            value = (typeof(value))CAST_SHORTINTEGER_TO_FIXED(((IOHIDBiometricEventData*)event)->usage); \
            break; \
        case kIOHIDEventFieldBiometricTapCount: \
            value = (typeof(value))CAST_SHORTINTEGER_TO_FIXED(((IOHIDBiometricEventData*)event)->tapCount); \
            break; \
        _IOHIDBiometricGetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDBiometricSetFieldsAsDataMacro(event, field) \

#define _IOHIDBiometricGetFieldsAsDataMacro(event, field) \

#define _IOHIDBoundaryScrollSetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeBoundaryScroll:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldBoundaryScrollPositionX: \
            ((IOHIDBoundaryScrollEventData*)event)->position.x = (typeof(((IOHIDBoundaryScrollEventData*)event)->position.x)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldBoundaryScrollPositionY: \
            ((IOHIDBoundaryScrollEventData*)event)->position.y = (typeof(((IOHIDBoundaryScrollEventData*)event)->position.y)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldBoundaryScrollMask: \
            ((IOHIDBoundaryScrollEventData*)event)->swipeMask = (typeof(((IOHIDBoundaryScrollEventData*)event)->swipeMask)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldBoundaryScrollMotion: \
            ((IOHIDBoundaryScrollEventData*)event)->gestureMotion = (typeof(((IOHIDBoundaryScrollEventData*)event)->gestureMotion)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldBoundaryScrollFlavor: \
            ((IOHIDBoundaryScrollEventData*)event)->flavor = (typeof(((IOHIDBoundaryScrollEventData*)event)->flavor)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldBoundaryScrollProgress: \
            ((IOHIDBoundaryScrollEventData*)event)->progress = (typeof(((IOHIDBoundaryScrollEventData*)event)->progress)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        _IOHIDBoundaryScrollSetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDBoundaryScrollGetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeBoundaryScroll:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldBoundaryScrollPositionX: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDBoundaryScrollEventData*)event)->position.x); \
            break; \
        case kIOHIDEventFieldBoundaryScrollPositionY: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDBoundaryScrollEventData*)event)->position.y); \
            break; \
        case kIOHIDEventFieldBoundaryScrollMask: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDBoundaryScrollEventData*)event)->swipeMask); \
            break; \
        case kIOHIDEventFieldBoundaryScrollMotion: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDBoundaryScrollEventData*)event)->gestureMotion); \
            break; \
        case kIOHIDEventFieldBoundaryScrollFlavor: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDBoundaryScrollEventData*)event)->flavor); \
            break; \
        case kIOHIDEventFieldBoundaryScrollProgress: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDBoundaryScrollEventData*)event)->progress); \
            break; \
        _IOHIDBoundaryScrollGetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDBoundaryScrollSetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeBoundaryScroll:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldBoundaryScrollPositionX: \
            ((IOHIDBoundaryScrollEventData*)event)->position.x = (typeof(((IOHIDBoundaryScrollEventData*)event)->position.x)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldBoundaryScrollPositionY: \
            ((IOHIDBoundaryScrollEventData*)event)->position.y = (typeof(((IOHIDBoundaryScrollEventData*)event)->position.y)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldBoundaryScrollMask: \
            ((IOHIDBoundaryScrollEventData*)event)->swipeMask = (typeof(((IOHIDBoundaryScrollEventData*)event)->swipeMask)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldBoundaryScrollMotion: \
            ((IOHIDBoundaryScrollEventData*)event)->gestureMotion = (typeof(((IOHIDBoundaryScrollEventData*)event)->gestureMotion)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldBoundaryScrollFlavor: \
            ((IOHIDBoundaryScrollEventData*)event)->flavor = (typeof(((IOHIDBoundaryScrollEventData*)event)->flavor)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldBoundaryScrollProgress: \
            ((IOHIDBoundaryScrollEventData*)event)->progress = (typeof(((IOHIDBoundaryScrollEventData*)event)->progress)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        _IOHIDBoundaryScrollSetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDBoundaryScrollGetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeBoundaryScroll:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldBoundaryScrollPositionX: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDBoundaryScrollEventData*)event)->position.x); \
            break; \
        case kIOHIDEventFieldBoundaryScrollPositionY: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDBoundaryScrollEventData*)event)->position.y); \
            break; \
        case kIOHIDEventFieldBoundaryScrollMask: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDBoundaryScrollEventData*)event)->swipeMask); \
            break; \
        case kIOHIDEventFieldBoundaryScrollMotion: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDBoundaryScrollEventData*)event)->gestureMotion); \
            break; \
        case kIOHIDEventFieldBoundaryScrollFlavor: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDBoundaryScrollEventData*)event)->flavor); \
            break; \
        case kIOHIDEventFieldBoundaryScrollProgress: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDBoundaryScrollEventData*)event)->progress); \
            break; \
        _IOHIDBoundaryScrollGetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDBoundaryScrollSetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeBoundaryScroll:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldBoundaryScrollPositionX: \
            ((IOHIDBoundaryScrollEventData*)event)->position.x = (typeof(((IOHIDBoundaryScrollEventData*)event)->position.x)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldBoundaryScrollPositionY: \
            ((IOHIDBoundaryScrollEventData*)event)->position.y = (typeof(((IOHIDBoundaryScrollEventData*)event)->position.y)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldBoundaryScrollMask: \
            ((IOHIDBoundaryScrollEventData*)event)->swipeMask = (typeof(((IOHIDBoundaryScrollEventData*)event)->swipeMask)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldBoundaryScrollMotion: \
            ((IOHIDBoundaryScrollEventData*)event)->gestureMotion = (typeof(((IOHIDBoundaryScrollEventData*)event)->gestureMotion)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldBoundaryScrollFlavor: \
            ((IOHIDBoundaryScrollEventData*)event)->flavor = (typeof(((IOHIDBoundaryScrollEventData*)event)->flavor)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldBoundaryScrollProgress: \
            ((IOHIDBoundaryScrollEventData*)event)->progress = (typeof(((IOHIDBoundaryScrollEventData*)event)->progress)) CAST_FIXED_TO_FIXED(value); \
            break; \
        _IOHIDBoundaryScrollSetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDBoundaryScrollGetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeBoundaryScroll:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldBoundaryScrollPositionX: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDBoundaryScrollEventData*)event)->position.x); \
            break; \
        case kIOHIDEventFieldBoundaryScrollPositionY: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDBoundaryScrollEventData*)event)->position.y); \
            break; \
        case kIOHIDEventFieldBoundaryScrollMask: \
            value = (typeof(value))CAST_INTEGER_TO_FIXED(((IOHIDBoundaryScrollEventData*)event)->swipeMask); \
            break; \
        case kIOHIDEventFieldBoundaryScrollMotion: \
            value = (typeof(value))CAST_SHORTINTEGER_TO_FIXED(((IOHIDBoundaryScrollEventData*)event)->gestureMotion); \
            break; \
        case kIOHIDEventFieldBoundaryScrollFlavor: \
            value = (typeof(value))CAST_SHORTINTEGER_TO_FIXED(((IOHIDBoundaryScrollEventData*)event)->flavor); \
            break; \
        case kIOHIDEventFieldBoundaryScrollProgress: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDBoundaryScrollEventData*)event)->progress); \
            break; \
        _IOHIDBoundaryScrollGetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDBoundaryScrollSetFieldsAsDataMacro(event, field) \

#define _IOHIDBoundaryScrollGetFieldsAsDataMacro(event, field) \

#define _IOHIDLEDSetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeLED:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldLEDMask: \
            ((IOHIDLEDEventData*)event)->mask = (typeof(((IOHIDLEDEventData*)event)->mask)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldLEDNumber: \
            ((IOHIDLEDEventData*)event)->number = (typeof(((IOHIDLEDEventData*)event)->number)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldLEDState: \
            ((IOHIDLEDEventData*)event)->state = (typeof(((IOHIDLEDEventData*)event)->state)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        _IOHIDLEDSetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDLEDGetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeLED:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldLEDMask: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDLEDEventData*)event)->mask); \
            break; \
        case kIOHIDEventFieldLEDNumber: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDLEDEventData*)event)->number); \
            break; \
        case kIOHIDEventFieldLEDState: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDLEDEventData*)event)->state); \
            break; \
        _IOHIDLEDGetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDLEDSetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeLED:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldLEDMask: \
            ((IOHIDLEDEventData*)event)->mask = (typeof(((IOHIDLEDEventData*)event)->mask)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldLEDNumber: \
            ((IOHIDLEDEventData*)event)->number = (typeof(((IOHIDLEDEventData*)event)->number)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldLEDState: \
            ((IOHIDLEDEventData*)event)->state = (typeof(((IOHIDLEDEventData*)event)->state)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        _IOHIDLEDSetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDLEDGetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeLED:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldLEDMask: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDLEDEventData*)event)->mask); \
            break; \
        case kIOHIDEventFieldLEDNumber: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDLEDEventData*)event)->number); \
            break; \
        case kIOHIDEventFieldLEDState: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDLEDEventData*)event)->state); \
            break; \
        _IOHIDLEDGetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDLEDSetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeLED:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldLEDMask: \
            ((IOHIDLEDEventData*)event)->mask = (typeof(((IOHIDLEDEventData*)event)->mask)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldLEDNumber: \
            ((IOHIDLEDEventData*)event)->number = (typeof(((IOHIDLEDEventData*)event)->number)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldLEDState: \
            ((IOHIDLEDEventData*)event)->state = (typeof(((IOHIDLEDEventData*)event)->state)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        _IOHIDLEDSetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDLEDGetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeLED:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldLEDMask: \
            value = (typeof(value))CAST_INTEGER_TO_FIXED(((IOHIDLEDEventData*)event)->mask); \
            break; \
        case kIOHIDEventFieldLEDNumber: \
            value = (typeof(value))CAST_SHORTINTEGER_TO_FIXED(((IOHIDLEDEventData*)event)->number); \
            break; \
        case kIOHIDEventFieldLEDState: \
            value = (typeof(value))CAST_INTEGER_TO_FIXED(((IOHIDLEDEventData*)event)->state); \
            break; \
        _IOHIDLEDGetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDLEDSetFieldsAsDataMacro(event, field) \

#define _IOHIDLEDGetFieldsAsDataMacro(event, field) \

#define _IOHIDOrientationSetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeOrientation:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldOrientationTiltZ: \
        case kIOHIDEventFieldOrientationTiltY: \
        case kIOHIDEventFieldOrientationTiltX: \
        case kIOHIDEventFieldOrientationAzimuth: \
        case kIOHIDEventFieldOrientationDeviceOrientationUsage: \
        case kIOHIDEventFieldOrientationAltitude: \
        case kIOHIDEventFieldOrientationRadius: \
            if (((__IOHIDOrientationEventData*)event)->orientationType == kIOHIDOrientationTypeTilt) {\
                switch (field) \
                {\
                    case kIOHIDEventFieldOrientationTiltX: \
                        ((IOHIDOrientationEventData*)event)->orientation.tilt.x = (typeof(((IOHIDOrientationEventData*)event)->orientation.tilt.x)) CAST_INTEGER_TO_FIXED(value); \
                        break; \
                    case kIOHIDEventFieldOrientationTiltY: \
                        ((IOHIDOrientationEventData*)event)->orientation.tilt.y = (typeof(((IOHIDOrientationEventData*)event)->orientation.tilt.y)) CAST_INTEGER_TO_FIXED(value); \
                        break; \
                    case kIOHIDEventFieldOrientationTiltZ: \
                        ((IOHIDOrientationEventData*)event)->orientation.tilt.z = (typeof(((IOHIDOrientationEventData*)event)->orientation.tilt.z)) CAST_INTEGER_TO_FIXED(value); \
                        break; \
                }\
                break;\
            }\
            if (((__IOHIDOrientationEventData*)event)->orientationType == kIOHIDOrientationTypeCMUsage) {\
                switch (field) \
                {\
                    case kIOHIDEventFieldOrientationDeviceOrientationUsage: \
                        ((IOHIDOrientationEventData*)event)->orientation.deviceOrientation.usage = (typeof(((IOHIDOrientationEventData*)event)->orientation.deviceOrientation.usage)) CAST_INTEGER_TO_INTEGER(value); \
                        break; \
                }\
                break;\
            }\
            if (((__IOHIDOrientationEventData*)event)->orientationType == kIOHIDOrientationTypePolar) {\
                switch (field) \
                {\
                    case kIOHIDEventFieldOrientationRadius: \
                        ((IOHIDOrientationEventData*)event)->orientation.polar.x = (typeof(((IOHIDOrientationEventData*)event)->orientation.polar.x)) CAST_INTEGER_TO_FIXED(value); \
                        break; \
                    case kIOHIDEventFieldOrientationAzimuth: \
                        ((IOHIDOrientationEventData*)event)->orientation.polar.y = (typeof(((IOHIDOrientationEventData*)event)->orientation.polar.y)) CAST_INTEGER_TO_FIXED(value); \
                        break; \
                    case kIOHIDEventFieldOrientationAltitude: \
                        ((IOHIDOrientationEventData*)event)->orientation.polar.z = (typeof(((IOHIDOrientationEventData*)event)->orientation.polar.z)) CAST_INTEGER_TO_FIXED(value); \
                        break; \
                }\
                break;\
            }\
            break;\
        _IOHIDOrientationSetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDOrientationGetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeOrientation:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldOrientationOrientationType: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((__IOHIDOrientationEventData*)event)->orientationType); \
            break; \
        case kIOHIDEventFieldOrientationTiltZ: \
        case kIOHIDEventFieldOrientationTiltY: \
        case kIOHIDEventFieldOrientationTiltX: \
        case kIOHIDEventFieldOrientationAzimuth: \
        case kIOHIDEventFieldOrientationDeviceOrientationUsage: \
        case kIOHIDEventFieldOrientationAltitude: \
        case kIOHIDEventFieldOrientationRadius: \
            if (((__IOHIDOrientationEventData*)event)->orientationType == kIOHIDOrientationTypeTilt) {\
                switch (field) \
                {\
                    case kIOHIDEventFieldOrientationTiltX: \
                        value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDOrientationEventData*)event)->orientation.tilt.x); \
                        break; \
                    case kIOHIDEventFieldOrientationTiltY: \
                        value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDOrientationEventData*)event)->orientation.tilt.y); \
                        break; \
                    case kIOHIDEventFieldOrientationTiltZ: \
                        value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDOrientationEventData*)event)->orientation.tilt.z); \
                        break; \
                }\
                break;\
            }\
            if (((__IOHIDOrientationEventData*)event)->orientationType == kIOHIDOrientationTypeCMUsage) {\
                switch (field) \
                {\
                    case kIOHIDEventFieldOrientationDeviceOrientationUsage: \
                        value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDOrientationEventData*)event)->orientation.deviceOrientation.usage); \
                        break; \
                }\
                break;\
            }\
            if (((__IOHIDOrientationEventData*)event)->orientationType == kIOHIDOrientationTypePolar) {\
                switch (field) \
                {\
                    case kIOHIDEventFieldOrientationRadius: \
                        value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDOrientationEventData*)event)->orientation.polar.x); \
                        break; \
                    case kIOHIDEventFieldOrientationAzimuth: \
                        value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDOrientationEventData*)event)->orientation.polar.y); \
                        break; \
                    case kIOHIDEventFieldOrientationAltitude: \
                        value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDOrientationEventData*)event)->orientation.polar.z); \
                        break; \
                }\
                break;\
            }\
            break;\
        _IOHIDOrientationGetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDOrientationSetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeOrientation:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldOrientationTiltZ: \
        case kIOHIDEventFieldOrientationTiltY: \
        case kIOHIDEventFieldOrientationTiltX: \
        case kIOHIDEventFieldOrientationAzimuth: \
        case kIOHIDEventFieldOrientationDeviceOrientationUsage: \
        case kIOHIDEventFieldOrientationAltitude: \
        case kIOHIDEventFieldOrientationRadius: \
            if (((__IOHIDOrientationEventData*)event)->orientationType == kIOHIDOrientationTypeTilt) {\
                switch (field) \
                {\
                    case kIOHIDEventFieldOrientationTiltX: \
                        ((IOHIDOrientationEventData*)event)->orientation.tilt.x = (typeof(((IOHIDOrientationEventData*)event)->orientation.tilt.x)) CAST_DOUBLE_TO_FIXED(value); \
                        break; \
                    case kIOHIDEventFieldOrientationTiltY: \
                        ((IOHIDOrientationEventData*)event)->orientation.tilt.y = (typeof(((IOHIDOrientationEventData*)event)->orientation.tilt.y)) CAST_DOUBLE_TO_FIXED(value); \
                        break; \
                    case kIOHIDEventFieldOrientationTiltZ: \
                        ((IOHIDOrientationEventData*)event)->orientation.tilt.z = (typeof(((IOHIDOrientationEventData*)event)->orientation.tilt.z)) CAST_DOUBLE_TO_FIXED(value); \
                        break; \
                }\
                break;\
            }\
            if (((__IOHIDOrientationEventData*)event)->orientationType == kIOHIDOrientationTypeCMUsage) {\
                switch (field) \
                {\
                    case kIOHIDEventFieldOrientationDeviceOrientationUsage: \
                        ((IOHIDOrientationEventData*)event)->orientation.deviceOrientation.usage = (typeof(((IOHIDOrientationEventData*)event)->orientation.deviceOrientation.usage)) CAST_DOUBLE_TO_INTEGER(value); \
                        break; \
                }\
                break;\
            }\
            if (((__IOHIDOrientationEventData*)event)->orientationType == kIOHIDOrientationTypePolar) {\
                switch (field) \
                {\
                    case kIOHIDEventFieldOrientationRadius: \
                        ((IOHIDOrientationEventData*)event)->orientation.polar.x = (typeof(((IOHIDOrientationEventData*)event)->orientation.polar.x)) CAST_DOUBLE_TO_FIXED(value); \
                        break; \
                    case kIOHIDEventFieldOrientationAzimuth: \
                        ((IOHIDOrientationEventData*)event)->orientation.polar.y = (typeof(((IOHIDOrientationEventData*)event)->orientation.polar.y)) CAST_DOUBLE_TO_FIXED(value); \
                        break; \
                    case kIOHIDEventFieldOrientationAltitude: \
                        ((IOHIDOrientationEventData*)event)->orientation.polar.z = (typeof(((IOHIDOrientationEventData*)event)->orientation.polar.z)) CAST_DOUBLE_TO_FIXED(value); \
                        break; \
                }\
                break;\
            }\
            break;\
        _IOHIDOrientationSetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDOrientationGetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeOrientation:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldOrientationOrientationType: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((__IOHIDOrientationEventData*)event)->orientationType); \
            break; \
        case kIOHIDEventFieldOrientationTiltZ: \
        case kIOHIDEventFieldOrientationTiltY: \
        case kIOHIDEventFieldOrientationTiltX: \
        case kIOHIDEventFieldOrientationAzimuth: \
        case kIOHIDEventFieldOrientationDeviceOrientationUsage: \
        case kIOHIDEventFieldOrientationAltitude: \
        case kIOHIDEventFieldOrientationRadius: \
            if (((__IOHIDOrientationEventData*)event)->orientationType == kIOHIDOrientationTypeTilt) {\
                switch (field) \
                {\
                    case kIOHIDEventFieldOrientationTiltX: \
                        value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDOrientationEventData*)event)->orientation.tilt.x); \
                        break; \
                    case kIOHIDEventFieldOrientationTiltY: \
                        value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDOrientationEventData*)event)->orientation.tilt.y); \
                        break; \
                    case kIOHIDEventFieldOrientationTiltZ: \
                        value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDOrientationEventData*)event)->orientation.tilt.z); \
                        break; \
                }\
                break;\
            }\
            if (((__IOHIDOrientationEventData*)event)->orientationType == kIOHIDOrientationTypeCMUsage) {\
                switch (field) \
                {\
                    case kIOHIDEventFieldOrientationDeviceOrientationUsage: \
                        value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDOrientationEventData*)event)->orientation.deviceOrientation.usage); \
                        break; \
                }\
                break;\
            }\
            if (((__IOHIDOrientationEventData*)event)->orientationType == kIOHIDOrientationTypePolar) {\
                switch (field) \
                {\
                    case kIOHIDEventFieldOrientationRadius: \
                        value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDOrientationEventData*)event)->orientation.polar.x); \
                        break; \
                    case kIOHIDEventFieldOrientationAzimuth: \
                        value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDOrientationEventData*)event)->orientation.polar.y); \
                        break; \
                    case kIOHIDEventFieldOrientationAltitude: \
                        value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDOrientationEventData*)event)->orientation.polar.z); \
                        break; \
                }\
                break;\
            }\
            break;\
        _IOHIDOrientationGetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDOrientationSetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeOrientation:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldOrientationTiltZ: \
        case kIOHIDEventFieldOrientationTiltY: \
        case kIOHIDEventFieldOrientationTiltX: \
        case kIOHIDEventFieldOrientationAzimuth: \
        case kIOHIDEventFieldOrientationDeviceOrientationUsage: \
        case kIOHIDEventFieldOrientationAltitude: \
        case kIOHIDEventFieldOrientationRadius: \
            if (((__IOHIDOrientationEventData*)event)->orientationType == kIOHIDOrientationTypeTilt) {\
                switch (field) \
                {\
                    case kIOHIDEventFieldOrientationTiltX: \
                        ((IOHIDOrientationEventData*)event)->orientation.tilt.x = (typeof(((IOHIDOrientationEventData*)event)->orientation.tilt.x)) CAST_FIXED_TO_FIXED(value); \
                        break; \
                    case kIOHIDEventFieldOrientationTiltY: \
                        ((IOHIDOrientationEventData*)event)->orientation.tilt.y = (typeof(((IOHIDOrientationEventData*)event)->orientation.tilt.y)) CAST_FIXED_TO_FIXED(value); \
                        break; \
                    case kIOHIDEventFieldOrientationTiltZ: \
                        ((IOHIDOrientationEventData*)event)->orientation.tilt.z = (typeof(((IOHIDOrientationEventData*)event)->orientation.tilt.z)) CAST_FIXED_TO_FIXED(value); \
                        break; \
                }\
                break;\
            }\
            if (((__IOHIDOrientationEventData*)event)->orientationType == kIOHIDOrientationTypeCMUsage) {\
                switch (field) \
                {\
                    case kIOHIDEventFieldOrientationDeviceOrientationUsage: \
                        ((IOHIDOrientationEventData*)event)->orientation.deviceOrientation.usage = (typeof(((IOHIDOrientationEventData*)event)->orientation.deviceOrientation.usage)) CAST_FIXED_TO_INTEGER(value); \
                        break; \
                }\
                break;\
            }\
            if (((__IOHIDOrientationEventData*)event)->orientationType == kIOHIDOrientationTypePolar) {\
                switch (field) \
                {\
                    case kIOHIDEventFieldOrientationRadius: \
                        ((IOHIDOrientationEventData*)event)->orientation.polar.x = (typeof(((IOHIDOrientationEventData*)event)->orientation.polar.x)) CAST_FIXED_TO_FIXED(value); \
                        break; \
                    case kIOHIDEventFieldOrientationAzimuth: \
                        ((IOHIDOrientationEventData*)event)->orientation.polar.y = (typeof(((IOHIDOrientationEventData*)event)->orientation.polar.y)) CAST_FIXED_TO_FIXED(value); \
                        break; \
                    case kIOHIDEventFieldOrientationAltitude: \
                        ((IOHIDOrientationEventData*)event)->orientation.polar.z = (typeof(((IOHIDOrientationEventData*)event)->orientation.polar.z)) CAST_FIXED_TO_FIXED(value); \
                        break; \
                }\
                break;\
            }\
            break;\
        _IOHIDOrientationSetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDOrientationGetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeOrientation:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldOrientationOrientationType: \
            value = (typeof(value))CAST_INTEGER_TO_FIXED(((__IOHIDOrientationEventData*)event)->orientationType); \
            break; \
        case kIOHIDEventFieldOrientationTiltZ: \
        case kIOHIDEventFieldOrientationTiltY: \
        case kIOHIDEventFieldOrientationTiltX: \
        case kIOHIDEventFieldOrientationAzimuth: \
        case kIOHIDEventFieldOrientationDeviceOrientationUsage: \
        case kIOHIDEventFieldOrientationAltitude: \
        case kIOHIDEventFieldOrientationRadius: \
            if (((__IOHIDOrientationEventData*)event)->orientationType == kIOHIDOrientationTypeTilt) {\
                switch (field) \
                {\
                    case kIOHIDEventFieldOrientationTiltX: \
                        value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDOrientationEventData*)event)->orientation.tilt.x); \
                        break; \
                    case kIOHIDEventFieldOrientationTiltY: \
                        value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDOrientationEventData*)event)->orientation.tilt.y); \
                        break; \
                    case kIOHIDEventFieldOrientationTiltZ: \
                        value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDOrientationEventData*)event)->orientation.tilt.z); \
                        break; \
                }\
                break;\
            }\
            if (((__IOHIDOrientationEventData*)event)->orientationType == kIOHIDOrientationTypeCMUsage) {\
                switch (field) \
                {\
                    case kIOHIDEventFieldOrientationDeviceOrientationUsage: \
                        value = (typeof(value))CAST_INTEGER_TO_FIXED(((IOHIDOrientationEventData*)event)->orientation.deviceOrientation.usage); \
                        break; \
                }\
                break;\
            }\
            if (((__IOHIDOrientationEventData*)event)->orientationType == kIOHIDOrientationTypePolar) {\
                switch (field) \
                {\
                    case kIOHIDEventFieldOrientationRadius: \
                        value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDOrientationEventData*)event)->orientation.polar.x); \
                        break; \
                    case kIOHIDEventFieldOrientationAzimuth: \
                        value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDOrientationEventData*)event)->orientation.polar.y); \
                        break; \
                    case kIOHIDEventFieldOrientationAltitude: \
                        value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDOrientationEventData*)event)->orientation.polar.z); \
                        break; \
                }\
                break;\
            }\
            break;\
        _IOHIDOrientationGetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDOrientationSetFieldsAsDataMacro(event, field) \

#define _IOHIDOrientationGetFieldsAsDataMacro(event, field) \

#define _IOHIDProximitySetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeProximity:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldProximityDetectionMask: \
            ((IOHIDProximityEventData*)event)->detectionMask = (typeof(((IOHIDProximityEventData*)event)->detectionMask)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldProximityLevel: \
            ((IOHIDProximityEventData*)event)->level = (typeof(((IOHIDProximityEventData*)event)->level)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        _IOHIDProximitySetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDProximityGetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeProximity:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldProximityDetectionMask: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDProximityEventData*)event)->detectionMask); \
            break; \
        case kIOHIDEventFieldProximityLevel: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDProximityEventData*)event)->level); \
            break; \
        _IOHIDProximityGetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDProximitySetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeProximity:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldProximityDetectionMask: \
            ((IOHIDProximityEventData*)event)->detectionMask = (typeof(((IOHIDProximityEventData*)event)->detectionMask)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldProximityLevel: \
            ((IOHIDProximityEventData*)event)->level = (typeof(((IOHIDProximityEventData*)event)->level)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        _IOHIDProximitySetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDProximityGetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeProximity:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldProximityDetectionMask: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDProximityEventData*)event)->detectionMask); \
            break; \
        case kIOHIDEventFieldProximityLevel: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDProximityEventData*)event)->level); \
            break; \
        _IOHIDProximityGetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDProximitySetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeProximity:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldProximityDetectionMask: \
            ((IOHIDProximityEventData*)event)->detectionMask = (typeof(((IOHIDProximityEventData*)event)->detectionMask)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldProximityLevel: \
            ((IOHIDProximityEventData*)event)->level = (typeof(((IOHIDProximityEventData*)event)->level)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        _IOHIDProximitySetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDProximityGetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeProximity:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldProximityDetectionMask: \
            value = (typeof(value))CAST_INTEGER_TO_FIXED(((IOHIDProximityEventData*)event)->detectionMask); \
            break; \
        case kIOHIDEventFieldProximityLevel: \
            value = (typeof(value))CAST_INTEGER_TO_FIXED(((IOHIDProximityEventData*)event)->level); \
            break; \
        _IOHIDProximityGetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDProximitySetFieldsAsDataMacro(event, field) \

#define _IOHIDProximityGetFieldsAsDataMacro(event, field) \

#define _IOHIDFluidTouchGestureSetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeFluidTouchGesture:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldFluidTouchGesturePositionX: \
            ((IOHIDFluidTouchGestureEventData*)event)->position.x = (typeof(((IOHIDFluidTouchGestureEventData*)event)->position.x)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldFluidTouchGesturePositionY: \
            ((IOHIDFluidTouchGestureEventData*)event)->position.y = (typeof(((IOHIDFluidTouchGestureEventData*)event)->position.y)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldFluidTouchGestureMask: \
            ((IOHIDFluidTouchGestureEventData*)event)->swipeMask = (typeof(((IOHIDFluidTouchGestureEventData*)event)->swipeMask)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldFluidTouchGestureMotion: \
            ((IOHIDFluidTouchGestureEventData*)event)->gestureMotion = (typeof(((IOHIDFluidTouchGestureEventData*)event)->gestureMotion)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldFluidTouchGestureFlavor: \
            ((IOHIDFluidTouchGestureEventData*)event)->flavor = (typeof(((IOHIDFluidTouchGestureEventData*)event)->flavor)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldFluidTouchGestureProgress: \
            ((IOHIDFluidTouchGestureEventData*)event)->progress = (typeof(((IOHIDFluidTouchGestureEventData*)event)->progress)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        _IOHIDFluidTouchGestureSetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDFluidTouchGestureGetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeFluidTouchGesture:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldFluidTouchGesturePositionX: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDFluidTouchGestureEventData*)event)->position.x); \
            break; \
        case kIOHIDEventFieldFluidTouchGesturePositionY: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDFluidTouchGestureEventData*)event)->position.y); \
            break; \
        case kIOHIDEventFieldFluidTouchGestureMask: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDFluidTouchGestureEventData*)event)->swipeMask); \
            break; \
        case kIOHIDEventFieldFluidTouchGestureMotion: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDFluidTouchGestureEventData*)event)->gestureMotion); \
            break; \
        case kIOHIDEventFieldFluidTouchGestureFlavor: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDFluidTouchGestureEventData*)event)->flavor); \
            break; \
        case kIOHIDEventFieldFluidTouchGestureProgress: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDFluidTouchGestureEventData*)event)->progress); \
            break; \
        _IOHIDFluidTouchGestureGetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDFluidTouchGestureSetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeFluidTouchGesture:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldFluidTouchGesturePositionX: \
            ((IOHIDFluidTouchGestureEventData*)event)->position.x = (typeof(((IOHIDFluidTouchGestureEventData*)event)->position.x)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldFluidTouchGesturePositionY: \
            ((IOHIDFluidTouchGestureEventData*)event)->position.y = (typeof(((IOHIDFluidTouchGestureEventData*)event)->position.y)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldFluidTouchGestureMask: \
            ((IOHIDFluidTouchGestureEventData*)event)->swipeMask = (typeof(((IOHIDFluidTouchGestureEventData*)event)->swipeMask)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldFluidTouchGestureMotion: \
            ((IOHIDFluidTouchGestureEventData*)event)->gestureMotion = (typeof(((IOHIDFluidTouchGestureEventData*)event)->gestureMotion)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldFluidTouchGestureFlavor: \
            ((IOHIDFluidTouchGestureEventData*)event)->flavor = (typeof(((IOHIDFluidTouchGestureEventData*)event)->flavor)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldFluidTouchGestureProgress: \
            ((IOHIDFluidTouchGestureEventData*)event)->progress = (typeof(((IOHIDFluidTouchGestureEventData*)event)->progress)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        _IOHIDFluidTouchGestureSetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDFluidTouchGestureGetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeFluidTouchGesture:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldFluidTouchGesturePositionX: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDFluidTouchGestureEventData*)event)->position.x); \
            break; \
        case kIOHIDEventFieldFluidTouchGesturePositionY: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDFluidTouchGestureEventData*)event)->position.y); \
            break; \
        case kIOHIDEventFieldFluidTouchGestureMask: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDFluidTouchGestureEventData*)event)->swipeMask); \
            break; \
        case kIOHIDEventFieldFluidTouchGestureMotion: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDFluidTouchGestureEventData*)event)->gestureMotion); \
            break; \
        case kIOHIDEventFieldFluidTouchGestureFlavor: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDFluidTouchGestureEventData*)event)->flavor); \
            break; \
        case kIOHIDEventFieldFluidTouchGestureProgress: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDFluidTouchGestureEventData*)event)->progress); \
            break; \
        _IOHIDFluidTouchGestureGetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDFluidTouchGestureSetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeFluidTouchGesture:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldFluidTouchGesturePositionX: \
            ((IOHIDFluidTouchGestureEventData*)event)->position.x = (typeof(((IOHIDFluidTouchGestureEventData*)event)->position.x)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldFluidTouchGesturePositionY: \
            ((IOHIDFluidTouchGestureEventData*)event)->position.y = (typeof(((IOHIDFluidTouchGestureEventData*)event)->position.y)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldFluidTouchGestureMask: \
            ((IOHIDFluidTouchGestureEventData*)event)->swipeMask = (typeof(((IOHIDFluidTouchGestureEventData*)event)->swipeMask)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldFluidTouchGestureMotion: \
            ((IOHIDFluidTouchGestureEventData*)event)->gestureMotion = (typeof(((IOHIDFluidTouchGestureEventData*)event)->gestureMotion)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldFluidTouchGestureFlavor: \
            ((IOHIDFluidTouchGestureEventData*)event)->flavor = (typeof(((IOHIDFluidTouchGestureEventData*)event)->flavor)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldFluidTouchGestureProgress: \
            ((IOHIDFluidTouchGestureEventData*)event)->progress = (typeof(((IOHIDFluidTouchGestureEventData*)event)->progress)) CAST_FIXED_TO_FIXED(value); \
            break; \
        _IOHIDFluidTouchGestureSetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDFluidTouchGestureGetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeFluidTouchGesture:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldFluidTouchGesturePositionX: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDFluidTouchGestureEventData*)event)->position.x); \
            break; \
        case kIOHIDEventFieldFluidTouchGesturePositionY: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDFluidTouchGestureEventData*)event)->position.y); \
            break; \
        case kIOHIDEventFieldFluidTouchGestureMask: \
            value = (typeof(value))CAST_INTEGER_TO_FIXED(((IOHIDFluidTouchGestureEventData*)event)->swipeMask); \
            break; \
        case kIOHIDEventFieldFluidTouchGestureMotion: \
            value = (typeof(value))CAST_SHORTINTEGER_TO_FIXED(((IOHIDFluidTouchGestureEventData*)event)->gestureMotion); \
            break; \
        case kIOHIDEventFieldFluidTouchGestureFlavor: \
            value = (typeof(value))CAST_SHORTINTEGER_TO_FIXED(((IOHIDFluidTouchGestureEventData*)event)->flavor); \
            break; \
        case kIOHIDEventFieldFluidTouchGestureProgress: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDFluidTouchGestureEventData*)event)->progress); \
            break; \
        _IOHIDFluidTouchGestureGetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDFluidTouchGestureSetFieldsAsDataMacro(event, field) \

#define _IOHIDFluidTouchGestureGetFieldsAsDataMacro(event, field) \

#define _IOHIDDockSwipeSetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeDockSwipe:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldDockSwipePositionX: \
            ((IOHIDDockSwipeEventData*)event)->position.x = (typeof(((IOHIDDockSwipeEventData*)event)->position.x)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldDockSwipePositionY: \
            ((IOHIDDockSwipeEventData*)event)->position.y = (typeof(((IOHIDDockSwipeEventData*)event)->position.y)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldDockSwipePositionZ: \
            ((IOHIDDockSwipeEventData*)event)->position.z = (typeof(((IOHIDDockSwipeEventData*)event)->position.z)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldDockSwipeMask: \
            ((IOHIDDockSwipeEventData*)event)->swipeMask = (typeof(((IOHIDDockSwipeEventData*)event)->swipeMask)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldDockSwipeMotion: \
            ((IOHIDDockSwipeEventData*)event)->gestureMotion = (typeof(((IOHIDDockSwipeEventData*)event)->gestureMotion)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldDockSwipeFlavor: \
            ((IOHIDDockSwipeEventData*)event)->flavor = (typeof(((IOHIDDockSwipeEventData*)event)->flavor)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldDockSwipeProgress: \
            ((IOHIDDockSwipeEventData*)event)->progress = (typeof(((IOHIDDockSwipeEventData*)event)->progress)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        _IOHIDDockSwipeSetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDDockSwipeGetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeDockSwipe:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldDockSwipePositionX: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDDockSwipeEventData*)event)->position.x); \
            break; \
        case kIOHIDEventFieldDockSwipePositionY: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDDockSwipeEventData*)event)->position.y); \
            break; \
        case kIOHIDEventFieldDockSwipePositionZ: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDDockSwipeEventData*)event)->position.z); \
            break; \
        case kIOHIDEventFieldDockSwipeMask: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDDockSwipeEventData*)event)->swipeMask); \
            break; \
        case kIOHIDEventFieldDockSwipeMotion: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDDockSwipeEventData*)event)->gestureMotion); \
            break; \
        case kIOHIDEventFieldDockSwipeFlavor: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDDockSwipeEventData*)event)->flavor); \
            break; \
        case kIOHIDEventFieldDockSwipeProgress: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDDockSwipeEventData*)event)->progress); \
            break; \
        _IOHIDDockSwipeGetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDDockSwipeSetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeDockSwipe:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldDockSwipePositionX: \
            ((IOHIDDockSwipeEventData*)event)->position.x = (typeof(((IOHIDDockSwipeEventData*)event)->position.x)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldDockSwipePositionY: \
            ((IOHIDDockSwipeEventData*)event)->position.y = (typeof(((IOHIDDockSwipeEventData*)event)->position.y)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldDockSwipePositionZ: \
            ((IOHIDDockSwipeEventData*)event)->position.z = (typeof(((IOHIDDockSwipeEventData*)event)->position.z)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldDockSwipeMask: \
            ((IOHIDDockSwipeEventData*)event)->swipeMask = (typeof(((IOHIDDockSwipeEventData*)event)->swipeMask)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldDockSwipeMotion: \
            ((IOHIDDockSwipeEventData*)event)->gestureMotion = (typeof(((IOHIDDockSwipeEventData*)event)->gestureMotion)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldDockSwipeFlavor: \
            ((IOHIDDockSwipeEventData*)event)->flavor = (typeof(((IOHIDDockSwipeEventData*)event)->flavor)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldDockSwipeProgress: \
            ((IOHIDDockSwipeEventData*)event)->progress = (typeof(((IOHIDDockSwipeEventData*)event)->progress)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        _IOHIDDockSwipeSetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDDockSwipeGetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeDockSwipe:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldDockSwipePositionX: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDDockSwipeEventData*)event)->position.x); \
            break; \
        case kIOHIDEventFieldDockSwipePositionY: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDDockSwipeEventData*)event)->position.y); \
            break; \
        case kIOHIDEventFieldDockSwipePositionZ: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDDockSwipeEventData*)event)->position.z); \
            break; \
        case kIOHIDEventFieldDockSwipeMask: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDDockSwipeEventData*)event)->swipeMask); \
            break; \
        case kIOHIDEventFieldDockSwipeMotion: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDDockSwipeEventData*)event)->gestureMotion); \
            break; \
        case kIOHIDEventFieldDockSwipeFlavor: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDDockSwipeEventData*)event)->flavor); \
            break; \
        case kIOHIDEventFieldDockSwipeProgress: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDDockSwipeEventData*)event)->progress); \
            break; \
        _IOHIDDockSwipeGetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDDockSwipeSetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeDockSwipe:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldDockSwipePositionX: \
            ((IOHIDDockSwipeEventData*)event)->position.x = (typeof(((IOHIDDockSwipeEventData*)event)->position.x)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldDockSwipePositionY: \
            ((IOHIDDockSwipeEventData*)event)->position.y = (typeof(((IOHIDDockSwipeEventData*)event)->position.y)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldDockSwipePositionZ: \
            ((IOHIDDockSwipeEventData*)event)->position.z = (typeof(((IOHIDDockSwipeEventData*)event)->position.z)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldDockSwipeMask: \
            ((IOHIDDockSwipeEventData*)event)->swipeMask = (typeof(((IOHIDDockSwipeEventData*)event)->swipeMask)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldDockSwipeMotion: \
            ((IOHIDDockSwipeEventData*)event)->gestureMotion = (typeof(((IOHIDDockSwipeEventData*)event)->gestureMotion)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldDockSwipeFlavor: \
            ((IOHIDDockSwipeEventData*)event)->flavor = (typeof(((IOHIDDockSwipeEventData*)event)->flavor)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldDockSwipeProgress: \
            ((IOHIDDockSwipeEventData*)event)->progress = (typeof(((IOHIDDockSwipeEventData*)event)->progress)) CAST_FIXED_TO_FIXED(value); \
            break; \
        _IOHIDDockSwipeSetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDDockSwipeGetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeDockSwipe:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldDockSwipePositionX: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDDockSwipeEventData*)event)->position.x); \
            break; \
        case kIOHIDEventFieldDockSwipePositionY: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDDockSwipeEventData*)event)->position.y); \
            break; \
        case kIOHIDEventFieldDockSwipePositionZ: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDDockSwipeEventData*)event)->position.z); \
            break; \
        case kIOHIDEventFieldDockSwipeMask: \
            value = (typeof(value))CAST_INTEGER_TO_FIXED(((IOHIDDockSwipeEventData*)event)->swipeMask); \
            break; \
        case kIOHIDEventFieldDockSwipeMotion: \
            value = (typeof(value))CAST_SHORTINTEGER_TO_FIXED(((IOHIDDockSwipeEventData*)event)->gestureMotion); \
            break; \
        case kIOHIDEventFieldDockSwipeFlavor: \
            value = (typeof(value))CAST_SHORTINTEGER_TO_FIXED(((IOHIDDockSwipeEventData*)event)->flavor); \
            break; \
        case kIOHIDEventFieldDockSwipeProgress: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDDockSwipeEventData*)event)->progress); \
            break; \
        _IOHIDDockSwipeGetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDDockSwipeSetFieldsAsDataMacro(event, field) \

#define _IOHIDDockSwipeGetFieldsAsDataMacro(event, field) \

#define _IOHIDUnicodeSetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeUnicode:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldUnicodeEncoding: \
            ((IOHIDUnicodeEventData*)event)->encoding = (typeof(((IOHIDUnicodeEventData*)event)->encoding)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldUnicodeQuality: \
            ((IOHIDUnicodeEventData*)event)->quality = (typeof(((IOHIDUnicodeEventData*)event)->quality)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldUnicodeLength: \
            ((IOHIDUnicodeEventData*)event)->length = (typeof(((IOHIDUnicodeEventData*)event)->length)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldUnicodePayload: \
            *(typeof(value)*)(((IOHIDUnicodeEventData*)event)->payload) = value; \
            break; \
        _IOHIDUnicodeSetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDUnicodeGetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeUnicode:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldUnicodeEncoding: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDUnicodeEventData*)event)->encoding); \
            break; \
        case kIOHIDEventFieldUnicodeQuality: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDUnicodeEventData*)event)->quality); \
            break; \
        case kIOHIDEventFieldUnicodeLength: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDUnicodeEventData*)event)->length); \
            break; \
        case kIOHIDEventFieldUnicodePayload: \
            value = *(typeof(value)*)((IOHIDUnicodeEventData*)event)->payload; \
            break; \
        _IOHIDUnicodeGetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDUnicodeSetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeUnicode:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldUnicodeEncoding: \
            ((IOHIDUnicodeEventData*)event)->encoding = (typeof(((IOHIDUnicodeEventData*)event)->encoding)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldUnicodeQuality: \
            ((IOHIDUnicodeEventData*)event)->quality = (typeof(((IOHIDUnicodeEventData*)event)->quality)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldUnicodeLength: \
            ((IOHIDUnicodeEventData*)event)->length = (typeof(((IOHIDUnicodeEventData*)event)->length)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        _IOHIDUnicodeSetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDUnicodeGetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeUnicode:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldUnicodeEncoding: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDUnicodeEventData*)event)->encoding); \
            break; \
        case kIOHIDEventFieldUnicodeQuality: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDUnicodeEventData*)event)->quality); \
            break; \
        case kIOHIDEventFieldUnicodeLength: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDUnicodeEventData*)event)->length); \
            break; \
        _IOHIDUnicodeGetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDUnicodeSetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeUnicode:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldUnicodeEncoding: \
            ((IOHIDUnicodeEventData*)event)->encoding = (typeof(((IOHIDUnicodeEventData*)event)->encoding)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldUnicodeQuality: \
            ((IOHIDUnicodeEventData*)event)->quality = (typeof(((IOHIDUnicodeEventData*)event)->quality)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldUnicodeLength: \
            ((IOHIDUnicodeEventData*)event)->length = (typeof(((IOHIDUnicodeEventData*)event)->length)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        _IOHIDUnicodeSetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDUnicodeGetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeUnicode:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldUnicodeEncoding: \
            value = (typeof(value))CAST_INTEGER_TO_FIXED(((IOHIDUnicodeEventData*)event)->encoding); \
            break; \
        case kIOHIDEventFieldUnicodeQuality: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDUnicodeEventData*)event)->quality); \
            break; \
        case kIOHIDEventFieldUnicodeLength: \
            value = (typeof(value))CAST_INTEGER_TO_FIXED(((IOHIDUnicodeEventData*)event)->length); \
            break; \
        _IOHIDUnicodeGetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDUnicodeSetFieldsAsDataMacro(event, field) \

#define _IOHIDUnicodeGetFieldsAsDataMacro(event, field) \
case kIOHIDEventTypeUnicode:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldUnicodePayload: \
            value = (typeof(value))(((IOHIDUnicodeEventData*)event)->payload); \
            break;\
        _IOHIDUnicodeGetSynthesizedFieldsAsDataMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDKeyboardSetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeKeyboard:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldKeyboardRepeat: \
            ((IOHIDKeyboardEventData*)event)->options.repeat = value ? 1 : 0; \
            break; \
        case kIOHIDEventFieldKeyboardUsagePage: \
            ((IOHIDKeyboardEventData*)event)->usagePage = (typeof(((IOHIDKeyboardEventData*)event)->usagePage)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldKeyboardUsage: \
            ((IOHIDKeyboardEventData*)event)->usage = (typeof(((IOHIDKeyboardEventData*)event)->usage)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldKeyboardDown: \
            ((IOHIDKeyboardEventData*)event)->down = (typeof(((IOHIDKeyboardEventData*)event)->down)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldKeyboardLongPress: \
            ((IOHIDKeyboardEventData*)event)->longPress = value ? 1 : 0; \
            break; \
        case kIOHIDEventFieldKeyboardClickSpeed: \
            ((IOHIDKeyboardEventData*)event)->clickSpeed = (typeof(((IOHIDKeyboardEventData*)event)->clickSpeed)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldKeyboardSlowKeyPhase: \
            ((IOHIDKeyboardEventData*)event)->slowKeyPhase = (typeof(((IOHIDKeyboardEventData*)event)->slowKeyPhase)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldKeyboardMouseKeyToggle: \
            ((IOHIDKeyboardEventData*)event)->mouseKeyToggle = value ? 1 : 0; \
            break; \
        case kIOHIDEventFieldKeyboardStickyKeyPhase: \
            ((IOHIDKeyboardEventData*)event)->stickyKeyPhase = (typeof(((IOHIDKeyboardEventData*)event)->stickyKeyPhase)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldKeyboardStickyKeyToggle: \
            ((IOHIDKeyboardEventData*)event)->stickyKeyToggle = (typeof(((IOHIDKeyboardEventData*)event)->stickyKeyToggle)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldKeyboardPressCount: \
            ((IOHIDKeyboardEventData*)event)->pressCount = (typeof(((IOHIDKeyboardEventData*)event)->pressCount)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        _IOHIDKeyboardSetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDKeyboardGetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypeKeyboard:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldKeyboardRepeat: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDKeyboardEventData*)event)->options.repeat); \
            break; \
        case kIOHIDEventFieldKeyboardUsagePage: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDKeyboardEventData*)event)->usagePage); \
            break; \
        case kIOHIDEventFieldKeyboardUsage: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDKeyboardEventData*)event)->usage); \
            break; \
        case kIOHIDEventFieldKeyboardDown: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDKeyboardEventData*)event)->down); \
            break; \
        case kIOHIDEventFieldKeyboardLongPress: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDKeyboardEventData*)event)->longPress); \
            break; \
        case kIOHIDEventFieldKeyboardClickSpeed: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDKeyboardEventData*)event)->clickSpeed); \
            break; \
        case kIOHIDEventFieldKeyboardSlowKeyPhase: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDKeyboardEventData*)event)->slowKeyPhase); \
            break; \
        case kIOHIDEventFieldKeyboardMouseKeyToggle: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDKeyboardEventData*)event)->mouseKeyToggle); \
            break; \
        case kIOHIDEventFieldKeyboardStickyKeyPhase: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDKeyboardEventData*)event)->stickyKeyPhase); \
            break; \
        case kIOHIDEventFieldKeyboardStickyKeyToggle: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDKeyboardEventData*)event)->stickyKeyToggle); \
            break; \
        case kIOHIDEventFieldKeyboardPressCount: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDKeyboardEventData*)event)->pressCount); \
            break; \
        _IOHIDKeyboardGetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDKeyboardSetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeKeyboard:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldKeyboardRepeat: \
            ((IOHIDKeyboardEventData*)event)->options.repeat = value ? 1 : 0; \
            break; \
        case kIOHIDEventFieldKeyboardUsagePage: \
            ((IOHIDKeyboardEventData*)event)->usagePage = (typeof(((IOHIDKeyboardEventData*)event)->usagePage)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldKeyboardUsage: \
            ((IOHIDKeyboardEventData*)event)->usage = (typeof(((IOHIDKeyboardEventData*)event)->usage)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldKeyboardDown: \
            ((IOHIDKeyboardEventData*)event)->down = (typeof(((IOHIDKeyboardEventData*)event)->down)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldKeyboardLongPress: \
            ((IOHIDKeyboardEventData*)event)->longPress = value ? 1 : 0; \
            break; \
        case kIOHIDEventFieldKeyboardClickSpeed: \
            ((IOHIDKeyboardEventData*)event)->clickSpeed = (typeof(((IOHIDKeyboardEventData*)event)->clickSpeed)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldKeyboardSlowKeyPhase: \
            ((IOHIDKeyboardEventData*)event)->slowKeyPhase = (typeof(((IOHIDKeyboardEventData*)event)->slowKeyPhase)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldKeyboardMouseKeyToggle: \
            ((IOHIDKeyboardEventData*)event)->mouseKeyToggle = value ? 1 : 0; \
            break; \
        case kIOHIDEventFieldKeyboardStickyKeyPhase: \
            ((IOHIDKeyboardEventData*)event)->stickyKeyPhase = (typeof(((IOHIDKeyboardEventData*)event)->stickyKeyPhase)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldKeyboardStickyKeyToggle: \
            ((IOHIDKeyboardEventData*)event)->stickyKeyToggle = (typeof(((IOHIDKeyboardEventData*)event)->stickyKeyToggle)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldKeyboardPressCount: \
            ((IOHIDKeyboardEventData*)event)->pressCount = (typeof(((IOHIDKeyboardEventData*)event)->pressCount)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        _IOHIDKeyboardSetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDKeyboardGetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypeKeyboard:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldKeyboardRepeat: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDKeyboardEventData*)event)->options.repeat); \
            break; \
        case kIOHIDEventFieldKeyboardUsagePage: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDKeyboardEventData*)event)->usagePage); \
            break; \
        case kIOHIDEventFieldKeyboardUsage: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDKeyboardEventData*)event)->usage); \
            break; \
        case kIOHIDEventFieldKeyboardDown: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDKeyboardEventData*)event)->down); \
            break; \
        case kIOHIDEventFieldKeyboardLongPress: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDKeyboardEventData*)event)->longPress); \
            break; \
        case kIOHIDEventFieldKeyboardClickSpeed: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDKeyboardEventData*)event)->clickSpeed); \
            break; \
        case kIOHIDEventFieldKeyboardSlowKeyPhase: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDKeyboardEventData*)event)->slowKeyPhase); \
            break; \
        case kIOHIDEventFieldKeyboardMouseKeyToggle: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDKeyboardEventData*)event)->mouseKeyToggle); \
            break; \
        case kIOHIDEventFieldKeyboardStickyKeyPhase: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDKeyboardEventData*)event)->stickyKeyPhase); \
            break; \
        case kIOHIDEventFieldKeyboardStickyKeyToggle: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDKeyboardEventData*)event)->stickyKeyToggle); \
            break; \
        case kIOHIDEventFieldKeyboardPressCount: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDKeyboardEventData*)event)->pressCount); \
            break; \
        _IOHIDKeyboardGetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDKeyboardSetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeKeyboard:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldKeyboardRepeat: \
            ((IOHIDKeyboardEventData*)event)->options.repeat = value ? 1 : 0; \
            break; \
        case kIOHIDEventFieldKeyboardUsagePage: \
            ((IOHIDKeyboardEventData*)event)->usagePage = (typeof(((IOHIDKeyboardEventData*)event)->usagePage)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldKeyboardUsage: \
            ((IOHIDKeyboardEventData*)event)->usage = (typeof(((IOHIDKeyboardEventData*)event)->usage)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldKeyboardDown: \
            ((IOHIDKeyboardEventData*)event)->down = (typeof(((IOHIDKeyboardEventData*)event)->down)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldKeyboardLongPress: \
            ((IOHIDKeyboardEventData*)event)->longPress = value ? 1 : 0; \
            break; \
        case kIOHIDEventFieldKeyboardClickSpeed: \
            ((IOHIDKeyboardEventData*)event)->clickSpeed = (typeof(((IOHIDKeyboardEventData*)event)->clickSpeed)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldKeyboardSlowKeyPhase: \
            ((IOHIDKeyboardEventData*)event)->slowKeyPhase = (typeof(((IOHIDKeyboardEventData*)event)->slowKeyPhase)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldKeyboardMouseKeyToggle: \
            ((IOHIDKeyboardEventData*)event)->mouseKeyToggle = value ? 1 : 0; \
            break; \
        case kIOHIDEventFieldKeyboardStickyKeyPhase: \
            ((IOHIDKeyboardEventData*)event)->stickyKeyPhase = (typeof(((IOHIDKeyboardEventData*)event)->stickyKeyPhase)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldKeyboardStickyKeyToggle: \
            ((IOHIDKeyboardEventData*)event)->stickyKeyToggle = (typeof(((IOHIDKeyboardEventData*)event)->stickyKeyToggle)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        case kIOHIDEventFieldKeyboardPressCount: \
            ((IOHIDKeyboardEventData*)event)->pressCount = (typeof(((IOHIDKeyboardEventData*)event)->pressCount)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        _IOHIDKeyboardSetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDKeyboardGetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypeKeyboard:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldKeyboardRepeat: \
            value = (typeof(value))CAST_SHORTINTEGER_TO_FIXED(((IOHIDKeyboardEventData*)event)->options.repeat); \
            break; \
        case kIOHIDEventFieldKeyboardUsagePage: \
            value = (typeof(value))CAST_SHORTINTEGER_TO_FIXED(((IOHIDKeyboardEventData*)event)->usagePage); \
            break; \
        case kIOHIDEventFieldKeyboardUsage: \
            value = (typeof(value))CAST_SHORTINTEGER_TO_FIXED(((IOHIDKeyboardEventData*)event)->usage); \
            break; \
        case kIOHIDEventFieldKeyboardDown: \
            value = (typeof(value))CAST_INTEGER_TO_FIXED(((IOHIDKeyboardEventData*)event)->down); \
            break; \
        case kIOHIDEventFieldKeyboardLongPress: \
            value = (typeof(value))CAST_SHORTINTEGER_TO_FIXED(((IOHIDKeyboardEventData*)event)->longPress); \
            break; \
        case kIOHIDEventFieldKeyboardClickSpeed: \
            value = (typeof(value))CAST_SHORTINTEGER_TO_FIXED(((IOHIDKeyboardEventData*)event)->clickSpeed); \
            break; \
        case kIOHIDEventFieldKeyboardSlowKeyPhase: \
            value = (typeof(value))CAST_SHORTINTEGER_TO_FIXED(((IOHIDKeyboardEventData*)event)->slowKeyPhase); \
            break; \
        case kIOHIDEventFieldKeyboardMouseKeyToggle: \
            value = (typeof(value))CAST_SHORTINTEGER_TO_FIXED(((IOHIDKeyboardEventData*)event)->mouseKeyToggle); \
            break; \
        case kIOHIDEventFieldKeyboardStickyKeyPhase: \
            value = (typeof(value))CAST_SHORTINTEGER_TO_FIXED(((IOHIDKeyboardEventData*)event)->stickyKeyPhase); \
            break; \
        case kIOHIDEventFieldKeyboardStickyKeyToggle: \
            value = (typeof(value))CAST_SHORTINTEGER_TO_FIXED(((IOHIDKeyboardEventData*)event)->stickyKeyToggle); \
            break; \
        case kIOHIDEventFieldKeyboardPressCount: \
            value = (typeof(value))CAST_SHORTINTEGER_TO_FIXED(((IOHIDKeyboardEventData*)event)->pressCount); \
            break; \
        _IOHIDKeyboardGetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDKeyboardSetFieldsAsDataMacro(event, field) \

#define _IOHIDKeyboardGetFieldsAsDataMacro(event, field) \

#define _IOHIDPointerSetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypePointer:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldPointerX: \
            ((IOHIDPointerEventData*)event)->position.x = (typeof(((IOHIDPointerEventData*)event)->position.x)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldPointerY: \
            ((IOHIDPointerEventData*)event)->position.y = (typeof(((IOHIDPointerEventData*)event)->position.y)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldPointerZ: \
            ((IOHIDPointerEventData*)event)->position.z = (typeof(((IOHIDPointerEventData*)event)->position.z)) CAST_INTEGER_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldPointerButtonMask: \
            ((IOHIDPointerEventData*)event)->button.mask = (typeof(((IOHIDPointerEventData*)event)->button.mask)) CAST_INTEGER_TO_INTEGER(value); \
            break; \
        _IOHIDPointerSetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDPointerGetFieldsAsIntegerMacro(event, field) \
case kIOHIDEventTypePointer:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldPointerX: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDPointerEventData*)event)->position.x); \
            break; \
        case kIOHIDEventFieldPointerY: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDPointerEventData*)event)->position.y); \
            break; \
        case kIOHIDEventFieldPointerZ: \
            value = (typeof(value))CAST_FIXED_TO_INTEGER(((IOHIDPointerEventData*)event)->position.z); \
            break; \
        case kIOHIDEventFieldPointerButtonMask: \
            value = (typeof(value))CAST_INTEGER_TO_INTEGER(((IOHIDPointerEventData*)event)->button.mask); \
            break; \
        _IOHIDPointerGetSynthesizedFieldsAsIntegerMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDPointerSetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypePointer:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldPointerX: \
            ((IOHIDPointerEventData*)event)->position.x = (typeof(((IOHIDPointerEventData*)event)->position.x)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldPointerY: \
            ((IOHIDPointerEventData*)event)->position.y = (typeof(((IOHIDPointerEventData*)event)->position.y)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldPointerZ: \
            ((IOHIDPointerEventData*)event)->position.z = (typeof(((IOHIDPointerEventData*)event)->position.z)) CAST_DOUBLE_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldPointerButtonMask: \
            ((IOHIDPointerEventData*)event)->button.mask = (typeof(((IOHIDPointerEventData*)event)->button.mask)) CAST_DOUBLE_TO_INTEGER(value); \
            break; \
        _IOHIDPointerSetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDPointerGetFieldsAsDoubleMacro(event, field) \
case kIOHIDEventTypePointer:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldPointerX: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDPointerEventData*)event)->position.x); \
            break; \
        case kIOHIDEventFieldPointerY: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDPointerEventData*)event)->position.y); \
            break; \
        case kIOHIDEventFieldPointerZ: \
            value = (typeof(value))CAST_FIXED_TO_DOUBLE(((IOHIDPointerEventData*)event)->position.z); \
            break; \
        case kIOHIDEventFieldPointerButtonMask: \
            value = (typeof(value))CAST_INTEGER_TO_DOUBLE(((IOHIDPointerEventData*)event)->button.mask); \
            break; \
        _IOHIDPointerGetSynthesizedFieldsAsDoubleMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDPointerSetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypePointer:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldPointerX: \
            ((IOHIDPointerEventData*)event)->position.x = (typeof(((IOHIDPointerEventData*)event)->position.x)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldPointerY: \
            ((IOHIDPointerEventData*)event)->position.y = (typeof(((IOHIDPointerEventData*)event)->position.y)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldPointerZ: \
            ((IOHIDPointerEventData*)event)->position.z = (typeof(((IOHIDPointerEventData*)event)->position.z)) CAST_FIXED_TO_FIXED(value); \
            break; \
        case kIOHIDEventFieldPointerButtonMask: \
            ((IOHIDPointerEventData*)event)->button.mask = (typeof(((IOHIDPointerEventData*)event)->button.mask)) CAST_FIXED_TO_INTEGER(value); \
            break; \
        _IOHIDPointerSetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDPointerGetFieldsAsFixedMacro(event, field) \
case kIOHIDEventTypePointer:\
{\
    switch (field)\
    {\
        case kIOHIDEventFieldPointerX: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDPointerEventData*)event)->position.x); \
            break; \
        case kIOHIDEventFieldPointerY: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDPointerEventData*)event)->position.y); \
            break; \
        case kIOHIDEventFieldPointerZ: \
            value = (typeof(value))CAST_FIXED_TO_FIXED(((IOHIDPointerEventData*)event)->position.z); \
            break; \
        case kIOHIDEventFieldPointerButtonMask: \
            value = (typeof(value))CAST_INTEGER_TO_FIXED(((IOHIDPointerEventData*)event)->button.mask); \
            break; \
        _IOHIDPointerGetSynthesizedFieldsAsFixedMacro(event,field) \
    }\
    break;\
}\

#define _IOHIDPointerSetFieldsAsDataMacro(event, field) \

#define _IOHIDPointerGetFieldsAsDataMacro(event, field) \


#ifndef _IOHIDVendorDefinedGetSynthesizedFieldsAsIntegerMacro
#define _IOHIDVendorDefinedGetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDVendorDefinedSetSynthesizedFieldsAsIntegerMacro
#define _IOHIDVendorDefinedSetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDScaleGetSynthesizedFieldsAsIntegerMacro
#define _IOHIDScaleGetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDScaleSetSynthesizedFieldsAsIntegerMacro
#define _IOHIDScaleSetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDSymbolicHotKeyGetSynthesizedFieldsAsIntegerMacro
#define _IOHIDSymbolicHotKeyGetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDSymbolicHotKeySetSynthesizedFieldsAsIntegerMacro
#define _IOHIDSymbolicHotKeySetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDTemperatureGetSynthesizedFieldsAsIntegerMacro
#define _IOHIDTemperatureGetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDTemperatureSetSynthesizedFieldsAsIntegerMacro
#define _IOHIDTemperatureSetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDAccelerometerGetSynthesizedFieldsAsIntegerMacro
#define _IOHIDAccelerometerGetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDAccelerometerSetSynthesizedFieldsAsIntegerMacro
#define _IOHIDAccelerometerSetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDZoomToggleGetSynthesizedFieldsAsIntegerMacro
#define _IOHIDZoomToggleGetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDZoomToggleSetSynthesizedFieldsAsIntegerMacro
#define _IOHIDZoomToggleSetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDProgressGetSynthesizedFieldsAsIntegerMacro
#define _IOHIDProgressGetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDProgressSetSynthesizedFieldsAsIntegerMacro
#define _IOHIDProgressSetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDGenericGestureGetSynthesizedFieldsAsIntegerMacro
#define _IOHIDGenericGestureGetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDGenericGestureSetSynthesizedFieldsAsIntegerMacro
#define _IOHIDGenericGestureSetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDNULLGetSynthesizedFieldsAsIntegerMacro
#define _IOHIDNULLGetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDNULLSetSynthesizedFieldsAsIntegerMacro
#define _IOHIDNULLSetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDAmbientLightSensorGetSynthesizedFieldsAsIntegerMacro
#define _IOHIDAmbientLightSensorGetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDAmbientLightSensorSetSynthesizedFieldsAsIntegerMacro
#define _IOHIDAmbientLightSensorSetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDPowerGetSynthesizedFieldsAsIntegerMacro
#define _IOHIDPowerGetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDPowerSetSynthesizedFieldsAsIntegerMacro
#define _IOHIDPowerSetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDForceGetSynthesizedFieldsAsIntegerMacro
#define _IOHIDForceGetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDForceSetSynthesizedFieldsAsIntegerMacro
#define _IOHIDForceSetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDMotionGestureGetSynthesizedFieldsAsIntegerMacro
#define _IOHIDMotionGestureGetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDMotionGestureSetSynthesizedFieldsAsIntegerMacro
#define _IOHIDMotionGestureSetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDCollectionGetSynthesizedFieldsAsIntegerMacro
#define _IOHIDCollectionGetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDCollectionSetSynthesizedFieldsAsIntegerMacro
#define _IOHIDCollectionSetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDGameControllerGetSynthesizedFieldsAsIntegerMacro
#define _IOHIDGameControllerGetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDGameControllerSetSynthesizedFieldsAsIntegerMacro
#define _IOHIDGameControllerSetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDTranslationGetSynthesizedFieldsAsIntegerMacro
#define _IOHIDTranslationGetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDTranslationSetSynthesizedFieldsAsIntegerMacro
#define _IOHIDTranslationSetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDDigitizerGetSynthesizedFieldsAsIntegerMacro
#define _IOHIDDigitizerGetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDDigitizerSetSynthesizedFieldsAsIntegerMacro
#define _IOHIDDigitizerSetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDCompassGetSynthesizedFieldsAsIntegerMacro
#define _IOHIDCompassGetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDCompassSetSynthesizedFieldsAsIntegerMacro
#define _IOHIDCompassSetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDRotationGetSynthesizedFieldsAsIntegerMacro
#define _IOHIDRotationGetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDRotationSetSynthesizedFieldsAsIntegerMacro
#define _IOHIDRotationSetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDMotionActivityGetSynthesizedFieldsAsIntegerMacro
#define _IOHIDMotionActivityGetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDMotionActivitySetSynthesizedFieldsAsIntegerMacro
#define _IOHIDMotionActivitySetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDMultiAxisPointerGetSynthesizedFieldsAsIntegerMacro
#define _IOHIDMultiAxisPointerGetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDMultiAxisPointerSetSynthesizedFieldsAsIntegerMacro
#define _IOHIDMultiAxisPointerSetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDBrightnessGetSynthesizedFieldsAsIntegerMacro
#define _IOHIDBrightnessGetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDBrightnessSetSynthesizedFieldsAsIntegerMacro
#define _IOHIDBrightnessSetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDGyroGetSynthesizedFieldsAsIntegerMacro
#define _IOHIDGyroGetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDGyroSetSynthesizedFieldsAsIntegerMacro
#define _IOHIDGyroSetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDButtonGetSynthesizedFieldsAsIntegerMacro
#define _IOHIDButtonGetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDButtonSetSynthesizedFieldsAsIntegerMacro
#define _IOHIDButtonSetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDNavigationSwipeGetSynthesizedFieldsAsIntegerMacro
#define _IOHIDNavigationSwipeGetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDNavigationSwipeSetSynthesizedFieldsAsIntegerMacro
#define _IOHIDNavigationSwipeSetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDAtmosphericPressureGetSynthesizedFieldsAsIntegerMacro
#define _IOHIDAtmosphericPressureGetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDAtmosphericPressureSetSynthesizedFieldsAsIntegerMacro
#define _IOHIDAtmosphericPressureSetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDHumidityGetSynthesizedFieldsAsIntegerMacro
#define _IOHIDHumidityGetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDHumiditySetSynthesizedFieldsAsIntegerMacro
#define _IOHIDHumiditySetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDVelocityGetSynthesizedFieldsAsIntegerMacro
#define _IOHIDVelocityGetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDVelocitySetSynthesizedFieldsAsIntegerMacro
#define _IOHIDVelocitySetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDScrollGetSynthesizedFieldsAsIntegerMacro
#define _IOHIDScrollGetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDScrollSetSynthesizedFieldsAsIntegerMacro
#define _IOHIDScrollSetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDBiometricGetSynthesizedFieldsAsIntegerMacro
#define _IOHIDBiometricGetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDBiometricSetSynthesizedFieldsAsIntegerMacro
#define _IOHIDBiometricSetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDBoundaryScrollGetSynthesizedFieldsAsIntegerMacro
#define _IOHIDBoundaryScrollGetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDBoundaryScrollSetSynthesizedFieldsAsIntegerMacro
#define _IOHIDBoundaryScrollSetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDLEDGetSynthesizedFieldsAsIntegerMacro
#define _IOHIDLEDGetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDLEDSetSynthesizedFieldsAsIntegerMacro
#define _IOHIDLEDSetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDOrientationGetSynthesizedFieldsAsIntegerMacro
#define _IOHIDOrientationGetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDOrientationSetSynthesizedFieldsAsIntegerMacro
#define _IOHIDOrientationSetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDProximityGetSynthesizedFieldsAsIntegerMacro
#define _IOHIDProximityGetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDProximitySetSynthesizedFieldsAsIntegerMacro
#define _IOHIDProximitySetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDFluidTouchGestureGetSynthesizedFieldsAsIntegerMacro
#define _IOHIDFluidTouchGestureGetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDFluidTouchGestureSetSynthesizedFieldsAsIntegerMacro
#define _IOHIDFluidTouchGestureSetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDDockSwipeGetSynthesizedFieldsAsIntegerMacro
#define _IOHIDDockSwipeGetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDDockSwipeSetSynthesizedFieldsAsIntegerMacro
#define _IOHIDDockSwipeSetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDUnicodeGetSynthesizedFieldsAsIntegerMacro
#define _IOHIDUnicodeGetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDUnicodeSetSynthesizedFieldsAsIntegerMacro
#define _IOHIDUnicodeSetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDKeyboardGetSynthesizedFieldsAsIntegerMacro
#define _IOHIDKeyboardGetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDKeyboardSetSynthesizedFieldsAsIntegerMacro
#define _IOHIDKeyboardSetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDPointerGetSynthesizedFieldsAsIntegerMacro
#define _IOHIDPointerGetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDPointerSetSynthesizedFieldsAsIntegerMacro
#define _IOHIDPointerSetSynthesizedFieldsAsIntegerMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDVendorDefinedGetSynthesizedFieldsAsDoubleMacro
#define _IOHIDVendorDefinedGetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDVendorDefinedSetSynthesizedFieldsAsDoubleMacro
#define _IOHIDVendorDefinedSetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDScaleGetSynthesizedFieldsAsDoubleMacro
#define _IOHIDScaleGetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDScaleSetSynthesizedFieldsAsDoubleMacro
#define _IOHIDScaleSetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDSymbolicHotKeyGetSynthesizedFieldsAsDoubleMacro
#define _IOHIDSymbolicHotKeyGetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDSymbolicHotKeySetSynthesizedFieldsAsDoubleMacro
#define _IOHIDSymbolicHotKeySetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDTemperatureGetSynthesizedFieldsAsDoubleMacro
#define _IOHIDTemperatureGetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDTemperatureSetSynthesizedFieldsAsDoubleMacro
#define _IOHIDTemperatureSetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDAccelerometerGetSynthesizedFieldsAsDoubleMacro
#define _IOHIDAccelerometerGetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDAccelerometerSetSynthesizedFieldsAsDoubleMacro
#define _IOHIDAccelerometerSetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDZoomToggleGetSynthesizedFieldsAsDoubleMacro
#define _IOHIDZoomToggleGetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDZoomToggleSetSynthesizedFieldsAsDoubleMacro
#define _IOHIDZoomToggleSetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDProgressGetSynthesizedFieldsAsDoubleMacro
#define _IOHIDProgressGetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDProgressSetSynthesizedFieldsAsDoubleMacro
#define _IOHIDProgressSetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDGenericGestureGetSynthesizedFieldsAsDoubleMacro
#define _IOHIDGenericGestureGetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDGenericGestureSetSynthesizedFieldsAsDoubleMacro
#define _IOHIDGenericGestureSetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDNULLGetSynthesizedFieldsAsDoubleMacro
#define _IOHIDNULLGetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDNULLSetSynthesizedFieldsAsDoubleMacro
#define _IOHIDNULLSetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDAmbientLightSensorGetSynthesizedFieldsAsDoubleMacro
#define _IOHIDAmbientLightSensorGetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDAmbientLightSensorSetSynthesizedFieldsAsDoubleMacro
#define _IOHIDAmbientLightSensorSetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDPowerGetSynthesizedFieldsAsDoubleMacro
#define _IOHIDPowerGetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDPowerSetSynthesizedFieldsAsDoubleMacro
#define _IOHIDPowerSetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDForceGetSynthesizedFieldsAsDoubleMacro
#define _IOHIDForceGetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDForceSetSynthesizedFieldsAsDoubleMacro
#define _IOHIDForceSetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDMotionGestureGetSynthesizedFieldsAsDoubleMacro
#define _IOHIDMotionGestureGetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDMotionGestureSetSynthesizedFieldsAsDoubleMacro
#define _IOHIDMotionGestureSetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDCollectionGetSynthesizedFieldsAsDoubleMacro
#define _IOHIDCollectionGetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDCollectionSetSynthesizedFieldsAsDoubleMacro
#define _IOHIDCollectionSetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDGameControllerGetSynthesizedFieldsAsDoubleMacro
#define _IOHIDGameControllerGetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDGameControllerSetSynthesizedFieldsAsDoubleMacro
#define _IOHIDGameControllerSetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDTranslationGetSynthesizedFieldsAsDoubleMacro
#define _IOHIDTranslationGetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDTranslationSetSynthesizedFieldsAsDoubleMacro
#define _IOHIDTranslationSetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDDigitizerGetSynthesizedFieldsAsDoubleMacro
#define _IOHIDDigitizerGetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDDigitizerSetSynthesizedFieldsAsDoubleMacro
#define _IOHIDDigitizerSetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDCompassGetSynthesizedFieldsAsDoubleMacro
#define _IOHIDCompassGetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDCompassSetSynthesizedFieldsAsDoubleMacro
#define _IOHIDCompassSetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDRotationGetSynthesizedFieldsAsDoubleMacro
#define _IOHIDRotationGetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDRotationSetSynthesizedFieldsAsDoubleMacro
#define _IOHIDRotationSetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDMotionActivityGetSynthesizedFieldsAsDoubleMacro
#define _IOHIDMotionActivityGetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDMotionActivitySetSynthesizedFieldsAsDoubleMacro
#define _IOHIDMotionActivitySetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDMultiAxisPointerGetSynthesizedFieldsAsDoubleMacro
#define _IOHIDMultiAxisPointerGetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDMultiAxisPointerSetSynthesizedFieldsAsDoubleMacro
#define _IOHIDMultiAxisPointerSetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDBrightnessGetSynthesizedFieldsAsDoubleMacro
#define _IOHIDBrightnessGetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDBrightnessSetSynthesizedFieldsAsDoubleMacro
#define _IOHIDBrightnessSetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDGyroGetSynthesizedFieldsAsDoubleMacro
#define _IOHIDGyroGetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDGyroSetSynthesizedFieldsAsDoubleMacro
#define _IOHIDGyroSetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDButtonGetSynthesizedFieldsAsDoubleMacro
#define _IOHIDButtonGetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDButtonSetSynthesizedFieldsAsDoubleMacro
#define _IOHIDButtonSetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDNavigationSwipeGetSynthesizedFieldsAsDoubleMacro
#define _IOHIDNavigationSwipeGetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDNavigationSwipeSetSynthesizedFieldsAsDoubleMacro
#define _IOHIDNavigationSwipeSetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDAtmosphericPressureGetSynthesizedFieldsAsDoubleMacro
#define _IOHIDAtmosphericPressureGetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDAtmosphericPressureSetSynthesizedFieldsAsDoubleMacro
#define _IOHIDAtmosphericPressureSetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDHumidityGetSynthesizedFieldsAsDoubleMacro
#define _IOHIDHumidityGetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDHumiditySetSynthesizedFieldsAsDoubleMacro
#define _IOHIDHumiditySetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDVelocityGetSynthesizedFieldsAsDoubleMacro
#define _IOHIDVelocityGetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDVelocitySetSynthesizedFieldsAsDoubleMacro
#define _IOHIDVelocitySetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDScrollGetSynthesizedFieldsAsDoubleMacro
#define _IOHIDScrollGetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDScrollSetSynthesizedFieldsAsDoubleMacro
#define _IOHIDScrollSetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDBiometricGetSynthesizedFieldsAsDoubleMacro
#define _IOHIDBiometricGetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDBiometricSetSynthesizedFieldsAsDoubleMacro
#define _IOHIDBiometricSetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDBoundaryScrollGetSynthesizedFieldsAsDoubleMacro
#define _IOHIDBoundaryScrollGetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDBoundaryScrollSetSynthesizedFieldsAsDoubleMacro
#define _IOHIDBoundaryScrollSetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDLEDGetSynthesizedFieldsAsDoubleMacro
#define _IOHIDLEDGetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDLEDSetSynthesizedFieldsAsDoubleMacro
#define _IOHIDLEDSetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDOrientationGetSynthesizedFieldsAsDoubleMacro
#define _IOHIDOrientationGetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDOrientationSetSynthesizedFieldsAsDoubleMacro
#define _IOHIDOrientationSetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDProximityGetSynthesizedFieldsAsDoubleMacro
#define _IOHIDProximityGetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDProximitySetSynthesizedFieldsAsDoubleMacro
#define _IOHIDProximitySetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDFluidTouchGestureGetSynthesizedFieldsAsDoubleMacro
#define _IOHIDFluidTouchGestureGetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDFluidTouchGestureSetSynthesizedFieldsAsDoubleMacro
#define _IOHIDFluidTouchGestureSetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDDockSwipeGetSynthesizedFieldsAsDoubleMacro
#define _IOHIDDockSwipeGetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDDockSwipeSetSynthesizedFieldsAsDoubleMacro
#define _IOHIDDockSwipeSetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDUnicodeGetSynthesizedFieldsAsDoubleMacro
#define _IOHIDUnicodeGetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDUnicodeSetSynthesizedFieldsAsDoubleMacro
#define _IOHIDUnicodeSetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDKeyboardGetSynthesizedFieldsAsDoubleMacro
#define _IOHIDKeyboardGetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDKeyboardSetSynthesizedFieldsAsDoubleMacro
#define _IOHIDKeyboardSetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDPointerGetSynthesizedFieldsAsDoubleMacro
#define _IOHIDPointerGetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDPointerSetSynthesizedFieldsAsDoubleMacro
#define _IOHIDPointerSetSynthesizedFieldsAsDoubleMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDVendorDefinedGetSynthesizedFieldsAsFixedMacro
#define _IOHIDVendorDefinedGetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDVendorDefinedSetSynthesizedFieldsAsFixedMacro
#define _IOHIDVendorDefinedSetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDScaleGetSynthesizedFieldsAsFixedMacro
#define _IOHIDScaleGetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDScaleSetSynthesizedFieldsAsFixedMacro
#define _IOHIDScaleSetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDSymbolicHotKeyGetSynthesizedFieldsAsFixedMacro
#define _IOHIDSymbolicHotKeyGetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDSymbolicHotKeySetSynthesizedFieldsAsFixedMacro
#define _IOHIDSymbolicHotKeySetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDTemperatureGetSynthesizedFieldsAsFixedMacro
#define _IOHIDTemperatureGetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDTemperatureSetSynthesizedFieldsAsFixedMacro
#define _IOHIDTemperatureSetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDAccelerometerGetSynthesizedFieldsAsFixedMacro
#define _IOHIDAccelerometerGetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDAccelerometerSetSynthesizedFieldsAsFixedMacro
#define _IOHIDAccelerometerSetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDZoomToggleGetSynthesizedFieldsAsFixedMacro
#define _IOHIDZoomToggleGetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDZoomToggleSetSynthesizedFieldsAsFixedMacro
#define _IOHIDZoomToggleSetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDProgressGetSynthesizedFieldsAsFixedMacro
#define _IOHIDProgressGetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDProgressSetSynthesizedFieldsAsFixedMacro
#define _IOHIDProgressSetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDGenericGestureGetSynthesizedFieldsAsFixedMacro
#define _IOHIDGenericGestureGetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDGenericGestureSetSynthesizedFieldsAsFixedMacro
#define _IOHIDGenericGestureSetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDNULLGetSynthesizedFieldsAsFixedMacro
#define _IOHIDNULLGetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDNULLSetSynthesizedFieldsAsFixedMacro
#define _IOHIDNULLSetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDAmbientLightSensorGetSynthesizedFieldsAsFixedMacro
#define _IOHIDAmbientLightSensorGetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDAmbientLightSensorSetSynthesizedFieldsAsFixedMacro
#define _IOHIDAmbientLightSensorSetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDPowerGetSynthesizedFieldsAsFixedMacro
#define _IOHIDPowerGetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDPowerSetSynthesizedFieldsAsFixedMacro
#define _IOHIDPowerSetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDForceGetSynthesizedFieldsAsFixedMacro
#define _IOHIDForceGetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDForceSetSynthesizedFieldsAsFixedMacro
#define _IOHIDForceSetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDMotionGestureGetSynthesizedFieldsAsFixedMacro
#define _IOHIDMotionGestureGetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDMotionGestureSetSynthesizedFieldsAsFixedMacro
#define _IOHIDMotionGestureSetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDCollectionGetSynthesizedFieldsAsFixedMacro
#define _IOHIDCollectionGetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDCollectionSetSynthesizedFieldsAsFixedMacro
#define _IOHIDCollectionSetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDGameControllerGetSynthesizedFieldsAsFixedMacro
#define _IOHIDGameControllerGetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDGameControllerSetSynthesizedFieldsAsFixedMacro
#define _IOHIDGameControllerSetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDTranslationGetSynthesizedFieldsAsFixedMacro
#define _IOHIDTranslationGetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDTranslationSetSynthesizedFieldsAsFixedMacro
#define _IOHIDTranslationSetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDDigitizerGetSynthesizedFieldsAsFixedMacro
#define _IOHIDDigitizerGetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDDigitizerSetSynthesizedFieldsAsFixedMacro
#define _IOHIDDigitizerSetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDCompassGetSynthesizedFieldsAsFixedMacro
#define _IOHIDCompassGetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDCompassSetSynthesizedFieldsAsFixedMacro
#define _IOHIDCompassSetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDRotationGetSynthesizedFieldsAsFixedMacro
#define _IOHIDRotationGetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDRotationSetSynthesizedFieldsAsFixedMacro
#define _IOHIDRotationSetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDMotionActivityGetSynthesizedFieldsAsFixedMacro
#define _IOHIDMotionActivityGetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDMotionActivitySetSynthesizedFieldsAsFixedMacro
#define _IOHIDMotionActivitySetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDMultiAxisPointerGetSynthesizedFieldsAsFixedMacro
#define _IOHIDMultiAxisPointerGetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDMultiAxisPointerSetSynthesizedFieldsAsFixedMacro
#define _IOHIDMultiAxisPointerSetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDBrightnessGetSynthesizedFieldsAsFixedMacro
#define _IOHIDBrightnessGetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDBrightnessSetSynthesizedFieldsAsFixedMacro
#define _IOHIDBrightnessSetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDGyroGetSynthesizedFieldsAsFixedMacro
#define _IOHIDGyroGetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDGyroSetSynthesizedFieldsAsFixedMacro
#define _IOHIDGyroSetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDButtonGetSynthesizedFieldsAsFixedMacro
#define _IOHIDButtonGetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDButtonSetSynthesizedFieldsAsFixedMacro
#define _IOHIDButtonSetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDNavigationSwipeGetSynthesizedFieldsAsFixedMacro
#define _IOHIDNavigationSwipeGetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDNavigationSwipeSetSynthesizedFieldsAsFixedMacro
#define _IOHIDNavigationSwipeSetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDAtmosphericPressureGetSynthesizedFieldsAsFixedMacro
#define _IOHIDAtmosphericPressureGetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDAtmosphericPressureSetSynthesizedFieldsAsFixedMacro
#define _IOHIDAtmosphericPressureSetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDHumidityGetSynthesizedFieldsAsFixedMacro
#define _IOHIDHumidityGetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDHumiditySetSynthesizedFieldsAsFixedMacro
#define _IOHIDHumiditySetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDVelocityGetSynthesizedFieldsAsFixedMacro
#define _IOHIDVelocityGetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDVelocitySetSynthesizedFieldsAsFixedMacro
#define _IOHIDVelocitySetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDScrollGetSynthesizedFieldsAsFixedMacro
#define _IOHIDScrollGetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDScrollSetSynthesizedFieldsAsFixedMacro
#define _IOHIDScrollSetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDBiometricGetSynthesizedFieldsAsFixedMacro
#define _IOHIDBiometricGetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDBiometricSetSynthesizedFieldsAsFixedMacro
#define _IOHIDBiometricSetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDBoundaryScrollGetSynthesizedFieldsAsFixedMacro
#define _IOHIDBoundaryScrollGetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDBoundaryScrollSetSynthesizedFieldsAsFixedMacro
#define _IOHIDBoundaryScrollSetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDLEDGetSynthesizedFieldsAsFixedMacro
#define _IOHIDLEDGetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDLEDSetSynthesizedFieldsAsFixedMacro
#define _IOHIDLEDSetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDOrientationGetSynthesizedFieldsAsFixedMacro
#define _IOHIDOrientationGetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDOrientationSetSynthesizedFieldsAsFixedMacro
#define _IOHIDOrientationSetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDProximityGetSynthesizedFieldsAsFixedMacro
#define _IOHIDProximityGetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDProximitySetSynthesizedFieldsAsFixedMacro
#define _IOHIDProximitySetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDFluidTouchGestureGetSynthesizedFieldsAsFixedMacro
#define _IOHIDFluidTouchGestureGetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDFluidTouchGestureSetSynthesizedFieldsAsFixedMacro
#define _IOHIDFluidTouchGestureSetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDDockSwipeGetSynthesizedFieldsAsFixedMacro
#define _IOHIDDockSwipeGetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDDockSwipeSetSynthesizedFieldsAsFixedMacro
#define _IOHIDDockSwipeSetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDUnicodeGetSynthesizedFieldsAsFixedMacro
#define _IOHIDUnicodeGetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDUnicodeSetSynthesizedFieldsAsFixedMacro
#define _IOHIDUnicodeSetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDKeyboardGetSynthesizedFieldsAsFixedMacro
#define _IOHIDKeyboardGetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDKeyboardSetSynthesizedFieldsAsFixedMacro
#define _IOHIDKeyboardSetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDPointerGetSynthesizedFieldsAsFixedMacro
#define _IOHIDPointerGetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDPointerSetSynthesizedFieldsAsFixedMacro
#define _IOHIDPointerSetSynthesizedFieldsAsFixedMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDVendorDefinedGetSynthesizedFieldsAsDataMacro
#define _IOHIDVendorDefinedGetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDVendorDefinedSetSynthesizedFieldsAsDataMacro
#define _IOHIDVendorDefinedSetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDScaleGetSynthesizedFieldsAsDataMacro
#define _IOHIDScaleGetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDScaleSetSynthesizedFieldsAsDataMacro
#define _IOHIDScaleSetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDSymbolicHotKeyGetSynthesizedFieldsAsDataMacro
#define _IOHIDSymbolicHotKeyGetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDSymbolicHotKeySetSynthesizedFieldsAsDataMacro
#define _IOHIDSymbolicHotKeySetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDTemperatureGetSynthesizedFieldsAsDataMacro
#define _IOHIDTemperatureGetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDTemperatureSetSynthesizedFieldsAsDataMacro
#define _IOHIDTemperatureSetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDAccelerometerGetSynthesizedFieldsAsDataMacro
#define _IOHIDAccelerometerGetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDAccelerometerSetSynthesizedFieldsAsDataMacro
#define _IOHIDAccelerometerSetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDZoomToggleGetSynthesizedFieldsAsDataMacro
#define _IOHIDZoomToggleGetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDZoomToggleSetSynthesizedFieldsAsDataMacro
#define _IOHIDZoomToggleSetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDProgressGetSynthesizedFieldsAsDataMacro
#define _IOHIDProgressGetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDProgressSetSynthesizedFieldsAsDataMacro
#define _IOHIDProgressSetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDGenericGestureGetSynthesizedFieldsAsDataMacro
#define _IOHIDGenericGestureGetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDGenericGestureSetSynthesizedFieldsAsDataMacro
#define _IOHIDGenericGestureSetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDNULLGetSynthesizedFieldsAsDataMacro
#define _IOHIDNULLGetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDNULLSetSynthesizedFieldsAsDataMacro
#define _IOHIDNULLSetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDAmbientLightSensorGetSynthesizedFieldsAsDataMacro
#define _IOHIDAmbientLightSensorGetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDAmbientLightSensorSetSynthesizedFieldsAsDataMacro
#define _IOHIDAmbientLightSensorSetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDPowerGetSynthesizedFieldsAsDataMacro
#define _IOHIDPowerGetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDPowerSetSynthesizedFieldsAsDataMacro
#define _IOHIDPowerSetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDForceGetSynthesizedFieldsAsDataMacro
#define _IOHIDForceGetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDForceSetSynthesizedFieldsAsDataMacro
#define _IOHIDForceSetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDMotionGestureGetSynthesizedFieldsAsDataMacro
#define _IOHIDMotionGestureGetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDMotionGestureSetSynthesizedFieldsAsDataMacro
#define _IOHIDMotionGestureSetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDCollectionGetSynthesizedFieldsAsDataMacro
#define _IOHIDCollectionGetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDCollectionSetSynthesizedFieldsAsDataMacro
#define _IOHIDCollectionSetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDGameControllerGetSynthesizedFieldsAsDataMacro
#define _IOHIDGameControllerGetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDGameControllerSetSynthesizedFieldsAsDataMacro
#define _IOHIDGameControllerSetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDTranslationGetSynthesizedFieldsAsDataMacro
#define _IOHIDTranslationGetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDTranslationSetSynthesizedFieldsAsDataMacro
#define _IOHIDTranslationSetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDDigitizerGetSynthesizedFieldsAsDataMacro
#define _IOHIDDigitizerGetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDDigitizerSetSynthesizedFieldsAsDataMacro
#define _IOHIDDigitizerSetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDCompassGetSynthesizedFieldsAsDataMacro
#define _IOHIDCompassGetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDCompassSetSynthesizedFieldsAsDataMacro
#define _IOHIDCompassSetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDRotationGetSynthesizedFieldsAsDataMacro
#define _IOHIDRotationGetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDRotationSetSynthesizedFieldsAsDataMacro
#define _IOHIDRotationSetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDMotionActivityGetSynthesizedFieldsAsDataMacro
#define _IOHIDMotionActivityGetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDMotionActivitySetSynthesizedFieldsAsDataMacro
#define _IOHIDMotionActivitySetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDMultiAxisPointerGetSynthesizedFieldsAsDataMacro
#define _IOHIDMultiAxisPointerGetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDMultiAxisPointerSetSynthesizedFieldsAsDataMacro
#define _IOHIDMultiAxisPointerSetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDBrightnessGetSynthesizedFieldsAsDataMacro
#define _IOHIDBrightnessGetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDBrightnessSetSynthesizedFieldsAsDataMacro
#define _IOHIDBrightnessSetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDGyroGetSynthesizedFieldsAsDataMacro
#define _IOHIDGyroGetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDGyroSetSynthesizedFieldsAsDataMacro
#define _IOHIDGyroSetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDButtonGetSynthesizedFieldsAsDataMacro
#define _IOHIDButtonGetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDButtonSetSynthesizedFieldsAsDataMacro
#define _IOHIDButtonSetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDNavigationSwipeGetSynthesizedFieldsAsDataMacro
#define _IOHIDNavigationSwipeGetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDNavigationSwipeSetSynthesizedFieldsAsDataMacro
#define _IOHIDNavigationSwipeSetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDAtmosphericPressureGetSynthesizedFieldsAsDataMacro
#define _IOHIDAtmosphericPressureGetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDAtmosphericPressureSetSynthesizedFieldsAsDataMacro
#define _IOHIDAtmosphericPressureSetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDHumidityGetSynthesizedFieldsAsDataMacro
#define _IOHIDHumidityGetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDHumiditySetSynthesizedFieldsAsDataMacro
#define _IOHIDHumiditySetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDVelocityGetSynthesizedFieldsAsDataMacro
#define _IOHIDVelocityGetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDVelocitySetSynthesizedFieldsAsDataMacro
#define _IOHIDVelocitySetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDScrollGetSynthesizedFieldsAsDataMacro
#define _IOHIDScrollGetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDScrollSetSynthesizedFieldsAsDataMacro
#define _IOHIDScrollSetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDBiometricGetSynthesizedFieldsAsDataMacro
#define _IOHIDBiometricGetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDBiometricSetSynthesizedFieldsAsDataMacro
#define _IOHIDBiometricSetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDBoundaryScrollGetSynthesizedFieldsAsDataMacro
#define _IOHIDBoundaryScrollGetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDBoundaryScrollSetSynthesizedFieldsAsDataMacro
#define _IOHIDBoundaryScrollSetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDLEDGetSynthesizedFieldsAsDataMacro
#define _IOHIDLEDGetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDLEDSetSynthesizedFieldsAsDataMacro
#define _IOHIDLEDSetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDOrientationGetSynthesizedFieldsAsDataMacro
#define _IOHIDOrientationGetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDOrientationSetSynthesizedFieldsAsDataMacro
#define _IOHIDOrientationSetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDProximityGetSynthesizedFieldsAsDataMacro
#define _IOHIDProximityGetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDProximitySetSynthesizedFieldsAsDataMacro
#define _IOHIDProximitySetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDFluidTouchGestureGetSynthesizedFieldsAsDataMacro
#define _IOHIDFluidTouchGestureGetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDFluidTouchGestureSetSynthesizedFieldsAsDataMacro
#define _IOHIDFluidTouchGestureSetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDDockSwipeGetSynthesizedFieldsAsDataMacro
#define _IOHIDDockSwipeGetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDDockSwipeSetSynthesizedFieldsAsDataMacro
#define _IOHIDDockSwipeSetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDUnicodeGetSynthesizedFieldsAsDataMacro
#define _IOHIDUnicodeGetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDUnicodeSetSynthesizedFieldsAsDataMacro
#define _IOHIDUnicodeSetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDKeyboardGetSynthesizedFieldsAsDataMacro
#define _IOHIDKeyboardGetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDKeyboardSetSynthesizedFieldsAsDataMacro
#define _IOHIDKeyboardSetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDPointerGetSynthesizedFieldsAsDataMacro
#define _IOHIDPointerGetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif
#ifndef _IOHIDPointerSetSynthesizedFieldsAsDataMacro
#define _IOHIDPointerSetSynthesizedFieldsAsDataMacro _IOHIDUnknowDefaultField
#endif

#define IOHIDEventSetIntegerFieldsMacro(event, field) \
     _IOHIDVendorDefinedSetFieldsAsIntegerMacro(event, field)\
     _IOHIDScaleSetFieldsAsIntegerMacro(event, field)\
     _IOHIDSymbolicHotKeySetFieldsAsIntegerMacro(event, field)\
     _IOHIDTemperatureSetFieldsAsIntegerMacro(event, field)\
     _IOHIDAccelerometerSetFieldsAsIntegerMacro(event, field)\
     _IOHIDZoomToggleSetFieldsAsIntegerMacro(event, field)\
     _IOHIDProgressSetFieldsAsIntegerMacro(event, field)\
     _IOHIDGenericGestureSetFieldsAsIntegerMacro(event, field)\
     _IOHIDNULLSetFieldsAsIntegerMacro(event, field)\
     _IOHIDAmbientLightSensorSetFieldsAsIntegerMacro(event, field)\
     _IOHIDPowerSetFieldsAsIntegerMacro(event, field)\
     _IOHIDForceSetFieldsAsIntegerMacro(event, field)\
     _IOHIDMotionGestureSetFieldsAsIntegerMacro(event, field)\
     _IOHIDCollectionSetFieldsAsIntegerMacro(event, field)\
     _IOHIDGameControllerSetFieldsAsIntegerMacro(event, field)\
     _IOHIDTranslationSetFieldsAsIntegerMacro(event, field)\
     _IOHIDDigitizerSetFieldsAsIntegerMacro(event, field)\
     _IOHIDCompassSetFieldsAsIntegerMacro(event, field)\
     _IOHIDRotationSetFieldsAsIntegerMacro(event, field)\
     _IOHIDMotionActivitySetFieldsAsIntegerMacro(event, field)\
     _IOHIDMultiAxisPointerSetFieldsAsIntegerMacro(event, field)\
     _IOHIDBrightnessSetFieldsAsIntegerMacro(event, field)\
     _IOHIDGyroSetFieldsAsIntegerMacro(event, field)\
     _IOHIDButtonSetFieldsAsIntegerMacro(event, field)\
     _IOHIDNavigationSwipeSetFieldsAsIntegerMacro(event, field)\
     _IOHIDAtmosphericPressureSetFieldsAsIntegerMacro(event, field)\
     _IOHIDHumiditySetFieldsAsIntegerMacro(event, field)\
     _IOHIDVelocitySetFieldsAsIntegerMacro(event, field)\
     _IOHIDScrollSetFieldsAsIntegerMacro(event, field)\
     _IOHIDBiometricSetFieldsAsIntegerMacro(event, field)\
     _IOHIDBoundaryScrollSetFieldsAsIntegerMacro(event, field)\
     _IOHIDLEDSetFieldsAsIntegerMacro(event, field)\
     _IOHIDOrientationSetFieldsAsIntegerMacro(event, field)\
     _IOHIDProximitySetFieldsAsIntegerMacro(event, field)\
     _IOHIDFluidTouchGestureSetFieldsAsIntegerMacro(event, field)\
     _IOHIDDockSwipeSetFieldsAsIntegerMacro(event, field)\
     _IOHIDUnicodeSetFieldsAsIntegerMacro(event, field)\
     _IOHIDKeyboardSetFieldsAsIntegerMacro(event, field)\
     _IOHIDPointerSetFieldsAsIntegerMacro(event, field)

#define IOHIDEventSetDoubleFieldsMacro(event, field) \
     _IOHIDVendorDefinedSetFieldsAsDoubleMacro(event, field)\
     _IOHIDScaleSetFieldsAsDoubleMacro(event, field)\
     _IOHIDSymbolicHotKeySetFieldsAsDoubleMacro(event, field)\
     _IOHIDTemperatureSetFieldsAsDoubleMacro(event, field)\
     _IOHIDAccelerometerSetFieldsAsDoubleMacro(event, field)\
     _IOHIDZoomToggleSetFieldsAsDoubleMacro(event, field)\
     _IOHIDProgressSetFieldsAsDoubleMacro(event, field)\
     _IOHIDGenericGestureSetFieldsAsDoubleMacro(event, field)\
     _IOHIDNULLSetFieldsAsDoubleMacro(event, field)\
     _IOHIDAmbientLightSensorSetFieldsAsDoubleMacro(event, field)\
     _IOHIDPowerSetFieldsAsDoubleMacro(event, field)\
     _IOHIDForceSetFieldsAsDoubleMacro(event, field)\
     _IOHIDMotionGestureSetFieldsAsDoubleMacro(event, field)\
     _IOHIDCollectionSetFieldsAsDoubleMacro(event, field)\
     _IOHIDGameControllerSetFieldsAsDoubleMacro(event, field)\
     _IOHIDTranslationSetFieldsAsDoubleMacro(event, field)\
     _IOHIDDigitizerSetFieldsAsDoubleMacro(event, field)\
     _IOHIDCompassSetFieldsAsDoubleMacro(event, field)\
     _IOHIDRotationSetFieldsAsDoubleMacro(event, field)\
     _IOHIDMotionActivitySetFieldsAsDoubleMacro(event, field)\
     _IOHIDMultiAxisPointerSetFieldsAsDoubleMacro(event, field)\
     _IOHIDBrightnessSetFieldsAsDoubleMacro(event, field)\
     _IOHIDGyroSetFieldsAsDoubleMacro(event, field)\
     _IOHIDButtonSetFieldsAsDoubleMacro(event, field)\
     _IOHIDNavigationSwipeSetFieldsAsDoubleMacro(event, field)\
     _IOHIDAtmosphericPressureSetFieldsAsDoubleMacro(event, field)\
     _IOHIDHumiditySetFieldsAsDoubleMacro(event, field)\
     _IOHIDVelocitySetFieldsAsDoubleMacro(event, field)\
     _IOHIDScrollSetFieldsAsDoubleMacro(event, field)\
     _IOHIDBiometricSetFieldsAsDoubleMacro(event, field)\
     _IOHIDBoundaryScrollSetFieldsAsDoubleMacro(event, field)\
     _IOHIDLEDSetFieldsAsDoubleMacro(event, field)\
     _IOHIDOrientationSetFieldsAsDoubleMacro(event, field)\
     _IOHIDProximitySetFieldsAsDoubleMacro(event, field)\
     _IOHIDFluidTouchGestureSetFieldsAsDoubleMacro(event, field)\
     _IOHIDDockSwipeSetFieldsAsDoubleMacro(event, field)\
     _IOHIDUnicodeSetFieldsAsDoubleMacro(event, field)\
     _IOHIDKeyboardSetFieldsAsDoubleMacro(event, field)\
     _IOHIDPointerSetFieldsAsDoubleMacro(event, field)

#define IOHIDEventSetFixedFieldsMacro(event, field) \
     _IOHIDVendorDefinedSetFieldsAsFixedMacro(event, field)\
     _IOHIDScaleSetFieldsAsFixedMacro(event, field)\
     _IOHIDSymbolicHotKeySetFieldsAsFixedMacro(event, field)\
     _IOHIDTemperatureSetFieldsAsFixedMacro(event, field)\
     _IOHIDAccelerometerSetFieldsAsFixedMacro(event, field)\
     _IOHIDZoomToggleSetFieldsAsFixedMacro(event, field)\
     _IOHIDProgressSetFieldsAsFixedMacro(event, field)\
     _IOHIDGenericGestureSetFieldsAsFixedMacro(event, field)\
     _IOHIDNULLSetFieldsAsFixedMacro(event, field)\
     _IOHIDAmbientLightSensorSetFieldsAsFixedMacro(event, field)\
     _IOHIDPowerSetFieldsAsFixedMacro(event, field)\
     _IOHIDForceSetFieldsAsFixedMacro(event, field)\
     _IOHIDMotionGestureSetFieldsAsFixedMacro(event, field)\
     _IOHIDCollectionSetFieldsAsFixedMacro(event, field)\
     _IOHIDGameControllerSetFieldsAsFixedMacro(event, field)\
     _IOHIDTranslationSetFieldsAsFixedMacro(event, field)\
     _IOHIDDigitizerSetFieldsAsFixedMacro(event, field)\
     _IOHIDCompassSetFieldsAsFixedMacro(event, field)\
     _IOHIDRotationSetFieldsAsFixedMacro(event, field)\
     _IOHIDMotionActivitySetFieldsAsFixedMacro(event, field)\
     _IOHIDMultiAxisPointerSetFieldsAsFixedMacro(event, field)\
     _IOHIDBrightnessSetFieldsAsFixedMacro(event, field)\
     _IOHIDGyroSetFieldsAsFixedMacro(event, field)\
     _IOHIDButtonSetFieldsAsFixedMacro(event, field)\
     _IOHIDNavigationSwipeSetFieldsAsFixedMacro(event, field)\
     _IOHIDAtmosphericPressureSetFieldsAsFixedMacro(event, field)\
     _IOHIDHumiditySetFieldsAsFixedMacro(event, field)\
     _IOHIDVelocitySetFieldsAsFixedMacro(event, field)\
     _IOHIDScrollSetFieldsAsFixedMacro(event, field)\
     _IOHIDBiometricSetFieldsAsFixedMacro(event, field)\
     _IOHIDBoundaryScrollSetFieldsAsFixedMacro(event, field)\
     _IOHIDLEDSetFieldsAsFixedMacro(event, field)\
     _IOHIDOrientationSetFieldsAsFixedMacro(event, field)\
     _IOHIDProximitySetFieldsAsFixedMacro(event, field)\
     _IOHIDFluidTouchGestureSetFieldsAsFixedMacro(event, field)\
     _IOHIDDockSwipeSetFieldsAsFixedMacro(event, field)\
     _IOHIDUnicodeSetFieldsAsFixedMacro(event, field)\
     _IOHIDKeyboardSetFieldsAsFixedMacro(event, field)\
     _IOHIDPointerSetFieldsAsFixedMacro(event, field)

#define IOHIDEventSetDataFieldsMacro(event, field) \
     _IOHIDVendorDefinedSetFieldsAsDataMacro(event, field)\
     _IOHIDScaleSetFieldsAsDataMacro(event, field)\
     _IOHIDSymbolicHotKeySetFieldsAsDataMacro(event, field)\
     _IOHIDTemperatureSetFieldsAsDataMacro(event, field)\
     _IOHIDAccelerometerSetFieldsAsDataMacro(event, field)\
     _IOHIDZoomToggleSetFieldsAsDataMacro(event, field)\
     _IOHIDProgressSetFieldsAsDataMacro(event, field)\
     _IOHIDGenericGestureSetFieldsAsDataMacro(event, field)\
     _IOHIDNULLSetFieldsAsDataMacro(event, field)\
     _IOHIDAmbientLightSensorSetFieldsAsDataMacro(event, field)\
     _IOHIDPowerSetFieldsAsDataMacro(event, field)\
     _IOHIDForceSetFieldsAsDataMacro(event, field)\
     _IOHIDMotionGestureSetFieldsAsDataMacro(event, field)\
     _IOHIDCollectionSetFieldsAsDataMacro(event, field)\
     _IOHIDGameControllerSetFieldsAsDataMacro(event, field)\
     _IOHIDTranslationSetFieldsAsDataMacro(event, field)\
     _IOHIDDigitizerSetFieldsAsDataMacro(event, field)\
     _IOHIDCompassSetFieldsAsDataMacro(event, field)\
     _IOHIDRotationSetFieldsAsDataMacro(event, field)\
     _IOHIDMotionActivitySetFieldsAsDataMacro(event, field)\
     _IOHIDMultiAxisPointerSetFieldsAsDataMacro(event, field)\
     _IOHIDBrightnessSetFieldsAsDataMacro(event, field)\
     _IOHIDGyroSetFieldsAsDataMacro(event, field)\
     _IOHIDButtonSetFieldsAsDataMacro(event, field)\
     _IOHIDNavigationSwipeSetFieldsAsDataMacro(event, field)\
     _IOHIDAtmosphericPressureSetFieldsAsDataMacro(event, field)\
     _IOHIDHumiditySetFieldsAsDataMacro(event, field)\
     _IOHIDVelocitySetFieldsAsDataMacro(event, field)\
     _IOHIDScrollSetFieldsAsDataMacro(event, field)\
     _IOHIDBiometricSetFieldsAsDataMacro(event, field)\
     _IOHIDBoundaryScrollSetFieldsAsDataMacro(event, field)\
     _IOHIDLEDSetFieldsAsDataMacro(event, field)\
     _IOHIDOrientationSetFieldsAsDataMacro(event, field)\
     _IOHIDProximitySetFieldsAsDataMacro(event, field)\
     _IOHIDFluidTouchGestureSetFieldsAsDataMacro(event, field)\
     _IOHIDDockSwipeSetFieldsAsDataMacro(event, field)\
     _IOHIDUnicodeSetFieldsAsDataMacro(event, field)\
     _IOHIDKeyboardSetFieldsAsDataMacro(event, field)\
     _IOHIDPointerSetFieldsAsDataMacro(event, field)


#define IOHIDEventGetIntegerFieldsMacro(event, field) \
    _IOHIDVendorDefinedGetFieldsAsIntegerMacro(event, field) \
    _IOHIDScaleGetFieldsAsIntegerMacro(event, field) \
    _IOHIDSymbolicHotKeyGetFieldsAsIntegerMacro(event, field) \
    _IOHIDTemperatureGetFieldsAsIntegerMacro(event, field) \
    _IOHIDAccelerometerGetFieldsAsIntegerMacro(event, field) \
    _IOHIDZoomToggleGetFieldsAsIntegerMacro(event, field) \
    _IOHIDProgressGetFieldsAsIntegerMacro(event, field) \
    _IOHIDGenericGestureGetFieldsAsIntegerMacro(event, field) \
    _IOHIDNULLGetFieldsAsIntegerMacro(event, field) \
    _IOHIDAmbientLightSensorGetFieldsAsIntegerMacro(event, field) \
    _IOHIDPowerGetFieldsAsIntegerMacro(event, field) \
    _IOHIDForceGetFieldsAsIntegerMacro(event, field) \
    _IOHIDMotionGestureGetFieldsAsIntegerMacro(event, field) \
    _IOHIDCollectionGetFieldsAsIntegerMacro(event, field) \
    _IOHIDGameControllerGetFieldsAsIntegerMacro(event, field) \
    _IOHIDTranslationGetFieldsAsIntegerMacro(event, field) \
    _IOHIDDigitizerGetFieldsAsIntegerMacro(event, field) \
    _IOHIDCompassGetFieldsAsIntegerMacro(event, field) \
    _IOHIDRotationGetFieldsAsIntegerMacro(event, field) \
    _IOHIDMotionActivityGetFieldsAsIntegerMacro(event, field) \
    _IOHIDMultiAxisPointerGetFieldsAsIntegerMacro(event, field) \
    _IOHIDBrightnessGetFieldsAsIntegerMacro(event, field) \
    _IOHIDGyroGetFieldsAsIntegerMacro(event, field) \
    _IOHIDButtonGetFieldsAsIntegerMacro(event, field) \
    _IOHIDNavigationSwipeGetFieldsAsIntegerMacro(event, field) \
    _IOHIDAtmosphericPressureGetFieldsAsIntegerMacro(event, field) \
    _IOHIDHumidityGetFieldsAsIntegerMacro(event, field) \
    _IOHIDVelocityGetFieldsAsIntegerMacro(event, field) \
    _IOHIDScrollGetFieldsAsIntegerMacro(event, field) \
    _IOHIDBiometricGetFieldsAsIntegerMacro(event, field) \
    _IOHIDBoundaryScrollGetFieldsAsIntegerMacro(event, field) \
    _IOHIDLEDGetFieldsAsIntegerMacro(event, field) \
    _IOHIDOrientationGetFieldsAsIntegerMacro(event, field) \
    _IOHIDProximityGetFieldsAsIntegerMacro(event, field) \
    _IOHIDFluidTouchGestureGetFieldsAsIntegerMacro(event, field) \
    _IOHIDDockSwipeGetFieldsAsIntegerMacro(event, field) \
    _IOHIDUnicodeGetFieldsAsIntegerMacro(event, field) \
    _IOHIDKeyboardGetFieldsAsIntegerMacro(event, field) \
    _IOHIDPointerGetFieldsAsIntegerMacro(event, field) 

#define IOHIDEventGetDoubleFieldsMacro(event, field) \
    _IOHIDVendorDefinedGetFieldsAsDoubleMacro(event, field) \
    _IOHIDScaleGetFieldsAsDoubleMacro(event, field) \
    _IOHIDSymbolicHotKeyGetFieldsAsDoubleMacro(event, field) \
    _IOHIDTemperatureGetFieldsAsDoubleMacro(event, field) \
    _IOHIDAccelerometerGetFieldsAsDoubleMacro(event, field) \
    _IOHIDZoomToggleGetFieldsAsDoubleMacro(event, field) \
    _IOHIDProgressGetFieldsAsDoubleMacro(event, field) \
    _IOHIDGenericGestureGetFieldsAsDoubleMacro(event, field) \
    _IOHIDNULLGetFieldsAsDoubleMacro(event, field) \
    _IOHIDAmbientLightSensorGetFieldsAsDoubleMacro(event, field) \
    _IOHIDPowerGetFieldsAsDoubleMacro(event, field) \
    _IOHIDForceGetFieldsAsDoubleMacro(event, field) \
    _IOHIDMotionGestureGetFieldsAsDoubleMacro(event, field) \
    _IOHIDCollectionGetFieldsAsDoubleMacro(event, field) \
    _IOHIDGameControllerGetFieldsAsDoubleMacro(event, field) \
    _IOHIDTranslationGetFieldsAsDoubleMacro(event, field) \
    _IOHIDDigitizerGetFieldsAsDoubleMacro(event, field) \
    _IOHIDCompassGetFieldsAsDoubleMacro(event, field) \
    _IOHIDRotationGetFieldsAsDoubleMacro(event, field) \
    _IOHIDMotionActivityGetFieldsAsDoubleMacro(event, field) \
    _IOHIDMultiAxisPointerGetFieldsAsDoubleMacro(event, field) \
    _IOHIDBrightnessGetFieldsAsDoubleMacro(event, field) \
    _IOHIDGyroGetFieldsAsDoubleMacro(event, field) \
    _IOHIDButtonGetFieldsAsDoubleMacro(event, field) \
    _IOHIDNavigationSwipeGetFieldsAsDoubleMacro(event, field) \
    _IOHIDAtmosphericPressureGetFieldsAsDoubleMacro(event, field) \
    _IOHIDHumidityGetFieldsAsDoubleMacro(event, field) \
    _IOHIDVelocityGetFieldsAsDoubleMacro(event, field) \
    _IOHIDScrollGetFieldsAsDoubleMacro(event, field) \
    _IOHIDBiometricGetFieldsAsDoubleMacro(event, field) \
    _IOHIDBoundaryScrollGetFieldsAsDoubleMacro(event, field) \
    _IOHIDLEDGetFieldsAsDoubleMacro(event, field) \
    _IOHIDOrientationGetFieldsAsDoubleMacro(event, field) \
    _IOHIDProximityGetFieldsAsDoubleMacro(event, field) \
    _IOHIDFluidTouchGestureGetFieldsAsDoubleMacro(event, field) \
    _IOHIDDockSwipeGetFieldsAsDoubleMacro(event, field) \
    _IOHIDUnicodeGetFieldsAsDoubleMacro(event, field) \
    _IOHIDKeyboardGetFieldsAsDoubleMacro(event, field) \
    _IOHIDPointerGetFieldsAsDoubleMacro(event, field) 

#define IOHIDEventGetFixedFieldsMacro(event, field) \
    _IOHIDVendorDefinedGetFieldsAsFixedMacro(event, field) \
    _IOHIDScaleGetFieldsAsFixedMacro(event, field) \
    _IOHIDSymbolicHotKeyGetFieldsAsFixedMacro(event, field) \
    _IOHIDTemperatureGetFieldsAsFixedMacro(event, field) \
    _IOHIDAccelerometerGetFieldsAsFixedMacro(event, field) \
    _IOHIDZoomToggleGetFieldsAsFixedMacro(event, field) \
    _IOHIDProgressGetFieldsAsFixedMacro(event, field) \
    _IOHIDGenericGestureGetFieldsAsFixedMacro(event, field) \
    _IOHIDNULLGetFieldsAsFixedMacro(event, field) \
    _IOHIDAmbientLightSensorGetFieldsAsFixedMacro(event, field) \
    _IOHIDPowerGetFieldsAsFixedMacro(event, field) \
    _IOHIDForceGetFieldsAsFixedMacro(event, field) \
    _IOHIDMotionGestureGetFieldsAsFixedMacro(event, field) \
    _IOHIDCollectionGetFieldsAsFixedMacro(event, field) \
    _IOHIDGameControllerGetFieldsAsFixedMacro(event, field) \
    _IOHIDTranslationGetFieldsAsFixedMacro(event, field) \
    _IOHIDDigitizerGetFieldsAsFixedMacro(event, field) \
    _IOHIDCompassGetFieldsAsFixedMacro(event, field) \
    _IOHIDRotationGetFieldsAsFixedMacro(event, field) \
    _IOHIDMotionActivityGetFieldsAsFixedMacro(event, field) \
    _IOHIDMultiAxisPointerGetFieldsAsFixedMacro(event, field) \
    _IOHIDBrightnessGetFieldsAsFixedMacro(event, field) \
    _IOHIDGyroGetFieldsAsFixedMacro(event, field) \
    _IOHIDButtonGetFieldsAsFixedMacro(event, field) \
    _IOHIDNavigationSwipeGetFieldsAsFixedMacro(event, field) \
    _IOHIDAtmosphericPressureGetFieldsAsFixedMacro(event, field) \
    _IOHIDHumidityGetFieldsAsFixedMacro(event, field) \
    _IOHIDVelocityGetFieldsAsFixedMacro(event, field) \
    _IOHIDScrollGetFieldsAsFixedMacro(event, field) \
    _IOHIDBiometricGetFieldsAsFixedMacro(event, field) \
    _IOHIDBoundaryScrollGetFieldsAsFixedMacro(event, field) \
    _IOHIDLEDGetFieldsAsFixedMacro(event, field) \
    _IOHIDOrientationGetFieldsAsFixedMacro(event, field) \
    _IOHIDProximityGetFieldsAsFixedMacro(event, field) \
    _IOHIDFluidTouchGestureGetFieldsAsFixedMacro(event, field) \
    _IOHIDDockSwipeGetFieldsAsFixedMacro(event, field) \
    _IOHIDUnicodeGetFieldsAsFixedMacro(event, field) \
    _IOHIDKeyboardGetFieldsAsFixedMacro(event, field) \
    _IOHIDPointerGetFieldsAsFixedMacro(event, field) 

#define IOHIDEventGetDataFieldsMacro(event, field) \
    _IOHIDVendorDefinedGetFieldsAsDataMacro(event, field) \
    _IOHIDScaleGetFieldsAsDataMacro(event, field) \
    _IOHIDSymbolicHotKeyGetFieldsAsDataMacro(event, field) \
    _IOHIDTemperatureGetFieldsAsDataMacro(event, field) \
    _IOHIDAccelerometerGetFieldsAsDataMacro(event, field) \
    _IOHIDZoomToggleGetFieldsAsDataMacro(event, field) \
    _IOHIDProgressGetFieldsAsDataMacro(event, field) \
    _IOHIDGenericGestureGetFieldsAsDataMacro(event, field) \
    _IOHIDNULLGetFieldsAsDataMacro(event, field) \
    _IOHIDAmbientLightSensorGetFieldsAsDataMacro(event, field) \
    _IOHIDPowerGetFieldsAsDataMacro(event, field) \
    _IOHIDForceGetFieldsAsDataMacro(event, field) \
    _IOHIDMotionGestureGetFieldsAsDataMacro(event, field) \
    _IOHIDCollectionGetFieldsAsDataMacro(event, field) \
    _IOHIDGameControllerGetFieldsAsDataMacro(event, field) \
    _IOHIDTranslationGetFieldsAsDataMacro(event, field) \
    _IOHIDDigitizerGetFieldsAsDataMacro(event, field) \
    _IOHIDCompassGetFieldsAsDataMacro(event, field) \
    _IOHIDRotationGetFieldsAsDataMacro(event, field) \
    _IOHIDMotionActivityGetFieldsAsDataMacro(event, field) \
    _IOHIDMultiAxisPointerGetFieldsAsDataMacro(event, field) \
    _IOHIDBrightnessGetFieldsAsDataMacro(event, field) \
    _IOHIDGyroGetFieldsAsDataMacro(event, field) \
    _IOHIDButtonGetFieldsAsDataMacro(event, field) \
    _IOHIDNavigationSwipeGetFieldsAsDataMacro(event, field) \
    _IOHIDAtmosphericPressureGetFieldsAsDataMacro(event, field) \
    _IOHIDHumidityGetFieldsAsDataMacro(event, field) \
    _IOHIDVelocityGetFieldsAsDataMacro(event, field) \
    _IOHIDScrollGetFieldsAsDataMacro(event, field) \
    _IOHIDBiometricGetFieldsAsDataMacro(event, field) \
    _IOHIDBoundaryScrollGetFieldsAsDataMacro(event, field) \
    _IOHIDLEDGetFieldsAsDataMacro(event, field) \
    _IOHIDOrientationGetFieldsAsDataMacro(event, field) \
    _IOHIDProximityGetFieldsAsDataMacro(event, field) \
    _IOHIDFluidTouchGestureGetFieldsAsDataMacro(event, field) \
    _IOHIDDockSwipeGetFieldsAsDataMacro(event, field) \
    _IOHIDUnicodeGetFieldsAsDataMacro(event, field) \
    _IOHIDKeyboardGetFieldsAsDataMacro(event, field) \
    _IOHIDPointerGetFieldsAsDataMacro(event, field) 

#define IOHIDEventGetBaseSize(type, size)\
    switch(type) {\
      case kIOHIDEventTypeVendorDefined:\
          size = sizeof (IOHIDVendorDefinedEventData);\
          break;\
      case kIOHIDEventTypeScale:\
          size = sizeof (IOHIDScaleEventData);\
          break;\
      case kIOHIDEventTypeSymbolicHotKey:\
          size = sizeof (IOHIDSymbolicHotKeyEventData);\
          break;\
      case kIOHIDEventTypeTemperature:\
          size = sizeof (IOHIDTemperatureEventData);\
          break;\
      case kIOHIDEventTypeAccelerometer:\
          size = sizeof (IOHIDAccelerometerEventData);\
          break;\
      case kIOHIDEventTypeZoomToggle:\
          size = sizeof (IOHIDZoomToggleEventData);\
          break;\
      case kIOHIDEventTypeProgress:\
          size = sizeof (IOHIDProgressEventData);\
          break;\
      case kIOHIDEventTypeGenericGesture:\
          size = sizeof (IOHIDGenericGestureEventData);\
          break;\
      case kIOHIDEventTypeNULL:\
          size = sizeof (IOHIDNULLEventData);\
          break;\
      case kIOHIDEventTypeAmbientLightSensor:\
          size = sizeof (IOHIDAmbientLightSensorEventData);\
          break;\
      case kIOHIDEventTypePower:\
          size = sizeof (IOHIDPowerEventData);\
          break;\
      case kIOHIDEventTypeForce:\
          size = sizeof (IOHIDForceEventData);\
          break;\
      case kIOHIDEventTypeMotionGesture:\
          size = sizeof (IOHIDMotionGestureEventData);\
          break;\
      case kIOHIDEventTypeCollection:\
          size = sizeof (IOHIDCollectionEventData);\
          break;\
      case kIOHIDEventTypeGameController:\
          size = sizeof (IOHIDGameControllerEventData);\
          break;\
      case kIOHIDEventTypeTranslation:\
          size = sizeof (IOHIDTranslationEventData);\
          break;\
      case kIOHIDEventTypeDigitizer:\
          size = sizeof (IOHIDDigitizerEventData);\
          break;\
      case kIOHIDEventTypeCompass:\
          size = sizeof (IOHIDCompassEventData);\
          break;\
      case kIOHIDEventTypeRotation:\
          size = sizeof (IOHIDRotationEventData);\
          break;\
      case kIOHIDEventTypeMotionActivity:\
          size = sizeof (IOHIDMotionActivityEventData);\
          break;\
      case kIOHIDEventTypeMultiAxisPointer:\
          size = sizeof (IOHIDMultiAxisPointerEventData);\
          break;\
      case kIOHIDEventTypeBrightness:\
          size = sizeof (IOHIDBrightnessEventData);\
          break;\
      case kIOHIDEventTypeGyro:\
          size = sizeof (IOHIDGyroEventData);\
          break;\
      case kIOHIDEventTypeButton:\
          size = sizeof (IOHIDButtonEventData);\
          break;\
      case kIOHIDEventTypeNavigationSwipe:\
          size = sizeof (IOHIDNavigationSwipeEventData);\
          break;\
      case kIOHIDEventTypeAtmosphericPressure:\
          size = sizeof (IOHIDAtmosphericPressureEventData);\
          break;\
      case kIOHIDEventTypeHumidity:\
          size = sizeof (IOHIDHumidityEventData);\
          break;\
      case kIOHIDEventTypeVelocity:\
          size = sizeof (IOHIDVelocityEventData);\
          break;\
      case kIOHIDEventTypeScroll:\
          size = sizeof (IOHIDScrollEventData);\
          break;\
      case kIOHIDEventTypeBiometric:\
          size = sizeof (IOHIDBiometricEventData);\
          break;\
      case kIOHIDEventTypeBoundaryScroll:\
          size = sizeof (IOHIDBoundaryScrollEventData);\
          break;\
      case kIOHIDEventTypeLED:\
          size = sizeof (IOHIDLEDEventData);\
          break;\
      case kIOHIDEventTypeOrientation:\
          size = sizeof (IOHIDOrientationEventData);\
          break;\
      case kIOHIDEventTypeProximity:\
          size = sizeof (IOHIDProximityEventData);\
          break;\
      case kIOHIDEventTypeFluidTouchGesture:\
          size = sizeof (IOHIDFluidTouchGestureEventData);\
          break;\
      case kIOHIDEventTypeDockSwipe:\
          size = sizeof (IOHIDDockSwipeEventData);\
          break;\
      case kIOHIDEventTypeUnicode:\
          size = sizeof (IOHIDUnicodeEventData);\
          break;\
      case kIOHIDEventTypeKeyboard:\
          size = sizeof (IOHIDKeyboardEventData);\
          break;\
      case kIOHIDEventTypePointer:\
          size = sizeof (IOHIDPointerEventData);\
          break;\
      default:\
          size = 0;\
    }\


#define IOHIDEventGetSize(type, size) \
    switch(type) {\
      case kIOHIDEventTypeVendorDefined:\
          size = sizeof (__IOHIDVendorDefinedEventData);\
          break; \
      case kIOHIDEventTypeScale:\
          size = sizeof (__IOHIDScaleEventData);\
          break; \
      case kIOHIDEventTypeSymbolicHotKey:\
          size = sizeof (__IOHIDSymbolicHotKeyEventData);\
          break; \
      case kIOHIDEventTypeTemperature:\
          size = sizeof (__IOHIDTemperatureEventData);\
          break; \
      case kIOHIDEventTypeAccelerometer:\
          size = sizeof (__IOHIDAccelerometerEventData);\
          break; \
      case kIOHIDEventTypeZoomToggle:\
          size = sizeof (__IOHIDZoomToggleEventData);\
          break; \
      case kIOHIDEventTypeProgress:\
          size = sizeof (__IOHIDProgressEventData);\
          break; \
      case kIOHIDEventTypeGenericGesture:\
          size = sizeof (__IOHIDGenericGestureEventData);\
          break; \
      case kIOHIDEventTypeNULL:\
          size = sizeof (__IOHIDNULLEventData);\
          break; \
      case kIOHIDEventTypeAmbientLightSensor:\
          size = sizeof (__IOHIDAmbientLightSensorEventData);\
          break; \
      case kIOHIDEventTypePower:\
          size = sizeof (__IOHIDPowerEventData);\
          break; \
      case kIOHIDEventTypeForce:\
          size = sizeof (__IOHIDForceEventData);\
          break; \
      case kIOHIDEventTypeMotionGesture:\
          size = sizeof (__IOHIDMotionGestureEventData);\
          break; \
      case kIOHIDEventTypeCollection:\
          size = sizeof (__IOHIDCollectionEventData);\
          break; \
      case kIOHIDEventTypeGameController:\
          size = sizeof (__IOHIDGameControllerEventData);\
          break; \
      case kIOHIDEventTypeTranslation:\
          size = sizeof (__IOHIDTranslationEventData);\
          break; \
      case kIOHIDEventTypeDigitizer:\
          size = sizeof (__IOHIDDigitizerEventData);\
          break; \
      case kIOHIDEventTypeCompass:\
          size = sizeof (__IOHIDCompassEventData);\
          break; \
      case kIOHIDEventTypeRotation:\
          size = sizeof (__IOHIDRotationEventData);\
          break; \
      case kIOHIDEventTypeMotionActivity:\
          size = sizeof (__IOHIDMotionActivityEventData);\
          break; \
      case kIOHIDEventTypeMultiAxisPointer:\
          size = sizeof (__IOHIDMultiAxisPointerEventData);\
          break; \
      case kIOHIDEventTypeBrightness:\
          size = sizeof (__IOHIDBrightnessEventData);\
          break; \
      case kIOHIDEventTypeGyro:\
          size = sizeof (__IOHIDGyroEventData);\
          break; \
      case kIOHIDEventTypeButton:\
          size = sizeof (__IOHIDButtonEventData);\
          break; \
      case kIOHIDEventTypeNavigationSwipe:\
          size = sizeof (__IOHIDNavigationSwipeEventData);\
          break; \
      case kIOHIDEventTypeAtmosphericPressure:\
          size = sizeof (__IOHIDAtmosphericPressureEventData);\
          break; \
      case kIOHIDEventTypeHumidity:\
          size = sizeof (__IOHIDHumidityEventData);\
          break; \
      case kIOHIDEventTypeVelocity:\
          size = sizeof (__IOHIDVelocityEventData);\
          break; \
      case kIOHIDEventTypeScroll:\
          size = sizeof (__IOHIDScrollEventData);\
          break; \
      case kIOHIDEventTypeBiometric:\
          size = sizeof (__IOHIDBiometricEventData);\
          break; \
      case kIOHIDEventTypeBoundaryScroll:\
          size = sizeof (__IOHIDBoundaryScrollEventData);\
          break; \
      case kIOHIDEventTypeLED:\
          size = sizeof (__IOHIDLEDEventData);\
          break; \
      case kIOHIDEventTypeOrientation:\
          size = sizeof (__IOHIDOrientationEventData);\
          break; \
      case kIOHIDEventTypeProximity:\
          size = sizeof (__IOHIDProximityEventData);\
          break; \
      case kIOHIDEventTypeFluidTouchGesture:\
          size = sizeof (__IOHIDFluidTouchGestureEventData);\
          break; \
      case kIOHIDEventTypeDockSwipe:\
          size = sizeof (__IOHIDDockSwipeEventData);\
          break; \
      case kIOHIDEventTypeUnicode:\
          size = sizeof (__IOHIDUnicodeEventData);\
          break; \
      case kIOHIDEventTypeKeyboard:\
          size = sizeof (__IOHIDKeyboardEventData);\
          break; \
      case kIOHIDEventTypePointer:\
          size = sizeof (__IOHIDPointerEventData);\
          break; \
      default:\
          size = 0;\
    }\


#endif