HidInputReport HidInputReport HidInputReport HidInputReport Class

Definition

Represents an input report.

Devices issue input reports to describe state changes, user-input, and other device-specific data. For example, a HID keyboard device would use an input report to signal a key press. A HID presence-sensor would use an input report to signal a presence detection event.

public : sealed class HidInputReport : IHidInputReportpublic sealed class HidInputReport : IHidInputReportPublic NotInheritable Class HidInputReport Implements IHidInputReport// You can use this class in JavaScript.
Attributes
Windows 10 requirements
Device family
Windows 10 (introduced v10.0.10240.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
API contract
Windows.Foundation.UniversalApiContract (introduced v1)

Remarks

The following example demonstrates how a Windows Store app built with XAML and C# uses the GetInputReportAsync method to obtain an input report.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using Windows.Devices.Enumeration;
using Windows.Devices.HumanInterfaceDevice;
using Windows.Storage;
using Windows.Storage.Streams;

namespace HidSampleCS
{
    class Vendor
    {
        private async void ReadWriteToHidDevice(HidDevice device)
        {
            if (device != null)
            {
                // construct a HID output report to send to the device
                HidOutputReport outReport = device.CreateOutputReport();

                /// Initialize the data buffer and fill it in
                byte[] buffer = new byte[] { 10, 20, 30, 40 };

                DataWriter dataWriter = new DataWriter();
                dataWriter.WriteBytes(buffer);

                outReport.Data = dataWriter.DetachBuffer();

                // Send the output report asynchronously
                await device.SendOutputReportAsync(outReport);

                //
                // Sent output report successfully 
                // Now lets try read an input report 
                //
                HidInputReport inReport = await device.GetInputReportAsync();

                if (inReport != null)
                {
                    UInt16 id = inReport.Id;
                    var bytes = new byte[4];
                    DataReader dataReader = DataReader.FromBuffer(inReport.Data);
                    dataReader.ReadBytes(bytes);
                }
                else
                {
                    this.NotifyUser("Invalid input report received");
                }
            }
            else
            {
                this.NotifyUser("device is NULL");
            }
        }
    }
}

Properties

ActivatedBooleanControls ActivatedBooleanControls ActivatedBooleanControls ActivatedBooleanControls

Retrieves the currently activated Boolean controls for the given HID device.

public : IVectorView<HidBooleanControl> ActivatedBooleanControls { get; }public IReadOnlyList<HidBooleanControl> ActivatedBooleanControls { get; }Public ReadOnly Property ActivatedBooleanControls As IReadOnlyList<HidBooleanControl>// You can use this property in JavaScript.
Value
IVectorView<HidBooleanControl> IReadOnlyList<HidBooleanControl> IReadOnlyList<HidBooleanControl> IReadOnlyList<HidBooleanControl>

A collection of Boolean controls.

Data Data Data Data

Retrieves the data associated with a given input report.

public : IBuffer Data { get; }public IBuffer Data { get; }Public ReadOnly Property Data As IBuffer// You can use this property in JavaScript.
Value
IBuffer IBuffer IBuffer IBuffer

The input-report data.

Id Id Id Id

Retrieves the identifier associated with a given input report.

public : ushort Id { get; }public ushort Id { get; }Public ReadOnly Property Id As ushort// You can use this property in JavaScript.
Value
ushort ushort ushort ushort

The input report identifier.

TransitionedBooleanControls TransitionedBooleanControls TransitionedBooleanControls TransitionedBooleanControls

Retrieves the recently transitioned Boolean controls for the given HID device.

public : IVectorView<HidBooleanControl> TransitionedBooleanControls { get; }public IReadOnlyList<HidBooleanControl> TransitionedBooleanControls { get; }Public ReadOnly Property TransitionedBooleanControls As IReadOnlyList<HidBooleanControl>// You can use this property in JavaScript.
Value
IVectorView<HidBooleanControl> IReadOnlyList<HidBooleanControl> IReadOnlyList<HidBooleanControl> IReadOnlyList<HidBooleanControl>

A collection of Boolean controls.

Methods

GetBooleanControl(UInt16, UInt16) GetBooleanControl(UInt16, UInt16) GetBooleanControl(UInt16, UInt16) GetBooleanControl(UInt16, UInt16)

Retrieves the Boolean control associated with the usagePage and usageId parameter and found in the given input report.

public : HidBooleanControl GetBooleanControl(unsigned short usagePage, unsigned short usageId)public HidBooleanControl GetBooleanControl(UInt16 usagePage, UInt16 usageId)Public Function GetBooleanControl(usagePage As UInt16, usageId As UInt16) As HidBooleanControl// You can use this method in JavaScript.
Parameters
usagePage
unsigned short UInt16 UInt16 UInt16

The usage page of the top-level collection for the given HID device.

usageId
unsigned short UInt16 UInt16 UInt16

The usage identifier of the top-level collection for the given HID device.

Returns

GetBooleanControlByDescription(HidBooleanControlDescription) GetBooleanControlByDescription(HidBooleanControlDescription) GetBooleanControlByDescription(HidBooleanControlDescription) GetBooleanControlByDescription(HidBooleanControlDescription)

Retrieves the Boolean control described by the controlDescription parameter and found in the given input report.

public : HidBooleanControl GetBooleanControlByDescription(HidBooleanControlDescription controlDescription)public HidBooleanControl GetBooleanControlByDescription(HidBooleanControlDescription controlDescription)Public Function GetBooleanControlByDescription(controlDescription As HidBooleanControlDescription) As HidBooleanControl// You can use this method in JavaScript.
Parameters
Returns

GetNumericControl(UInt16, UInt16) GetNumericControl(UInt16, UInt16) GetNumericControl(UInt16, UInt16) GetNumericControl(UInt16, UInt16)

Retrieves the numeric control associated with the usagePage and usageId parameters and found in the given input report.

public : HidNumericControl GetNumericControl(unsigned short usagePage, unsigned short usageId)public HidNumericControl GetNumericControl(UInt16 usagePage, UInt16 usageId)Public Function GetNumericControl(usagePage As UInt16, usageId As UInt16) As HidNumericControl// You can use this method in JavaScript.
Parameters
usagePage
unsigned short UInt16 UInt16 UInt16

The usage page of the top-level collection for the given HID device.

usageId
unsigned short UInt16 UInt16 UInt16

The usage identifier of the top-level collection for the given HID device.

Returns

GetNumericControlByDescription(HidNumericControlDescription) GetNumericControlByDescription(HidNumericControlDescription) GetNumericControlByDescription(HidNumericControlDescription) GetNumericControlByDescription(HidNumericControlDescription)

Retrieves the numeric control described by the controlDescription parameter and found in the given input report.

public : HidNumericControl GetNumericControlByDescription(HidNumericControlDescription controlDescription)public HidNumericControl GetNumericControlByDescription(HidNumericControlDescription controlDescription)Public Function GetNumericControlByDescription(controlDescription As HidNumericControlDescription) As HidNumericControl// You can use this method in JavaScript.
Parameters
Returns