namespace PowerToys { namespace Interop { struct KeyboardEvent { UInt64 message; Int32 key; UInt64 dwExtraInfo; }; [version(1.0), uuid(7b820173-a54a-4a38-b810-810e05c14344)] delegate void KeyboardEventCallback(KeyboardEvent ev); [version(1.0), uuid(e3a8bb91-0dfd-4d77-8472-75a47b7af8f8)] delegate Boolean IsActiveCallback(); [version(1.0), uuid(94b900ee-d9e8-4630-9064-737eeb9c18ad)] delegate Boolean FilterKeyboardEvent(KeyboardEvent ev); [default_interface] runtimeclass KeyboardHook: Windows.Foundation.IClosable { KeyboardHook(KeyboardEventCallback keyboardEventCallback, IsActiveCallback isActiveCallback, FilterKeyboardEvent filterKeyboardEvent); void Start(); } } }