Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

HidInputReport class

Applies to Windows and Windows Phone

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.

Syntax


var hidInputReport = Windows.Devices.HumanInterfaceDevice.HidInputReport.report;

Attributes

[DualApiPartition()]
[MarshalingBehavior(Agile)]
[Version(0x06030000)]

Members

The HidInputReport class has these types of members:

Methods

The HidInputReport class has these methods. With C#, Visual Basic, and C++, it also inherits methods from the Object class.

MethodDescription
GetBooleanControl Retrieves the Boolean control associated with the usagePage and usageIdparameter and found in the given input report.
GetBooleanControlByDescription Retrieves the Boolean control described by the controlDescription parameter and found in the given input report.
GetNumericControl Retrieves the numeric control associated with the usagePage and usageId parameters and found in the given input report.
GetNumericControlByDescription Retrieves the numeric control described by the controlDescription parameter and found in the given input report.

 

Properties

The HidInputReport class has these properties.

PropertyAccess typeDescription

ActivatedBooleanControls

Read-onlyRetrieves the currently activated Boolean controls for the given HID device.

Data

Read-onlyRetrieves the data associated with a given input report.

Id

Read-onlyRetrieves the identifier associated with a given input report.

TransitionedBooleanControls

Read-onlyRetrieves the recently transitioned Boolean controls for the given HID device.

 

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");
            }
        }
    }
}



Requirements

Minimum supported client

Windows 8.1 [Windows Store apps, desktop apps]

Minimum supported server

Windows Server 2012 R2 [Windows Store apps, desktop apps]

Minimum supported phone

Windows Phone 8.1 [Windows Phone Silverlight 8.1 and Windows Runtime apps]

Namespace

Windows.Devices.HumanInterfaceDevice
Windows::Devices::HumanInterfaceDevice [C++]

Metadata

Windows.winmd

See also

Object

 

 

Show:
© 2014 Microsoft