Silverlight 5 WinRT

  public abstract interface IKeyboardCapabilities
 
  public abstract virtual Int32 KeyboardPresent { get; }

  public abstract interface IMouseCapabilities
 
  public abstract virtual Int32 HorizontalWheelPresent { get; }
  public abstract virtual Int32 MousePresent { get; }
  public abstract virtual UInt32 NumberOfButtons { get; }
  public abstract virtual Int32 SwapButtons { get; }
  public abstract virtual Int32 VerticalWheelPresent { get; }

  public abstract interface IPointerDevice
 
  public abstract virtual Boolean IsIntegrated { get; }
  public abstract virtual UInt32 MaxContacts { get; }
  public abstract virtual Rect PhysicalDeviceRect { get; }
  public abstract virtual PointerDeviceType PointerDeviceType { get; }
  public abstract virtual Rect ScreenRect { get; }
  public abstract virtual IReadOnlyList`1<PointerDeviceUsage> SupportedUsages { get; }

  public abstract interface ITouchCapabilities
 
  public abstract virtual UInt32 Contacts { get; }
  public abstract virtual Int32 TouchPresent { get; }

  public sealed class KeyboardCapabilities
  : __ComObject, IKeyboardCapabilities
  public virtual Int32 KeyboardPresent { get; }

  public sealed class MouseCapabilities
  : __ComObject, IMouseCapabilities
  public virtual Int32 HorizontalWheelPresent { get; }
  public virtual Int32 MousePresent { get; }
  public virtual UInt32 NumberOfButtons { get; }
  public virtual Int32 SwapButtons { get; }
  public virtual Int32 VerticalWheelPresent { get; }

  public sealed class PointerDevice
  : __ComObject, IPointerDevice
  public virtual Boolean IsIntegrated { get; }
  public virtual UInt32 MaxContacts { get; }
  public virtual Rect PhysicalDeviceRect { get; }
  public virtual PointerDeviceType PointerDeviceType { get; }
  public virtual Rect ScreenRect { get; }
  public virtual IReadOnlyList`1<PointerDeviceUsage> SupportedUsages { get; }
  static public PointerDevice GetPointerDevice(UInt32 pointerId);
  static public IReadOnlyList`1<PointerDevice> GetPointerDevices();

  public sealed enum PointerDeviceType
  : IComparable, IFormattable, IConvertible
  { Touch, Pen, Mouse }

  public sealed struct PointerDeviceUsage
  : ValueType

  public sealed class TouchCapabilities
  : __ComObject, ITouchCapabilities
  public virtual UInt32 Contacts { get; }
  public virtual Int32 TouchPresent { get; }