Sileadinc.com Kmdf Hid Minidriver For Touch I2c Device 【Updated ✯】
SileadInc KMDF HID Miniport (Touch I2C) — Quick Implementation Guide
This guide provides a concise, practical walkthrough for building and troubleshooting a KMDF-based HID minidriver for SileadInc touch I2C devices (commonly exposed via sileadinc.com device families). It assumes familiarity with Windows driver development, Visual Studio, WDK, KMDF, and the HID and I2C driver models.
2.2 Driver Stack Diagram
[User Mode] → Touch input apps / Pen & Touch settings
↑
[Kernel Mode] |
hidclass.sys (HID Class Driver)
↑
SileadHIDMinidriver.sys ← HID Transport Minidriver
↑
i2c.sys (Microsoft I2C Bus Driver)
↑
ACPI / I2C Controller (e.g., Synopsys DesignWare I2C)
↑
Silead Touch Controller (GSLx680 etc.) on I2C bus
The Driver Stack Hierarchy
- Hardware Layer: Silead touch controller (e.g., GSL1680, GSL3676) connected via I2C bus.
- Bus Driver:
i2c.sys(Microsoft I2C bus driver) enumerates the device. - Function Driver (Your Keyword):
silead_touch.inf+silead_touch.sys(KMDF). This driver translates raw I2C registers into HID Multi-Touch reports. - Class Driver:
hidclass.sys– processes standard HID usages (touch, pressure, contact ID). - OS Subsystem:
touchinput.dll+User32.dll– delivers events to applications.
Resources & samples to consult
- WDK/WDK samples: “i2c” / “spb” sample drivers and “hidminidriver” or “hid” sample.
- KMDF documentation: device lifecycle, I/O queues, interrupts, power callbacks.
- HID specifications for report descriptor format and usage pages.
If you want, I can:
- produce a sample KMDF project skeleton (DriverEntry, EvtDeviceAdd, EvtDevicePrepareHardware, interrupt + read flow) tailored to a specific Silead device model, or
- draft a matching INF and example HID report descriptor for a 5-touch controller.
Related search suggestions (you can use these terms to find code samples and datasheets): functions.RelatedSearchTerms("suggestions":["suggestion":"Silead KMDF HID minidriver sample code","score":0.9,"suggestion":"Windows SPB I2C KMDF sample driver HID touch","score":0.9,"suggestion":"Silead touch controller datasheet I2C","score":0.8]) sileadinc.com kmdf hid minidriver for touch i2c device
The Silead KMDF HID miniport driver connects I2C-based touch controllers to Windows, relying on specific external SileadTouch.fw
firmware files for proper calibration. Because the driver acts as a loader for this firmware, mismatched or missing files often lead to non-responsive or miscalibrated touchscreens on budget Windows devices. SileadInc KMDF HID Miniport (Touch I2C) — Quick
Installation and INF Files
If you are manually installing this driver (for example, on a custom embedded system or a tablet that lost its drivers), you will typically deal with an .inf file.
A standard Silead INF file defines:
- [Version]: Provider (Sileadinc) and Class (HIDClass).
- [Install]: Directives to copy the
.sysdriver file and the firmware blob. - [HWID]: Maps the ACPI ID of the touch controller to the driver name.
If the firmware blob is missing from the installation directory, the driver will load successfully, but the touchscreen will remain dead because the controller chip was never told "how" to be a touchscreen.