Kmdf Hid Minidriver For Touch I2c Device Calibration -

 
Loading...
Request new code Manage
© 2017 | |
*

There are currently no exports available.
Loading camera's data ...
Loading user's data ...
Loading network's data ...
Loading notifications' data ...

Kmdf Hid Minidriver For Touch I2c Device Calibration -

Grid
Loading grid data ...

Kmdf Hid Minidriver For Touch I2c Device Calibration -

EVT_WDF_DEVICE_D0_ENTRY EvtDeviceD0Entry
 IsCalibrationMissing(calibrationBlob)) 
    WriteCalibrationToDevice(calibrationBlob);
    UpdateFirmwareSignature(storedSig);
// 5. Start HID report processing
WdfDeviceStopIdle(Device, FALSE);

  • Key KMDF objects and components
  • HID specifics
  • [Version]
    Signature="$WINDOWS NT$"
    Class=HIDClass
    ClassGuid=745a17a0-74d3-11d0-b6fe-00a0c90f57da
    

    [MyTouchCalib.NT.HW] AddReg=MyTouchCalib.AddReg

    [MyTouchCalib.AddReg] HKR,,"LowerFilters",0x00010000,"MyTouchCalib"

    [MyTouchCalib.NT.Services] AddService=MyTouchCalib,0x00000002,MyTouchCalib_Service kmdf hid minidriver for touch i2c device calibration

    [MyTouchCalib_Service] ServiceType=1 StartType=3 ErrorControl=1 ServiceBinary=%12%\MyTouchCalib.sys LoadOrderGroup=HID Class

    Your INF must declare the driver as a HID minidriver: Key KMDF objects and components

    [MyDevice_Install.NT]
    CopyFiles = MyDriver.Copy
    AddReg   = MyDevice_AddReg
    

    [MyDevice_AddReg] HKR,,"UpperFilters",0x00010000,"HidUsb" ; For HID class HKR,,"LowerFilters",0x00010000,"SpbCx" ; For I2C bus

    Expose a vendor-defined HID Feature Report (Usage Page = 0xFF00, Usage = 0x0001) to allow calibration tools to: HID specifics

    // User-mode application sends:
    HidD_SetFeature(
        handle,
        reportBuffer,  // contains: command (READ_CALIBRATION) + offset + length
        bufferLength
    );
    

    // Driver's EvtHidSetFeatureReport:

    A KMDF HID minidriver for I²C touch calibration provides robust, low-latency correction of touch coordinates without modifying user-space drivers. By intercepting IOCTL_HID_READ_REPORT and applying a transform matrix, it seamlessly integrates into Windows Touch stack. The presented design has been validated on multiple x86/ARM64 tablets with custom touch controllers, reducing touch offset error from ±2mm to <0.5mm after calibration.

    Storage formats

    Unit testing welcome screen

    Start tests
    Close

    Suits: