We are working on one project, the essence of which, in the context of this issue is not important, but it is important that this project involves working with a touch panel. And it is precisely on the issue of interaction with her that we are at a dead end.

The task setting is approximately the following: interception of a specific mouse (in our case, the touch panel, which is defined as a mouse) in the OS for non-linear change of the coordinates transmitted to the OS, i.e. implementation of the distorted image calibration function. In this case, it is important that other devices, in particular, a mouse, should work as usual.

We tried to dig in the direction of 33 interrupts - everything that was found was somewhat outdated and more suitable for changing the transmitted coordinates, but not for identifying the device we need (touch panel), and only for DOS. At least, as far as we were able to understand it, perhaps this is also an erroneous opinion, correct, if so.

It is advisable to do without quite low-level programming, but if it is not avoided (which we assume), then the way through this jungle will do.

I would very much like to get at least some bread crumbs - which way to dig, since at the moment there are absolutely no thoughts left. We will be very grateful :)

UPD1: The project is sharpened under the Window family (starting from 7) and the Unix system, in the long run - Android. But so far, there is development under Windows, and they have wandered into a dead end there. But for help with the motion vector on them (Unix and Android), we will also be grateful, because, I suspect, there some problems will be similar.

UPD2: The need is to change the coordinates, when working with our program, but if they are within the entire system - this is not critical.

    1 answer 1

    1) Put a hook on the mouse or GETMESSAGE and replace the data in the interception function. I'm not sure that the data can be changed, because Used only for logging. You may have to call the mouse_event with the new coordinates.

    2) Use interceptor library