Gets a value that indicates whether the input data from the pointer device contains the specified Human Interface Device (HID) usage information.
Syntax
var boolean = pointerPointProperties.hasUsage(usagePage, usageId);
Parameters
- usagePage
-
Type: Number [JavaScript] | System.UInt32 [.NET] | uint32 [C++]
The HID usage page of the pointer device.
Usage pages specify the class of device. For example, touch digitizers (0x0D) and generic input (0x01).
- usageId
-
Type: Number [JavaScript] | System.UInt32 [.NET] | uint32 [C++]
Indicates a usage in a usage page.
Usage IDs specify a device or property in the usagePage. For example, for touch digitizers this includes tip switch (0x42) to indicate finger contact or tip pressure (0x30).
Return value
Type: Boolean [JavaScript] | System.Boolean [.NET] | Platform::Boolean [C++]
True if the input data includes usage information; otherwise false.
Remarks
The core of the Microsoft interactive input device architecture is based on the Universal Serial Bus (USB) standard Device Class Definition for HIDs, which is defined by the USB Implementers Forum, Inc.
The USB HID standard defines the configuration and communication protocols for HIDs, such as keyboards, mouse devices, joysticks, and virtual reality devices, that humans use to enter data directly into a computer. (For detailed information about the USB HID standard, see the USB Implementers Forum website.)
Although the core of the Windows input architecture is based on the USB HID standard, the architecture is not limited to USB devices. The input architecture also supports serial port devices, i8042 port devices, and proprietary input devices.
PointerPoint and PointerPointProperties expose common HID usages directly.
Use HasUsage to query for additional, custom, and device-specific usages or when you need to verify that a device actually supports a property (where PointerPoint and PointerPointProperties return a default value).
The following table lists the HID usages that are exposed directly through PointerPoint and PointerPointProperties.
| Property | Usage Page | Usage |
|---|---|---|
| Position (X) | 0x01 | 0x30 |
| Position (Y) | 0x01 | 0x31 |
| RawPosition (X) | 0x01 | 0x30 |
| RawPosition (Y) | 0x01 | 0x31 |
| IsInContact | 0x0D | 0x42 (tip) or 0x45 (eraser tip) |
| Pressure | 0x0D | 0x30 |
| IsInverted | 0x0D | 0x3C |
| IsEraser | 0x0D | 0x45 |
| Orientation | 0x0D | 0x3F |
| XTilt | 0x0D | 0x3D |
| YTilt | 0x0D | 0x3E |
| Twist | 0x0D | 0x41 |
| ContactRect (Width) | 0x0D | 0x48 |
| ContactRect (Height) | 0x0D | 0x49 |
| ContactRectRaw (Width) | 0x0D | 0x48 |
| ContactRectRaw (Height) | 0x0D | 0x49 |
| TouchConfidence | 0x0D | 0x47 |
| IsInRange | 0x0D | 0x32 |
Windows Phone 8
This API is not implemented and will throw an exception if called.
Requirements
|
Minimum supported client | Windows 8 |
|---|---|
|
Minimum supported server | Windows Server 2012 |
|
Minimum supported phone | Windows Phone 8 |
|
Namespace |
|
|
Metadata |
|
See also
Build date: 2/25/2013