Member Avatar for vEjEsE

I'm wondering how impossible it can be to connect a touch panel (with USB controller) to a PC for it to send X,Y coordinates when an event happens (the panel is touched).

After searching the web for an entire day I couldn't find more then pieces of information that don't tell the whole story.
Most of what I understood so for is that I can buy some touch panel development kit (ebay), create some basic C code that acts like a driver and then use those C functions to handle input on the device in other applications.

Question is, is the touch panel + USB controller + C code enough in order to use the input on the touch panel in other application that I'll build myself (in C++ or other languages)? And what exactly would be the C code?
(I don't want to use the touch panel as a mouse, but independent. It only should provide coords when a touch event happend thru a function call - which would probably be part of the C code mentioned earlier)

An answer like "Buy this [touch panel] and [microcontroller], write this C code [code], compile it with g++, run the build and use the [getCoord()] function whenever the [touchHappened()] function returns true" would be too nice to be true?

A multi touch panel would be better (if not too expensive).
Also, all this on Linux.

Thank you.

Recommended Answers

All 3 Replies

If the device has Linux driver support, this should not be difficult, and most Linux GUI's should support it. If not, then you have some serious coding (interrupt handlers and such) to do. I wrote some of the first code to teach developers how to interface to touch pads in the 1980's. Those weren't even interrupt-driven - used analog game controller interfaces. I also wrote the curve-smoothing algorithms and code that still is in use widely on touch pads / screens, etc. Honestly, I wouldn't bother - I'd give the job to my grandson who does this stuff in his sleep! :-)

FWIW, I also wrote a driver for Unix/Linux back when (in the early 90's) that would let the pad look to the system like a mouse for the X-11 system.

Member Avatar for vEjEsE

Any examples of a device (touch panel + usb controller) that has driver support and with which I could implement something on the lines of

#include <PANEL_HEADER_FILE> // this would hold the C functions of the panel microcontroller.
#include <iostream>

int main() {

     while ( true ) {

          if ( panel_touch_happened() ) {
               std::cout << "Touch happened at " << panel_get_x() << " - " << panel_get_y() << std::endl;



in any C++ application? seems to provide all sorts of panels and drivers, but their documentation says nothing about functions to use in development.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.