//
// Copyright (c) Microsoft Corporation. All rights reserved.
// 
//
// File generated by WinMDIDL version 8.00.0018
//

import "inspectable.idl";
import "AsyncInfo.idl";
import "EventToken.idl";
import "windowscontracts.idl";
import "Windows.Foundation.idl";
import "Windows.Devices.Haptics.idl";
import "Windows.Devices.Input.idl";
import "Windows.Storage.Streams.idl";
import "Windows.UI.Core.idl";

// Forward Declare
namespace Windows
{
    namespace Devices
    {
        namespace Haptics
        {
            runtimeclass SimpleHapticsController;
        }
    }
}
namespace Windows
{
    namespace Devices
    {
        namespace Input
        {
            runtimeclass PointerDevice;

            typedef enum PointerDeviceType PointerDeviceType;
        }
    }
}
namespace Windows
{
    namespace Foundation
    {
        typedef struct Point Point;

        typedef struct Rect Rect;

        apicontract UniversalApiContract;

        runtimeclass Uri;
    }
}
namespace Windows
{
    namespace Storage
    {
        namespace Streams
        {
            runtimeclass RandomAccessStreamReference;
        }
    }
}
namespace Windows
{
    namespace UI
    {
        namespace Core
        {
            runtimeclass KeyEventArgs;
        }
    }
}
namespace Windows
{
    namespace UI
    {
        namespace Input
        {
            typedef enum CrossSlidingState CrossSlidingState;

            typedef enum DraggingState DraggingState;

            typedef enum EdgeGestureKind EdgeGestureKind;

            typedef enum GestureSettings GestureSettings;

            typedef enum HoldingState HoldingState;

            typedef enum PointerUpdateKind PointerUpdateKind;

            typedef enum RadialControllerMenuKnownIcon RadialControllerMenuKnownIcon;

            typedef enum RadialControllerSystemMenuItemKind RadialControllerSystemMenuItemKind;

            typedef struct CrossSlideThresholds CrossSlideThresholds;

            typedef struct ManipulationDelta ManipulationDelta;

            typedef struct ManipulationVelocities ManipulationVelocities;

            interface ICrossSlidingEventArgs;

            interface IDraggingEventArgs;

            interface IEdgeGesture;

            interface IEdgeGestureEventArgs;

            interface IEdgeGestureStatics;

            interface IGestureRecognizer;

            interface IHoldingEventArgs;

            interface IKeyboardDeliveryInterceptor;

            interface IKeyboardDeliveryInterceptorStatics;

            interface IManipulationCompletedEventArgs;

            interface IManipulationInertiaStartingEventArgs;

            interface IManipulationStartedEventArgs;

            interface IManipulationUpdatedEventArgs;

            interface IMouseWheelParameters;

            interface IPointerPoint;

            interface IPointerPointProperties;

            interface IPointerPointProperties2;

            interface IPointerPointStatics;

            interface IPointerPointTransform;

            interface IPointerVisualizationSettings;

            interface IPointerVisualizationSettingsStatics;

            interface IRadialController;

            interface IRadialController2;

            interface IRadialControllerButtonClickedEventArgs;

            interface IRadialControllerButtonClickedEventArgs2;

            interface IRadialControllerButtonHoldingEventArgs;

            interface IRadialControllerButtonPressedEventArgs;

            interface IRadialControllerButtonReleasedEventArgs;

            interface IRadialControllerConfiguration;

            interface IRadialControllerConfiguration2;

            interface IRadialControllerConfigurationStatics;

            interface IRadialControllerConfigurationStatics2;

            interface IRadialControllerControlAcquiredEventArgs;

            interface IRadialControllerControlAcquiredEventArgs2;

            interface IRadialControllerMenu;

            interface IRadialControllerMenuItem;

            interface IRadialControllerMenuItemStatics;

            interface IRadialControllerMenuItemStatics2;

            interface IRadialControllerRotationChangedEventArgs;

            interface IRadialControllerRotationChangedEventArgs2;

            interface IRadialControllerScreenContact;

            interface IRadialControllerScreenContactContinuedEventArgs;

            interface IRadialControllerScreenContactContinuedEventArgs2;

            interface IRadialControllerScreenContactEndedEventArgs;

            interface IRadialControllerScreenContactStartedEventArgs;

            interface IRadialControllerScreenContactStartedEventArgs2;

            interface IRadialControllerStatics;

            interface IRightTappedEventArgs;

            interface ITappedEventArgs;

            runtimeclass CrossSlidingEventArgs;

            runtimeclass DraggingEventArgs;

            runtimeclass EdgeGesture;

            runtimeclass EdgeGestureEventArgs;

            runtimeclass GestureRecognizer;

            runtimeclass HoldingEventArgs;

            runtimeclass KeyboardDeliveryInterceptor;

            runtimeclass ManipulationCompletedEventArgs;

            runtimeclass ManipulationInertiaStartingEventArgs;

            runtimeclass ManipulationStartedEventArgs;

            runtimeclass ManipulationUpdatedEventArgs;

            runtimeclass MouseWheelParameters;

            runtimeclass PointerPoint;

            runtimeclass PointerPointProperties;

            runtimeclass PointerVisualizationSettings;

            runtimeclass RadialController;

            runtimeclass RadialControllerButtonClickedEventArgs;

            runtimeclass RadialControllerButtonHoldingEventArgs;

            runtimeclass RadialControllerButtonPressedEventArgs;

            runtimeclass RadialControllerButtonReleasedEventArgs;

            runtimeclass RadialControllerConfiguration;

            runtimeclass RadialControllerControlAcquiredEventArgs;

            runtimeclass RadialControllerMenu;

            runtimeclass RadialControllerMenuItem;

            runtimeclass RadialControllerRotationChangedEventArgs;

            runtimeclass RadialControllerScreenContact;

            runtimeclass RadialControllerScreenContactContinuedEventArgs;

            runtimeclass RadialControllerScreenContactEndedEventArgs;

            runtimeclass RadialControllerScreenContactStartedEventArgs;

            runtimeclass RightTappedEventArgs;

            runtimeclass TappedEventArgs;
        }
    }
}

// Generic instantiations
namespace Windows
{
    namespace UI
    {
        namespace Input
        {
            declare
            {
                interface Windows.Foundation.Collections.IIterable<Windows.UI.Input.PointerPoint*>;

                interface Windows.Foundation.Collections.IIterable<Windows.UI.Input.RadialControllerMenuItem*>;

                interface Windows.Foundation.Collections.IIterable<Windows.UI.Input.RadialControllerSystemMenuItemKind>;

                interface Windows.Foundation.Collections.IIterator<Windows.UI.Input.PointerPoint*>;

                interface Windows.Foundation.Collections.IIterator<Windows.UI.Input.RadialControllerMenuItem*>;

                interface Windows.Foundation.Collections.IIterator<Windows.UI.Input.RadialControllerSystemMenuItemKind>;

                interface Windows.Foundation.Collections.IVectorView<Windows.UI.Input.PointerPoint*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.UI.Input.RadialControllerMenuItem*>;

                interface Windows.Foundation.Collections.IVector<Windows.UI.Input.PointerPoint*>;

                interface Windows.Foundation.Collections.IVector<Windows.UI.Input.RadialControllerMenuItem*>;

                interface Windows.Foundation.TypedEventHandler<Windows.UI.Input.EdgeGesture*, Windows.UI.Input.EdgeGestureEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.UI.Input.GestureRecognizer*, Windows.UI.Input.CrossSlidingEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.UI.Input.GestureRecognizer*, Windows.UI.Input.DraggingEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.UI.Input.GestureRecognizer*, Windows.UI.Input.HoldingEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.UI.Input.GestureRecognizer*, Windows.UI.Input.ManipulationCompletedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.UI.Input.GestureRecognizer*, Windows.UI.Input.ManipulationInertiaStartingEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.UI.Input.GestureRecognizer*, Windows.UI.Input.ManipulationStartedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.UI.Input.GestureRecognizer*, Windows.UI.Input.ManipulationUpdatedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.UI.Input.GestureRecognizer*, Windows.UI.Input.RightTappedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.UI.Input.GestureRecognizer*, Windows.UI.Input.TappedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.UI.Input.RadialController*, IInspectable*>;

                interface Windows.Foundation.TypedEventHandler<Windows.UI.Input.RadialController*, Windows.UI.Input.RadialControllerButtonClickedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.UI.Input.RadialController*, Windows.UI.Input.RadialControllerButtonHoldingEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.UI.Input.RadialController*, Windows.UI.Input.RadialControllerButtonPressedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.UI.Input.RadialController*, Windows.UI.Input.RadialControllerButtonReleasedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.UI.Input.RadialController*, Windows.UI.Input.RadialControllerControlAcquiredEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.UI.Input.RadialController*, Windows.UI.Input.RadialControllerRotationChangedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.UI.Input.RadialController*, Windows.UI.Input.RadialControllerScreenContactContinuedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.UI.Input.RadialController*, Windows.UI.Input.RadialControllerScreenContactStartedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.UI.Input.RadialControllerMenuItem*, IInspectable*>;
            }
        }
    }
}

