From: Hans Leidekker hans@codeweavers.com
--- include/windows.ui.core.idl | 52 +++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+)
diff --git a/include/windows.ui.core.idl b/include/windows.ui.core.idl index e2017322eae..68159d7c3ee 100644 --- a/include/windows.ui.core.idl +++ b/include/windows.ui.core.idl @@ -43,6 +43,7 @@ namespace Windows.UI.Input { }
namespace Windows.UI.Core { + typedef enum CoreAcceleratorKeyEventType CoreAcceleratorKeyEventType; typedef enum CoreCursorType CoreCursorType; typedef enum CoreDispatcherPriority CoreDispatcherPriority; typedef enum CoreProcessEventsOption CoreProcessEventsOption; @@ -53,6 +54,7 @@ namespace Windows.UI.Core { typedef struct CorePhysicalKeyStatus CorePhysicalKeyStatus; typedef struct CoreProximityEvaluation CoreProximityEvaluation;
+ interface IAcceleratorKeyEventArgs; interface IAutomationProviderRequestedEventArgs; interface ICharacterReceivedEventArgs; interface IClosestInteractiveBoundsRequestedEventArgs; @@ -97,6 +99,7 @@ namespace Windows.UI.Core { runtimeclass WindowSizeChangedEventArgs;
declare { + interface Windows.Foundation.TypedEventHandler<Windows.UI.Core.CoreDispatcher *, Windows.UI.Core.AcceleratorKeyEventArgs *>; interface Windows.Foundation.TypedEventHandler<Windows.UI.Core.CoreWindow *, IInspectable *>; interface Windows.Foundation.TypedEventHandler<Windows.UI.Core.CoreWindow *, Windows.UI.Core.AutomationProviderRequestedEventArgs *>; interface Windows.Foundation.TypedEventHandler<Windows.UI.Core.CoreWindow *, Windows.UI.Core.CharacterReceivedEventArgs *>; @@ -111,6 +114,22 @@ namespace Windows.UI.Core { interface Windows.Foundation.TypedEventHandler<Windows.UI.Core.CoreWindow *, Windows.UI.Core.WindowSizeChangedEventArgs *>; }
+ [ + contract(Windows.Foundation.UniversalApiContract, 1.0) + ] + enum CoreAcceleratorKeyEventType + { + Character = 2, + DeadCharacter = 3, + KeyDown = 0, + KeyUp = 1, + SystemCharacter = 6, + SystemDeadCharacter = 7, + SystemKeyDown = 4, + SystemKeyUp = 5, + UnicodeCharacter = 8, + }; + [ contract(Windows.Foundation.UniversalApiContract, 1.0) ] @@ -234,6 +253,19 @@ namespace Windows.UI.Core { ] delegate HRESULT IdleDispatchedHandler([in] Windows.UI.Core.IdleDispatchedHandlerArgs *e);
+ [ + contract(Windows.Foundation.UniversalApiContract, 1.0), + exclusiveto(Windows.UI.Core.AcceleratorKeyEventArgs), + uuid(ff1c4c4a-9287-470b-836e-9086e3126ade) + ] + interface IAcceleratorKeyEventArgs : IInspectable + requires Windows.UI.Core.ICoreWindowEventArgs + { + [propget] HRESULT EventType([out, retval] Windows.UI.Core.CoreAcceleratorKeyEventType *value); + [propget] HRESULT VirtualKey([out, retval] Windows.System.VirtualKey *value); + [propget] HRESULT KeyStatus([out, retval] Windows.UI.Core.CorePhysicalKeyStatus *value); + } + [ contract(Windows.Foundation.UniversalApiContract, 1.0), exclusiveto(Windows.UI.Core.AutomationProviderRequestedEventArgs), @@ -271,6 +303,16 @@ namespace Windows.UI.Core { [propput] HRESULT ClosestInteractiveBounds([in] Windows.Foundation.Rect value); }
+ [ + contract(Windows.Foundation.UniversalApiContract, 1.0), + uuid(9ffdf7f5-b8c9-4ef0-b7d2-1de626561fc8) + ] + interface ICoreAcceleratorKeys : IInspectable + { + [eventadd] HRESULT AcceleratorKeyActivated([in] Windows.Foundation.TypedEventHandler<Windows.UI.Core.CoreDispatcher *, Windows.UI.Core.AcceleratorKeyEventArgs *> *handler, [out, retval] EventRegistrationToken *cookie); + [eventremove] HRESULT AcceleratorKeyActivated([in] EventRegistrationToken cookie); + } + [ contract(Windows.Foundation.UniversalApiContract, 1.0), exclusiveto(Windows.UI.Core.CoreCursor), @@ -539,6 +581,16 @@ namespace Windows.UI.Core { [propget] HRESULT Size([out, retval] Windows.Foundation.Size *value); }
+ [ + contract(Windows.Foundation.UniversalApiContract, 1.0), + marshaling_behavior(agile) + ] + runtimeclass AcceleratorKeyEventArgs + { + [default] interface Windows.UI.Core.IAcceleratorKeyEventArgs; + interface Windows.UI.Core.ICoreWindowEventArgs; + } + [ contract(Windows.Foundation.UniversalApiContract, 1.0), marshaling_behavior(standard)