Input injection is needed for many reasons. One of the most requested reasons is to support SPI screens, which have capacitive or resistive touch panels which can be read via I2C. How do you translate this touch input from the display panel to something Windows can consume?
Windows 10 IoT Core does not contain the traditional Win32 API SendInput. SendInput it is tightly bound to the legacy input system, which is not present in the image. IoT Core does not currently have a replacement for this API, but we hope to introduce a compatible API in the future. In the meantime, this sample will allow you to deploy a driver to perform low level injection of touch, keyboard and mouse events, and can be used until the SendInput equivelent API is available.
The HID Injection sample leverages the Virtual HID Framework.
In order to build this driver you will need the following:
Deployment and Imaging Tools Environmentfrom the Start Menu with administrative privileges (Search for the program, then right click on it and select
Run As Administrator)
\\\\IP for your IoT Core device\\c$. Enter credentials if prompted.
deployfolder on your IoT Core device.
Open Folder in File Explorer.
Use the Windows device portal to install the Microsoft.HidInjectionSample.HidInjectionSample.cab file.
If you’ve installed the driver, verify the install by navigating to the Web management console
http://<your device ip>:8080/devicemanager.htm
and looking for the
HID Injection Sample node.
Included in the solution is a C++ console application used to demonstrate communication with the Hid injection Driver. The Driver is discovered by class using
The sample application will inject Touch, Keyboard and Mouse events by synthesizing a HID block, and calling the driver with that block. The Sample application is C+ which requires the console app procedures for deploying.