Touch hardware driver development (RS232) RRS feed

  • Question

  • Hello everyone,

    I need to develop a driver for a proprietary touchscreen. Sadly this hardware communicates via RS232, hence it doesn't expose an HID interface.

    At the moment the "" driver "" is a userland piece of software doing SendInput() calls (yeah yeah I know, I'll let you imagine the performances ...)

    I went through tons of docs on Windows Driver Development, but still it seems I can't settle on the proper way to develop the driver.

    One opportunity I identified was following what's written in this doc :

    IE mimicing a HID minidriver by doing a shim driver.

    Any opinions / suggestions on better ways to do this ? I must admit as a rookie in WDD the topic is quite vast and choosing the right technology is a bit hard.

    ps : We are targeting Windows 7 (though if it makes life easier, Windows 8 is a possibility).

    Wednesday, February 5, 2014 1:59 PM

All replies

  • Since it communicates via RS232 I assume that it can function as USB2Serial device. Try installing usbser.sys driver and communicate with the device using standard serial API (CreateFile/ReadFile/WriteFile etc.). You may need to modify Usbser.inf or prepare a new INF to include your device.

    • Edited by Ian Bakshan Wednesday, February 5, 2014 3:09 PM
    Wednesday, February 5, 2014 3:07 PM
  • SendInput isn't a perf bottle neck. You should measure before junking it. In win8 you can also inject touch input from user mode. If you feel you need a driver, a umdf based hid miniport is the way to go

    d -- This posting is provided "AS IS" with no warranties, and confers no rights.

    Wednesday, February 5, 2014 3:59 PM
  • SendInput not being a bottle neck is a good thing to know, thanks.

    Still there are performance issues with the current code. Could it come from the polling of the Serial? Currently the code is doing ReadFile calls in a loop (synchronously). Should I try asynchronous reading before diving up into the driver path?

    In the end I might need real Touch support (not a mouse emulated one) so I thing I'll end up doing a driver... (But the polling question is nevertheless interesting)

    Thanks again for the answer !

    Thursday, February 6, 2014 7:41 AM