// Type definition
namespace Windows
{
    namespace UI
    {
        namespace Input
        {
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum CrossSlidingState
            {
                Started            = 0,
                Dragging           = 1,
                Selecting          = 2,
                SelectSpeedBumping = 3,
                SpeedBumping       = 4,
                Rearranging        = 5,
                Completed          = 6
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum DraggingState
            {
                Started    = 0,
                Continuing = 1,
                Completed  = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum EdgeGestureKind
            {
                Touch    = 0,
                Keyboard = 1,
                Mouse    = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [flags]
            enum GestureSettings
            {
                None                              = 0x0,
                Tap                               = 0x1,
                DoubleTap                         = 0x2,
                Hold                              = 0x4,
                HoldWithMouse                     = 0x8,
                RightTap                          = 0x10,
                Drag                              = 0x20,
                ManipulationTranslateX            = 0x40,
                ManipulationTranslateY            = 0x80,
                ManipulationTranslateRailsX       = 0x100,
                ManipulationTranslateRailsY       = 0x200,
                ManipulationRotate                = 0x400,
                ManipulationScale                 = 0x800,
                ManipulationTranslateInertia      = 0x1000,
                ManipulationRotateInertia         = 0x2000,
                ManipulationScaleInertia          = 0x4000,
                CrossSlide                        = 0x8000,
                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                ManipulationMultipleFingerPanning = 0x10000
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum HoldingState
            {
                Started   = 0,
                Completed = 1,
                Canceled  = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum PointerUpdateKind
            {
                Other                = 0,
                LeftButtonPressed    = 1,
                LeftButtonReleased   = 2,
                RightButtonPressed   = 3,
                RightButtonReleased  = 4,
                MiddleButtonPressed  = 5,
                MiddleButtonReleased = 6,
                XButton1Pressed      = 7,
                XButton1Released     = 8,
                XButton2Pressed      = 9,
                XButton2Released     = 10
            };

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            enum RadialControllerMenuKnownIcon
            {
                Scroll            = 0,
                Zoom              = 1,
                UndoRedo          = 2,
                Volume            = 3,
                NextPreviousTrack = 4,
                Ruler             = 5,
                InkColor          = 6,
                InkThickness      = 7,
                PenType           = 8
            };

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            enum RadialControllerSystemMenuItemKind
            {
                Scroll            = 0,
                Zoom              = 1,
                UndoRedo          = 2,
                Volume            = 3,
                NextPreviousTrack = 4
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            struct CrossSlideThresholds
            {
                FLOAT SelectionStart;
                FLOAT SpeedBumpStart;
                FLOAT SpeedBumpEnd;
                FLOAT RearrangeStart;
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            struct ManipulationDelta
            {
                Windows.Foundation.Point Translation;
                FLOAT Scale;
                FLOAT Rotation;
                FLOAT Expansion;
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            struct ManipulationVelocities
            {
                Windows.Foundation.Point Linear;
                FLOAT Angular;
                FLOAT Expansion;
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.UI.Input.CrossSlidingEventArgs)]
            [uuid(E9374738-6F88-41D9-8720-78E08E398349)]
            interface ICrossSlidingEventArgs : IInspectable
            {
                [propget] HRESULT PointerDeviceType([out] [retval] Windows.Devices.Input.PointerDeviceType* value);
                [propget] HRESULT Position([out] [retval] Windows.Foundation.Point* value);
                [propget] HRESULT CrossSlidingState([out] [retval] Windows.UI.Input.CrossSlidingState* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.UI.Input.DraggingEventArgs)]
            [uuid(1C905384-083C-4BD3-B559-179CDDEB33EC)]
            interface IDraggingEventArgs : IInspectable
            {
                [propget] HRESULT PointerDeviceType([out] [retval] Windows.Devices.Input.PointerDeviceType* value);
                [propget] HRESULT Position([out] [retval] Windows.Foundation.Point* value);
                [propget] HRESULT DraggingState([out] [retval] Windows.UI.Input.DraggingState* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.UI.Input.EdgeGesture)]
            [uuid(580D5292-2AB1-49AA-A7F0-33BD3F8DF9F1)]
            interface IEdgeGesture : IInspectable
            {
                [eventadd] HRESULT Starting([in] Windows.Foundation.TypedEventHandler<Windows.UI.Input.EdgeGesture*, Windows.UI.Input.EdgeGestureEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT Starting([in] EventRegistrationToken token);
                [eventadd] HRESULT Completed([in] Windows.Foundation.TypedEventHandler<Windows.UI.Input.EdgeGesture*, Windows.UI.Input.EdgeGestureEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT Completed([in] EventRegistrationToken token);
                [eventadd] HRESULT Canceled([in] Windows.Foundation.TypedEventHandler<Windows.UI.Input.EdgeGesture*, Windows.UI.Input.EdgeGestureEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT Canceled([in] EventRegistrationToken token);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.UI.Input.EdgeGestureEventArgs)]
            [uuid(44FA4A24-2D09-42E1-8B5E-368208796A4C)]
            interface IEdgeGestureEventArgs : IInspectable
            {
                [propget] HRESULT Kind([out] [retval] Windows.UI.Input.EdgeGestureKind* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.UI.Input.EdgeGesture)]
            [uuid(BC6A8519-18EE-4043-9839-4FC584D60A14)]
            interface IEdgeGestureStatics : IInspectable
            {
                HRESULT GetForCurrentView([out] [retval] Windows.UI.Input.EdgeGesture** current);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.UI.Input.GestureRecognizer)]
            [uuid(B47A37BF-3D6B-4F88-83E8-6DCB4012FFB0)]
            interface IGestureRecognizer : IInspectable
            {
                [propget] HRESULT GestureSettings([out] [retval] Windows.UI.Input.GestureSettings* value);
                [propput] HRESULT GestureSettings([in] Windows.UI.Input.GestureSettings value);
                [propget] HRESULT IsInertial([out] [retval] boolean* value);
                [propget] HRESULT IsActive([out] [retval] boolean* value);
                [propget] HRESULT ShowGestureFeedback([out] [retval] boolean* value);
                [propput] HRESULT ShowGestureFeedback([in] boolean value);
                [propget] HRESULT PivotCenter([out] [retval] Windows.Foundation.Point* value);
                [propput] HRESULT PivotCenter([in] Windows.Foundation.Point value);
                [propget] HRESULT PivotRadius([out] [retval] FLOAT* value);
                [propput] HRESULT PivotRadius([in] FLOAT value);
                [propget] HRESULT InertiaTranslationDeceleration([out] [retval] FLOAT* value);
                [propput] HRESULT InertiaTranslationDeceleration([in] FLOAT value);
                [propget] HRESULT InertiaRotationDeceleration([out] [retval] FLOAT* value);
                [propput] HRESULT InertiaRotationDeceleration([in] FLOAT value);
                [propget] HRESULT InertiaExpansionDeceleration([out] [retval] FLOAT* value);
                [propput] HRESULT InertiaExpansionDeceleration([in] FLOAT value);
                [propget] HRESULT InertiaTranslationDisplacement([out] [retval] FLOAT* value);
                [propput] HRESULT InertiaTranslationDisplacement([in] FLOAT value);
                [propget] HRESULT InertiaRotationAngle([out] [retval] FLOAT* value);
                [propput] HRESULT InertiaRotationAngle([in] FLOAT value);
                [propget] HRESULT InertiaExpansion([out] [retval] FLOAT* value);
                [propput] HRESULT InertiaExpansion([in] FLOAT value);
                [propget] HRESULT ManipulationExact([out] [retval] boolean* value);
                [propput] HRESULT ManipulationExact([in] boolean value);
                [propget] HRESULT CrossSlideThresholds([out] [retval] Windows.UI.Input.CrossSlideThresholds* value);
                [propput] HRESULT CrossSlideThresholds([in] Windows.UI.Input.CrossSlideThresholds value);
                [propget] HRESULT CrossSlideHorizontally([out] [retval] boolean* value);
                [propput] HRESULT CrossSlideHorizontally([in] boolean value);
                [propget] HRESULT CrossSlideExact([out] [retval] boolean* value);
                [propput] HRESULT CrossSlideExact([in] boolean value);
                [propget] HRESULT AutoProcessInertia([out] [retval] boolean* value);
                [propput] HRESULT AutoProcessInertia([in] boolean value);
                [propget] HRESULT MouseWheelParameters([out] [retval] Windows.UI.Input.MouseWheelParameters** value);
                HRESULT CanBeDoubleTap([in] Windows.UI.Input.PointerPoint* value, [out] [retval] boolean* canBeDoubleTap);
                HRESULT ProcessDownEvent([in] Windows.UI.Input.PointerPoint* value);
                HRESULT ProcessMoveEvents([in] Windows.Foundation.Collections.IVector<Windows.UI.Input.PointerPoint*>* value);
                HRESULT ProcessUpEvent([in] Windows.UI.Input.PointerPoint* value);
                HRESULT ProcessMouseWheelEvent([in] Windows.UI.Input.PointerPoint* value, [in] boolean isShiftKeyDown, [in] boolean isControlKeyDown);
                HRESULT ProcessInertia();
                HRESULT CompleteGesture();
                [eventadd] HRESULT Tapped([in] Windows.Foundation.TypedEventHandler<Windows.UI.Input.GestureRecognizer*, Windows.UI.Input.TappedEventArgs*>* handler, [out] [retval] EventRegistrationToken* pCookie);
                [eventremove] HRESULT Tapped([in] EventRegistrationToken cookie);
                [eventadd] HRESULT RightTapped([in] Windows.Foundation.TypedEventHandler<Windows.UI.Input.GestureRecognizer*, Windows.UI.Input.RightTappedEventArgs*>* handler, [out] [retval] EventRegistrationToken* pCookie);
                [eventremove] HRESULT RightTapped([in] EventRegistrationToken cookie);
                [eventadd] HRESULT Holding([in] Windows.Foundation.TypedEventHandler<Windows.UI.Input.GestureRecognizer*, Windows.UI.Input.HoldingEventArgs*>* handler, [out] [retval] EventRegistrationToken* pCookie);
                [eventremove] HRESULT Holding([in] EventRegistrationToken cookie);
                [eventadd] HRESULT Dragging([in] Windows.Foundation.TypedEventHandler<Windows.UI.Input.GestureRecognizer*, Windows.UI.Input.DraggingEventArgs*>* handler, [out] [retval] EventRegistrationToken* pCookie);
                [eventremove] HRESULT Dragging([in] EventRegistrationToken cookie);
                [eventadd] HRESULT ManipulationStarted([in] Windows.Foundation.TypedEventHandler<Windows.UI.Input.GestureRecognizer*, Windows.UI.Input.ManipulationStartedEventArgs*>* handler, [out] [retval] EventRegistrationToken* pCookie);
                [eventremove] HRESULT ManipulationStarted([in] EventRegistrationToken cookie);
                [eventadd] HRESULT ManipulationUpdated([in] Windows.Foundation.TypedEventHandler<Windows.UI.Input.GestureRecognizer*, Windows.UI.Input.ManipulationUpdatedEventArgs*>* handler, [out] [retval] EventRegistrationToken* pCookie);
                [eventremove] HRESULT ManipulationUpdated([in] EventRegistrationToken cookie);
                [eventadd] HRESULT ManipulationInertiaStarting([in] Windows.Foundation.TypedEventHandler<Windows.UI.Input.GestureRecognizer*, Windows.UI.Input.ManipulationInertiaStartingEventArgs*>* handler, [out] [retval] EventRegistrationToken* pCookie);
                [eventremove] HRESULT ManipulationInertiaStarting([in] EventRegistrationToken cookie);
                [eventadd] HRESULT ManipulationCompleted([in] Windows.Foundation.TypedEventHandler<Windows.UI.Input.GestureRecognizer*, Windows.UI.Input.ManipulationCompletedEventArgs*>* handler, [out] [retval] EventRegistrationToken* pCookie);
                [eventremove] HRESULT ManipulationCompleted([in] EventRegistrationToken cookie);
                [eventadd] HRESULT CrossSliding([in] Windows.Foundation.TypedEventHandler<Windows.UI.Input.GestureRecognizer*, Windows.UI.Input.CrossSlidingEventArgs*>* handler, [out] [retval] EventRegistrationToken* pCookie);
                [eventremove] HRESULT CrossSliding([in] EventRegistrationToken cookie);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.UI.Input.HoldingEventArgs)]
            [uuid(2BF755C5-E799-41B4-BB40-242F40959B71)]
            interface IHoldingEventArgs : IInspectable
            {
                [propget] HRESULT PointerDeviceType([out] [retval] Windows.Devices.Input.PointerDeviceType* value);
                [propget] HRESULT Position([out] [retval] Windows.Foundation.Point* value);
                [propget] HRESULT HoldingState([out] [retval] Windows.UI.Input.HoldingState* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [exclusiveto(Windows.UI.Input.KeyboardDeliveryInterceptor)]
            [uuid(B4BAF068-8F49-446C-8DB5-8C0FFE85CC9E)]
            interface IKeyboardDeliveryInterceptor : IInspectable
            {
                [propget] HRESULT IsInterceptionEnabledWhenInForeground([out] [retval] boolean* value);
                [propput] HRESULT IsInterceptionEnabledWhenInForeground([in] boolean value);
                [eventadd] HRESULT KeyDown([in] Windows.Foundation.TypedEventHandler<Windows.UI.Input.KeyboardDeliveryInterceptor*, Windows.UI.Core.KeyEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT KeyDown([in] EventRegistrationToken token);
                [eventadd] HRESULT KeyUp([in] Windows.Foundation.TypedEventHandler<Windows.UI.Input.KeyboardDeliveryInterceptor*, Windows.UI.Core.KeyEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT KeyUp([in] EventRegistrationToken token);
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [exclusiveto(Windows.UI.Input.KeyboardDeliveryInterceptor)]
            [uuid(F9F63BA2-CEBA-4755-8A7E-14C0FFECD239)]
            interface IKeyboardDeliveryInterceptorStatics : IInspectable
            {
                HRESULT GetForCurrentView([out] [retval] Windows.UI.Input.KeyboardDeliveryInterceptor** keyboardDeliverySettings);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.UI.Input.ManipulationCompletedEventArgs)]
            [uuid(B34AB22B-D19B-46FF-9F38-DEC7754BB9E7)]
            interface IManipulationCompletedEventArgs : IInspectable
            {
                [propget] HRESULT PointerDeviceType([out] [retval] Windows.Devices.Input.PointerDeviceType* value);
                [propget] HRESULT Position([out] [retval] Windows.Foundation.Point* value);
                [propget] HRESULT Cumulative([out] [retval] Windows.UI.Input.ManipulationDelta* value);
                [propget] HRESULT Velocities([out] [retval] Windows.UI.Input.ManipulationVelocities* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.UI.Input.ManipulationInertiaStartingEventArgs)]
            [uuid(DD37A898-26BF-467A-9CE5-CCF3FB11371E)]
            interface IManipulationInertiaStartingEventArgs : IInspectable
            {
                [propget] HRESULT PointerDeviceType([out] [retval] Windows.Devices.Input.PointerDeviceType* value);
                [propget] HRESULT Position([out] [retval] Windows.Foundation.Point* value);
                [propget] HRESULT Delta([out] [retval] Windows.UI.Input.ManipulationDelta* value);
                [propget] HRESULT Cumulative([out] [retval] Windows.UI.Input.ManipulationDelta* value);
                [propget] HRESULT Velocities([out] [retval] Windows.UI.Input.ManipulationVelocities* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.UI.Input.ManipulationStartedEventArgs)]
            [uuid(DDEC873E-CFCE-4932-8C1D-3C3D011A34C0)]
            interface IManipulationStartedEventArgs : IInspectable
            {
                [propget] HRESULT PointerDeviceType([out] [retval] Windows.Devices.Input.PointerDeviceType* value);
                [propget] HRESULT Position([out] [retval] Windows.Foundation.Point* value);
                [propget] HRESULT Cumulative([out] [retval] Windows.UI.Input.ManipulationDelta* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.UI.Input.ManipulationUpdatedEventArgs)]
            [uuid(CB354CE5-ABB8-4F9F-B3CE-8181AA61AD82)]
            interface IManipulationUpdatedEventArgs : IInspectable
            {
                [propget] HRESULT PointerDeviceType([out] [retval] Windows.Devices.Input.PointerDeviceType* value);
                [propget] HRESULT Position([out] [retval] Windows.Foundation.Point* value);
                [propget] HRESULT Delta([out] [retval] Windows.UI.Input.ManipulationDelta* value);
                [propget] HRESULT Cumulative([out] [retval] Windows.UI.Input.ManipulationDelta* value);
                [propget] HRESULT Velocities([out] [retval] Windows.UI.Input.ManipulationVelocities* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.UI.Input.MouseWheelParameters)]
            [uuid(EAD0CA44-9DED-4037-8149-5E4CC2564468)]
            interface IMouseWheelParameters : IInspectable
            {
                [propget] HRESULT CharTranslation([out] [retval] Windows.Foundation.Point* value);
                [propput] HRESULT CharTranslation([in] Windows.Foundation.Point value);
                [propget] HRESULT DeltaScale([out] [retval] FLOAT* value);
                [propput] HRESULT DeltaScale([in] FLOAT value);
                [propget] HRESULT DeltaRotationAngle([out] [retval] FLOAT* value);
                [propput] HRESULT DeltaRotationAngle([in] FLOAT value);
                [propget] HRESULT PageTranslation([out] [retval] Windows.Foundation.Point* value);
                [propput] HRESULT PageTranslation([in] Windows.Foundation.Point value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.UI.Input.PointerPoint)]
            [uuid(E995317D-7296-42D9-8233-C5BE73B74A4A)]
            interface IPointerPoint : IInspectable
            {
                [propget] HRESULT PointerDevice([out] [retval] Windows.Devices.Input.PointerDevice** value);
                [propget] HRESULT Position([out] [retval] Windows.Foundation.Point* value);
                [propget] HRESULT RawPosition([out] [retval] Windows.Foundation.Point* value);
                [propget] HRESULT PointerId([out] [retval] UINT32* value);
                [propget] HRESULT FrameId([out] [retval] UINT32* value);
                [propget] HRESULT Timestamp([out] [retval] UINT64* value);
                [propget] HRESULT IsInContact([out] [retval] boolean* value);
                [propget] HRESULT Properties([out] [retval] Windows.UI.Input.PointerPointProperties** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.UI.Input.PointerPointProperties)]
            [uuid(C79D8A4B-C163-4EE7-803F-67CE79F9972D)]
            interface IPointerPointProperties : IInspectable
            {
                [propget] HRESULT Pressure([out] [retval] FLOAT* value);
                [propget] HRESULT IsInverted([out] [retval] boolean* value);
                [propget] HRESULT IsEraser([out] [retval] boolean* value);
                [propget] HRESULT Orientation([out] [retval] FLOAT* value);
                [propget] HRESULT XTilt([out] [retval] FLOAT* value);
                [propget] HRESULT YTilt([out] [retval] FLOAT* value);
                [propget] HRESULT Twist([out] [retval] FLOAT* value);
                [propget] HRESULT ContactRect([out] [retval] Windows.Foundation.Rect* value);
                [propget] HRESULT ContactRectRaw([out] [retval] Windows.Foundation.Rect* value);
                [propget] HRESULT TouchConfidence([out] [retval] boolean* value);
                [propget] HRESULT IsLeftButtonPressed([out] [retval] boolean* value);
                [propget] HRESULT IsRightButtonPressed([out] [retval] boolean* value);
                [propget] HRESULT IsMiddleButtonPressed([out] [retval] boolean* value);
                [propget] HRESULT MouseWheelDelta([out] [retval] INT32* value);
                [propget] HRESULT IsHorizontalMouseWheel([out] [retval] boolean* value);
                [propget] HRESULT IsPrimary([out] [retval] boolean* value);
                [propget] HRESULT IsInRange([out] [retval] boolean* value);
                [propget] HRESULT IsCanceled([out] [retval] boolean* value);
                [propget] HRESULT IsBarrelButtonPressed([out] [retval] boolean* value);
                [propget] HRESULT IsXButton1Pressed([out] [retval] boolean* value);
                [propget] HRESULT IsXButton2Pressed([out] [retval] boolean* value);
                [propget] HRESULT PointerUpdateKind([out] [retval] Windows.UI.Input.PointerUpdateKind* value);
                HRESULT HasUsage([in] UINT32 usagePage, [in] UINT32 usageId, [out] [retval] boolean* value);
                HRESULT GetUsageValue([in] UINT32 usagePage, [in] UINT32 usageId, [out] [retval] INT32* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.UI.Input.PointerPointProperties)]
            [uuid(22C3433A-C83B-41C0-A296-5E232D64D6AF)]
            interface IPointerPointProperties2 : IInspectable
            {
                [propget] HRESULT ZDistance([out] [retval] Windows.Foundation.IReference<FLOAT>** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.UI.Input.PointerPoint)]
            [uuid(A506638D-2A1A-413E-BC75-9F38381CC069)]
            interface IPointerPointStatics : IInspectable
            {
                [overload("GetCurrentPoint")] HRESULT GetCurrentPoint([in] UINT32 pointerId, [out] [retval] Windows.UI.Input.PointerPoint** pointerPoint);
                [overload("GetIntermediatePoints")] HRESULT GetIntermediatePoints([in] UINT32 pointerId, [out] [retval] Windows.Foundation.Collections.IVector<Windows.UI.Input.PointerPoint*>** pointerPoints);
                [overload("GetCurrentPoint")] HRESULT GetCurrentPointTransformed([in] UINT32 pointerId, [in] Windows.UI.Input.IPointerPointTransform* transform, [out] [retval] Windows.UI.Input.PointerPoint** pointerPoint);
                [overload("GetIntermediatePoints")] HRESULT GetIntermediatePointsTransformed([in] UINT32 pointerId, [in] Windows.UI.Input.IPointerPointTransform* transform, [out] [retval] Windows.Foundation.Collections.IVector<Windows.UI.Input.PointerPoint*>** pointerPoints);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [uuid(4D5FE14F-B87C-4028-BC9C-59E9947FB056)]
            interface IPointerPointTransform : IInspectable
            {
                [propget] HRESULT Inverse([out] [retval] Windows.UI.Input.IPointerPointTransform** value);
                HRESULT TryTransform([in] Windows.Foundation.Point inPoint, [out] Windows.Foundation.Point* outPoint, [out] [retval] boolean* returnValue);
                HRESULT TransformBounds([in] Windows.Foundation.Rect rect, [out] [retval] Windows.Foundation.Rect* returnValue);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.UI.Input.PointerVisualizationSettings)]
            [uuid(4D1E6461-84F7-499D-BD91-2A36E2B7AAA2)]
            interface IPointerVisualizationSettings : IInspectable
            {
                [propput] HRESULT IsContactFeedbackEnabled([in] boolean value);
                [propget] HRESULT IsContactFeedbackEnabled([out] [retval] boolean* value);
                [propput] HRESULT IsBarrelButtonFeedbackEnabled([in] boolean value);
                [propget] HRESULT IsBarrelButtonFeedbackEnabled([out] [retval] boolean* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.UI.Input.PointerVisualizationSettings)]
            [uuid(68870EDB-165B-4214-B4F3-584ECA8C8A69)]
            interface IPointerVisualizationSettingsStatics : IInspectable
            {
                HRESULT GetForCurrentView([out] [retval] Windows.UI.Input.PointerVisualizationSettings** visualizationSettings);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.UI.Input.RadialController)]
            [uuid(3055D1C8-DF51-43D4-B23B-0E1037467A09)]
            interface IRadialController : IInspectable
            {
                [propget] HRESULT Menu([out] [retval] Windows.UI.Input.RadialControllerMenu** value);
                [propget] HRESULT RotationResolutionInDegrees([out] [retval] DOUBLE* value);
                [propput] HRESULT RotationResolutionInDegrees([in] DOUBLE value);
                [propget] HRESULT UseAutomaticHapticFeedback([out] [retval] boolean* value);
                [propput] HRESULT UseAutomaticHapticFeedback([in] boolean value);
                [eventadd] HRESULT ScreenContactStarted([in] Windows.Foundation.TypedEventHandler<Windows.UI.Input.RadialController*, Windows.UI.Input.RadialControllerScreenContactStartedEventArgs*>* handler, [out] [retval] EventRegistrationToken* cookie);
                [eventremove] HRESULT ScreenContactStarted([in] EventRegistrationToken cookie);
                [eventadd] HRESULT ScreenContactEnded([in] Windows.Foundation.TypedEventHandler<Windows.UI.Input.RadialController*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* cookie);
                [eventremove] HRESULT ScreenContactEnded([in] EventRegistrationToken cookie);
                [eventadd] HRESULT ScreenContactContinued([in] Windows.Foundation.TypedEventHandler<Windows.UI.Input.RadialController*, Windows.UI.Input.RadialControllerScreenContactContinuedEventArgs*>* handler, [out] [retval] EventRegistrationToken* cookie);
                [eventremove] HRESULT ScreenContactContinued([in] EventRegistrationToken cookie);
                [eventadd] HRESULT ControlLost([in] Windows.Foundation.TypedEventHandler<Windows.UI.Input.RadialController*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* cookie);
                [eventremove] HRESULT ControlLost([in] EventRegistrationToken cookie);
                [eventadd] HRESULT RotationChanged([in] Windows.Foundation.TypedEventHandler<Windows.UI.Input.RadialController*, Windows.UI.Input.RadialControllerRotationChangedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT RotationChanged([in] EventRegistrationToken token);
                [eventadd] HRESULT ButtonClicked([in] Windows.Foundation.TypedEventHandler<Windows.UI.Input.RadialController*, Windows.UI.Input.RadialControllerButtonClickedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT ButtonClicked([in] EventRegistrationToken token);
                [eventadd] HRESULT ControlAcquired([in] Windows.Foundation.TypedEventHandler<Windows.UI.Input.RadialController*, Windows.UI.Input.RadialControllerControlAcquiredEventArgs*>* handler, [out] [retval] EventRegistrationToken* cookie);
                [eventremove] HRESULT ControlAcquired([in] EventRegistrationToken cookie);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.UI.Input.RadialController)]
            [uuid(3D577EFF-4CEE-11E6-B535-001BDC06AB3B)]
            interface IRadialController2 : IInspectable
            {
                [eventadd] HRESULT ButtonPressed([in] Windows.Foundation.TypedEventHandler<Windows.UI.Input.RadialController*, Windows.UI.Input.RadialControllerButtonPressedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT ButtonPressed([in] EventRegistrationToken token);
                [eventadd] HRESULT ButtonHolding([in] Windows.Foundation.TypedEventHandler<Windows.UI.Input.RadialController*, Windows.UI.Input.RadialControllerButtonHoldingEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT ButtonHolding([in] EventRegistrationToken token);
                [eventadd] HRESULT ButtonReleased([in] Windows.Foundation.TypedEventHandler<Windows.UI.Input.RadialController*, Windows.UI.Input.RadialControllerButtonReleasedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT ButtonReleased([in] EventRegistrationToken token);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.UI.Input.RadialControllerButtonClickedEventArgs)]
            [uuid(206AA438-E651-11E5-BF62-2C27D7404E85)]
            interface IRadialControllerButtonClickedEventArgs : IInspectable
            {
                [propget] HRESULT Contact([out] [retval] Windows.UI.Input.RadialControllerScreenContact** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.UI.Input.RadialControllerButtonClickedEventArgs)]
            [uuid(3D577EF3-3CEE-11E6-B535-001BDC06AB3B)]
            interface IRadialControllerButtonClickedEventArgs2 : IInspectable
            {
                [propget] HRESULT SimpleHapticsController([out] [retval] Windows.Devices.Haptics.SimpleHapticsController** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.UI.Input.RadialControllerButtonHoldingEventArgs)]
            [uuid(3D577EEE-3CEE-11E6-B535-001BDC06AB3B)]
            interface IRadialControllerButtonHoldingEventArgs : IInspectable
            {
                [propget] HRESULT Contact([out] [retval] Windows.UI.Input.RadialControllerScreenContact** value);
                [propget] HRESULT SimpleHapticsController([out] [retval] Windows.Devices.Haptics.SimpleHapticsController** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.UI.Input.RadialControllerButtonPressedEventArgs)]
            [uuid(3D577EED-4CEE-11E6-B535-001BDC06AB3B)]
            interface IRadialControllerButtonPressedEventArgs : IInspectable
            {
                [propget] HRESULT Contact([out] [retval] Windows.UI.Input.RadialControllerScreenContact** value);
                [propget] HRESULT SimpleHapticsController([out] [retval] Windows.Devices.Haptics.SimpleHapticsController** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.UI.Input.RadialControllerButtonReleasedEventArgs)]
            [uuid(3D577EEF-3CEE-11E6-B535-001BDC06AB3B)]
            interface IRadialControllerButtonReleasedEventArgs : IInspectable
            {
                [propget] HRESULT Contact([out] [retval] Windows.UI.Input.RadialControllerScreenContact** value);
                [propget] HRESULT SimpleHapticsController([out] [retval] Windows.Devices.Haptics.SimpleHapticsController** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.UI.Input.RadialControllerConfiguration)]
            [uuid(A6B79ECB-6A52-4430-910C-56370A9D6B42)]
            interface IRadialControllerConfiguration : IInspectable
            {
                HRESULT SetDefaultMenuItems([in] Windows.Foundation.Collections.IIterable<Windows.UI.Input.RadialControllerSystemMenuItemKind>* buttons);
                HRESULT ResetToDefaultMenuItems();
                HRESULT TrySelectDefaultMenuItem([in] Windows.UI.Input.RadialControllerSystemMenuItemKind type, [out] [retval] boolean* result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.UI.Input.RadialControllerConfiguration)]
            [uuid(3D577EF7-3CEE-11E6-B535-001BDC06AB3B)]
            interface IRadialControllerConfiguration2 : IInspectable
            {
                [propput] HRESULT ActiveControllerWhenMenuIsSuppressed([in] Windows.UI.Input.RadialController* value);
                [propget] HRESULT ActiveControllerWhenMenuIsSuppressed([out] [retval] Windows.UI.Input.RadialController** value);
                [propput] HRESULT IsMenuSuppressed([in] boolean value);
                [propget] HRESULT IsMenuSuppressed([out] [retval] boolean* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.UI.Input.RadialControllerConfiguration)]
            [uuid(79B6B0E5-069A-4486-A99D-8DB772B9642F)]
            interface IRadialControllerConfigurationStatics : IInspectable
            {
                HRESULT GetForCurrentView([out] [retval] Windows.UI.Input.RadialControllerConfiguration** configuration);
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [exclusiveto(Windows.UI.Input.RadialControllerConfiguration)]
            [uuid(53E08B17-E205-48D3-9CAF-80FF47C4D7C7)]
            interface IRadialControllerConfigurationStatics2 : IInspectable
            {
                [propput] HRESULT AppController([in] Windows.UI.Input.RadialController* value);
                [propget] HRESULT AppController([out] [retval] Windows.UI.Input.RadialController** value);
                [propput] HRESULT IsAppControllerEnabled([in] boolean value);
                [propget] HRESULT IsAppControllerEnabled([out] [retval] boolean* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.UI.Input.RadialControllerControlAcquiredEventArgs)]
            [uuid(206AA439-E651-11E5-BF62-2C27D7404E85)]
            interface IRadialControllerControlAcquiredEventArgs : IInspectable
            {
                [propget] HRESULT Contact([out] [retval] Windows.UI.Input.RadialControllerScreenContact** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.UI.Input.RadialControllerControlAcquiredEventArgs)]
            [uuid(3D577EF4-3CEE-11E6-B535-001BDC06AB3B)]
            interface IRadialControllerControlAcquiredEventArgs2 : IInspectable
            {
                [propget] HRESULT IsButtonPressed([out] [retval] boolean* value);
                [propget] HRESULT SimpleHapticsController([out] [retval] Windows.Devices.Haptics.SimpleHapticsController** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.UI.Input.RadialControllerMenu)]
            [uuid(8506B35D-F640-4412-ABA0-BAD077E5EA8A)]
            interface IRadialControllerMenu : IInspectable
            {
                [propget] HRESULT Items([out] [retval] Windows.Foundation.Collections.IVector<Windows.UI.Input.RadialControllerMenuItem*>** value);
                [propget] HRESULT IsEnabled([out] [retval] boolean* value);
                [propput] HRESULT IsEnabled([in] boolean value);
                HRESULT GetSelectedMenuItem([out] [retval] Windows.UI.Input.RadialControllerMenuItem** result);
                HRESULT SelectMenuItem([in] Windows.UI.Input.RadialControllerMenuItem* menuItem);
                HRESULT TrySelectPreviouslySelectedMenuItem([out] [retval] boolean* result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.UI.Input.RadialControllerMenuItem)]
            [uuid(C80FC98D-AD0B-4C9C-8F2F-136A2373A6BA)]
            interface IRadialControllerMenuItem : IInspectable
            {
                [propget] HRESULT DisplayText([out] [retval] HSTRING* value);
                [propget] HRESULT Tag([out] [retval] IInspectable** value);
                [propput] HRESULT Tag([in] IInspectable* value);
                [eventadd] HRESULT Invoked([in] Windows.Foundation.TypedEventHandler<Windows.UI.Input.RadialControllerMenuItem*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT Invoked([in] EventRegistrationToken token);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.UI.Input.RadialControllerMenuItem)]
            [uuid(249E0887-D842-4524-9DF8-E0D647EDC887)]
            interface IRadialControllerMenuItemStatics : IInspectable
            {
                HRESULT CreateFromIcon([in] HSTRING displayText, [in] Windows.Storage.Streams.RandomAccessStreamReference* icon, [out] [retval] Windows.UI.Input.RadialControllerMenuItem** result);
                HRESULT CreateFromKnownIcon([in] HSTRING displayText, [in] Windows.UI.Input.RadialControllerMenuKnownIcon value, [out] [retval] Windows.UI.Input.RadialControllerMenuItem** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.UI.Input.RadialControllerMenuItem)]
            [uuid(0CBB70BE-7E3E-48BD-BE04-2C7FCAA9C1FF)]
            interface IRadialControllerMenuItemStatics2 : IInspectable
            {
                [overload("CreateFromFontGlyph")] HRESULT CreateFromFontGlyph([in] HSTRING displayText, [in] HSTRING glyph, [in] HSTRING fontFamily, [out] [retval] Windows.UI.Input.RadialControllerMenuItem** result);
                [overload("CreateFromFontGlyph")] HRESULT CreateFromFontGlyphWithUri([in] HSTRING displayText, [in] HSTRING glyph, [in] HSTRING fontFamily, [in] Windows.Foundation.Uri* fontUri, [out] [retval] Windows.UI.Input.RadialControllerMenuItem** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.UI.Input.RadialControllerRotationChangedEventArgs)]
            [uuid(206AA435-E651-11E5-BF62-2C27D7404E85)]
            interface IRadialControllerRotationChangedEventArgs : IInspectable
            {
                [propget] HRESULT RotationDeltaInDegrees([out] [retval] DOUBLE* value);
                [propget] HRESULT Contact([out] [retval] Windows.UI.Input.RadialControllerScreenContact** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.UI.Input.RadialControllerRotationChangedEventArgs)]
            [uuid(3D577EEC-4CEE-11E6-B535-001BDC06AB3B)]
            interface IRadialControllerRotationChangedEventArgs2 : IInspectable
            {
                [propget] HRESULT IsButtonPressed([out] [retval] boolean* value);
                [propget] HRESULT SimpleHapticsController([out] [retval] Windows.Devices.Haptics.SimpleHapticsController** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.UI.Input.RadialControllerScreenContact)]
            [uuid(206AA434-E651-11E5-BF62-2C27D7404E85)]
            interface IRadialControllerScreenContact : IInspectable
            {
                [propget] HRESULT Bounds([out] [retval] Windows.Foundation.Rect* value);
                [propget] HRESULT Position([out] [retval] Windows.Foundation.Point* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.UI.Input.RadialControllerScreenContactContinuedEventArgs)]
            [uuid(206AA437-E651-11E5-BF62-2C27D7404E85)]
            interface IRadialControllerScreenContactContinuedEventArgs : IInspectable
            {
                [propget] HRESULT Contact([out] [retval] Windows.UI.Input.RadialControllerScreenContact** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.UI.Input.RadialControllerScreenContactContinuedEventArgs)]
            [uuid(3D577EF1-3CEE-11E6-B535-001BDC06AB3B)]
            interface IRadialControllerScreenContactContinuedEventArgs2 : IInspectable
            {
                [propget] HRESULT IsButtonPressed([out] [retval] boolean* value);
                [propget] HRESULT SimpleHapticsController([out] [retval] Windows.Devices.Haptics.SimpleHapticsController** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.UI.Input.RadialControllerScreenContactEndedEventArgs)]
            [uuid(3D577EF2-3CEE-11E6-B535-001BDC06AB3B)]
            interface IRadialControllerScreenContactEndedEventArgs : IInspectable
            {
                [propget] HRESULT IsButtonPressed([out] [retval] boolean* value);
                [propget] HRESULT SimpleHapticsController([out] [retval] Windows.Devices.Haptics.SimpleHapticsController** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.UI.Input.RadialControllerScreenContactStartedEventArgs)]
            [uuid(206AA436-E651-11E5-BF62-2C27D7404E85)]
            interface IRadialControllerScreenContactStartedEventArgs : IInspectable
            {
                [propget] HRESULT Contact([out] [retval] Windows.UI.Input.RadialControllerScreenContact** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.UI.Input.RadialControllerScreenContactStartedEventArgs)]
            [uuid(3D577EF0-3CEE-11E6-B535-001BDC06AB3B)]
            interface IRadialControllerScreenContactStartedEventArgs2 : IInspectable
            {
                [propget] HRESULT IsButtonPressed([out] [retval] boolean* value);
                [propget] HRESULT SimpleHapticsController([out] [retval] Windows.Devices.Haptics.SimpleHapticsController** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.UI.Input.RadialController)]
            [uuid(FADED0B7-B84C-4894-87AA-8F25AA5F288B)]
            interface IRadialControllerStatics : IInspectable
            {
                HRESULT IsSupported([out] [retval] boolean* result);
                HRESULT CreateForCurrentView([out] [retval] Windows.UI.Input.RadialController** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.UI.Input.RightTappedEventArgs)]
            [uuid(4CBF40BD-AF7A-4A36-9476-B1DCE141709A)]
            interface IRightTappedEventArgs : IInspectable
            {
                [propget] HRESULT PointerDeviceType([out] [retval] Windows.Devices.Input.PointerDeviceType* value);
                [propget] HRESULT Position([out] [retval] Windows.Foundation.Point* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.UI.Input.TappedEventArgs)]
            [uuid(CFA126E4-253A-4C3C-953B-395C37AED309)]
            interface ITappedEventArgs : IInspectable
            {
                [propget] HRESULT PointerDeviceType([out] [retval] Windows.Devices.Input.PointerDeviceType* value);
                [propget] HRESULT Position([out] [retval] Windows.Foundation.Point* value);
                [propget] HRESULT TapCount([out] [retval] UINT32* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(none)]
            runtimeclass CrossSlidingEventArgs
            {
                [default] interface Windows.UI.Input.ICrossSlidingEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(none)]
            runtimeclass DraggingEventArgs
            {
                [default] interface Windows.UI.Input.IDraggingEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(standard)]
            [static(Windows.UI.Input.IEdgeGestureStatics, Windows.Foundation.UniversalApiContract, 1.0)]
            [threading(sta)]
            runtimeclass EdgeGesture
            {
                [default] interface Windows.UI.Input.IEdgeGesture;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(standard)]
            runtimeclass EdgeGestureEventArgs
            {
                [default] interface Windows.UI.Input.IEdgeGestureEventArgs;
            }

            [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(none)]
            runtimeclass GestureRecognizer
            {
                [default] interface Windows.UI.Input.IGestureRecognizer;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(none)]
            runtimeclass HoldingEventArgs
            {
                [default] interface Windows.UI.Input.IHoldingEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [marshaling_behavior(agile)]
            [static(Windows.UI.Input.IKeyboardDeliveryInterceptorStatics, Windows.Foundation.UniversalApiContract, 2.0)]
            runtimeclass KeyboardDeliveryInterceptor
            {
                [default] interface Windows.UI.Input.IKeyboardDeliveryInterceptor;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(none)]
            runtimeclass ManipulationCompletedEventArgs
            {
                [default] interface Windows.UI.Input.IManipulationCompletedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(none)]
            runtimeclass ManipulationInertiaStartingEventArgs
            {
                [default] interface Windows.UI.Input.IManipulationInertiaStartingEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(none)]
            runtimeclass ManipulationStartedEventArgs
            {
                [default] interface Windows.UI.Input.IManipulationStartedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(none)]
            runtimeclass ManipulationUpdatedEventArgs
            {
                [default] interface Windows.UI.Input.IManipulationUpdatedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(none)]
            runtimeclass MouseWheelParameters
            {
                [default] interface Windows.UI.Input.IMouseWheelParameters;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(none)]
            [static(Windows.UI.Input.IPointerPointStatics, Windows.Foundation.UniversalApiContract, 1.0)]
            runtimeclass PointerPoint
            {
                [default] interface Windows.UI.Input.IPointerPoint;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(none)]
            runtimeclass PointerPointProperties
            {
                [default] interface Windows.UI.Input.IPointerPointProperties;
                [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.UI.Input.IPointerPointProperties2;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.UI.Input.IPointerVisualizationSettingsStatics, Windows.Foundation.UniversalApiContract, 1.0)]
            runtimeclass PointerVisualizationSettings
            {
                [default] interface Windows.UI.Input.IPointerVisualizationSettings;
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [marshaling_behavior(agile)]
            [static(Windows.UI.Input.IRadialControllerStatics, Windows.Foundation.UniversalApiContract, 3.0)]
            runtimeclass RadialController
            {
                [default] interface Windows.UI.Input.IRadialController;
                [contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.UI.Input.IRadialController2;
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [marshaling_behavior(agile)]
            runtimeclass RadialControllerButtonClickedEventArgs
            {
                [default] interface Windows.UI.Input.IRadialControllerButtonClickedEventArgs;
                [contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.UI.Input.IRadialControllerButtonClickedEventArgs2;
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [marshaling_behavior(agile)]
            runtimeclass RadialControllerButtonHoldingEventArgs
            {
                [default] interface Windows.UI.Input.IRadialControllerButtonHoldingEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [marshaling_behavior(agile)]
            runtimeclass RadialControllerButtonPressedEventArgs
            {
                [default] interface Windows.UI.Input.IRadialControllerButtonPressedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [marshaling_behavior(agile)]
            runtimeclass RadialControllerButtonReleasedEventArgs
            {
                [default] interface Windows.UI.Input.IRadialControllerButtonReleasedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [marshaling_behavior(agile)]
            [static(Windows.UI.Input.IRadialControllerConfigurationStatics, Windows.Foundation.UniversalApiContract, 3.0)]
            [static(Windows.UI.Input.IRadialControllerConfigurationStatics2, Windows.Foundation.UniversalApiContract, 5.0)]
            runtimeclass RadialControllerConfiguration
            {
                [default] interface Windows.UI.Input.IRadialControllerConfiguration;
                [contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.UI.Input.IRadialControllerConfiguration2;
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [marshaling_behavior(agile)]
            runtimeclass RadialControllerControlAcquiredEventArgs
            {
                [default] interface Windows.UI.Input.IRadialControllerControlAcquiredEventArgs;
                [contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.UI.Input.IRadialControllerControlAcquiredEventArgs2;
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [marshaling_behavior(agile)]
            runtimeclass RadialControllerMenu
            {
                [default] interface Windows.UI.Input.IRadialControllerMenu;
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [marshaling_behavior(agile)]
            [static(Windows.UI.Input.IRadialControllerMenuItemStatics, Windows.Foundation.UniversalApiContract, 3.0)]
            [static(Windows.UI.Input.IRadialControllerMenuItemStatics2, Windows.Foundation.UniversalApiContract, 4.0)]
            runtimeclass RadialControllerMenuItem
            {
                [default] interface Windows.UI.Input.IRadialControllerMenuItem;
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [marshaling_behavior(agile)]
            runtimeclass RadialControllerRotationChangedEventArgs
            {
                [default] interface Windows.UI.Input.IRadialControllerRotationChangedEventArgs;
                [contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.UI.Input.IRadialControllerRotationChangedEventArgs2;
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [marshaling_behavior(agile)]
            runtimeclass RadialControllerScreenContact
            {
                [default] interface Windows.UI.Input.IRadialControllerScreenContact;
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [marshaling_behavior(agile)]
            runtimeclass RadialControllerScreenContactContinuedEventArgs
            {
                [default] interface Windows.UI.Input.IRadialControllerScreenContactContinuedEventArgs;
                [contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.UI.Input.IRadialControllerScreenContactContinuedEventArgs2;
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [marshaling_behavior(agile)]
            runtimeclass RadialControllerScreenContactEndedEventArgs
            {
                [default] interface Windows.UI.Input.IRadialControllerScreenContactEndedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [marshaling_behavior(agile)]
            runtimeclass RadialControllerScreenContactStartedEventArgs
            {
                [default] interface Windows.UI.Input.IRadialControllerScreenContactStartedEventArgs;
                [contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.UI.Input.IRadialControllerScreenContactStartedEventArgs2;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(none)]
            runtimeclass RightTappedEventArgs
            {
                [default] interface Windows.UI.Input.IRightTappedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(none)]
            runtimeclass TappedEventArgs
            {
                [default] interface Windows.UI.Input.ITappedEventArgs;
            }
        }
    }
}
