Can qnx use on touchscreen?

could you give me one example? … chscreen=1

My own experience is that nothing on the “supported hardware” list is available to purchase. They’re all ancient. Notice that only microtouch is supported on USB. And guess what? There’s 87* flavors of Microtouch, and you have no idea which one you’re going to get when you buy the monitor. Not that it matters much, because – whichever flavor you get – it won’t be the one QNX supports.

-James Ingraham
Sage Automation, Inc.

  • Note: I made up the “87” number. The point is that you won’t get one that works. If anyone from QNX is watching, PLEASE feel free to correct me. As far as I know, there has not been a touchscreen available on the market (e.g. order a random elo or 3M microtouch from Newegg or CDW) that has EVER worked with QNX 6.

Wow, that’s strange. I have yet to find a touchscreen that doesn’t work with QNX. Both the elo or microtouch should work fine.

A patch with support for all the latest drivers is here: … amid=17311

Also, are you aware that writing a touch screen driver typically takes about 15 minutes? and that a driver development kit (with example source) is available here:

Well, I’m certainly glad someone has had better luck than I have. Could you please give me a specific example, including a model number? Elo is my preference, but I’d go for just about anything at this point. Also, are we talking serial or USB here? I’d MUCH prefer USB.

I agree they SHOULD. And yet I have not been able to make one work. It has been very frustrating. I was at a client site recently and looked like a complete idiot trying to explain why our system was the only one in their whole plant that DIDN’T have a touch screen.

I will double check that we have these.

No, I was not aware that writing a touch driver was that easy. In fact, I was under the impression that I would be completely unable to write a touchscreen driver if I had a billion dollars and a 100 man team, because neither elo nor 3M was willing to discuss their protocols with me. I also don’t have the USB DDK, so I can’t do anything at all that requires direct USB access. (That problem could be fixed with money, of course.)

I was vaguely aware of the Input Driver DDK, but it did not occur to me that it would be useful. Again, primarily because the hardware guys won’t give me any information about their protocols. I’ll check this out and see if it helps.

Thanks for the info, rgallen; it gives me hope.

-James Ingraham
Sage Automation, Inc.

The driver supports many models. Most touchscreens use the same protocol, so the driver defines what protocols it supports rather than the particular model.

USB primarily…

Perhaps you could explain what the particular problem is. It is certainly possible that there is a bug in a driver…

Of course they wouldn’t, we all know how sophisticated touch protocols are, wouldn’t want that to fall into the wrong hands (just imagine the havoc that al-qaeda could wreak if they understood the microtouch protocol :slight_smile:

Fortunately, I am willing to wager that if (for some reason) our OTS drivers don’t support the particular model you are interested in, that Linux does, and if Linux does, then there is source that will document the protocol.

The USB DDK is free-of-charge (with a valid development seat license).

If the hardware vendor has delusions of grandeur, then you can call in an Eben Moglen “strike” :slight_smile:

My pleasure. I apologize for whatever difficulty you had finding out about our touchscreen support…

This is where my problems have always been in the past. No one has ever given me a specific model number, known to work, which is available to purchase. The “anything in the family should work” concept has not panned out for me.


Honestly, I don’t remember specifics any more. It’s been over a year since we tried anything. We did talk to technical support at the time, and they were unable to come up with a solution. Or the afore-mentioned Holy Grail of a model number.

Couldn’t have said it better myself. But big hardware vendors seem to have no sense of humor. Heck, even small hardware vendors. I tried to get Advantech to give me protocol information on their USB digital I/O modules and they said no.

Not exactly the path I want to go down, but if your “15 minute” estimate is correct I’d be willing to give it a shot.

I’ll be darned; you are correct. Has this always been the case?

By a string of strange coincidences, we no longer have any touchscreens here to test, and I’m bowed under by a big (non-QNX related) project, so I don’t know how long it will be before I report back on this. But again, thank you for the help.

-James Ingraham
Sage Automation, Inc.


I have to use a touchscreen. I’ve downloaded and installed the patch rgallen linked, and now when I boot the system gets blocked at the login screen printing the message “Detecting input devices, please wait…” It doesn’t mind wether or not the touchscreen is connected.

What can I do to solve this?


David Marcos

Hmmm, what kind of touchscreen do you have? Does it have a controller board?


Actually at the moment I only have the controller board and the touch sensor. The controller is this one: … 701rsu.asp

When I first tried it (before installing the patches) touching the sensor was like pressing the clock button (bottom right corner).

Anyway I don’t think the problem has anything to do with the controller board, but with the patches. As I said before, if I disconnect the board from the PC and I try to start it, it still fails.


David Marcos

The problem most likely is the controller board. You probably have an interrupt conflict.

You probably won’t get an interrupt conflict on Windows because Windows supports ioapic, and the interrupts won’t be shared.

(assuming that the controller is a PCI card)

Do a “pci -v” and see if the controller boards interrupt is shared with any other devices.

Also, attach the output of “pci -v” and “pidin”, next time you post.


I’m afraid I will not be able to do so. The system gets blocked at the login screen with the message box “Detecting input devices, please wait…”. The keyboard doesn’t work, so I cannot enter a QNX console.

Anyway my PC is a PC-104, and as long as I know it doesn’t support PCI devices. The touchscreen controller board is connected to the PC by an USB cable.


David Marcos


When the machine is booting, press space bar and select a safe mode to boot. That’ll get you running.

btw: If it is USB then there isn’t a controller board…

Ok, I’ll try it on monday. I’ll copy the “pidin” result.

Thank you very much,

David Marcos


This is the result of the pidin:

 pid tid name               prio STATE       Blocked         
   1   1 procnto              0f READY                       
   1   2 procnto            255r RECEIVE     1               
   1   3 procnto            255r RECEIVE     1               
   1   4 procnto             10r RUNNING                     
   1   5 procnto             10r RECEIVE     1               
   1   6 procnto             10r RECEIVE     1               
   1   7 procnto             10r RECEIVE     1               
   1   8 procnto             10r RECEIVE     1               
   2   1 sbin/tinit          10o REPLY       1               
4099   1 proc/boot/pci-bios  10o RECEIVE     1               
4100   1 proc/boot/slogger   10o RECEIVE     1               
4101   1 proc/boot/io-usb    10o SIGWAITINFO                 
4101   2 proc/boot/io-usb    21r RECEIVE     4               
4101   3 proc/boot/io-usb    21r RECEIVE     7               
4101   4 proc/boot/io-usb    21r RECEIVE     1               
4101   5 proc/boot/io-usb    10o RECEIVE     10              
4101   6 proc/boot/io-usb    10r NANOSLEEP                   
4101   7 proc/boot/io-usb    10o RECEIVE     10              
4102   1 proc/boot/io-hid    10o SIGWAITINFO                 
4102   2 proc/boot/io-hid    10o RECEIVE     4               
4102   3 proc/boot/io-hid    10o RECEIVE     4               
4102   4 proc/boot/io-hid    10r REPLY       4101            
4102   5 proc/boot/io-hid     9r RECEIVE     12              
4103   1 /boot/devc-con-hid  10o RECEIVE     1               
4103   2 /boot/devc-con-hid  10o REPLY       4102            
8200   1 roc/boot/devb-eide  10o SIGWAITINFO                 
8200   2 roc/boot/devb-eide  21r RECEIVE     1               
8200   3 roc/boot/devb-eide  10o RECEIVE     7               
8200   4 roc/boot/devb-eide  10o RECEIVE     4               
8200   6 roc/boot/devb-eide  10o RECEIVE     4               
8200   7 roc/boot/devb-eide  10o RECEIVE     4               
8200   8 roc/boot/devb-eide  10o RECEIVE     4               
8200   9 roc/boot/devb-eide  10o RECEIVE     4               
8201   1 oc/boot/umass-enum  10o SIGWAITINFO                 
8201   2 oc/boot/umass-enum  10r REPLY       4101            

16394 1 sbin/pipe 10o SIGWAITINFO
16394 2 sbin/pipe 10o RECEIVE 1
16394 3 sbin/pipe 10o RECEIVE 1
16394 4 sbin/pipe 10o RECEIVE 1
20491 1 sbin/mqueue 10o RECEIVE 1
77838 1 sbin/devc-ser8250 10o RECEIVE 1
77841 1 sbin/devc-par 10o RECEIVE 1
77841 2 sbin/devc-par 9r CONDVAR 8053e00
77843 1 sbin/io-net 10o SIGWAITINFO
77843 2 sbin/io-net 20o RECEIVE 5
77843 3 sbin/io-net 10o RECEIVE 1
77843 4 sbin/io-net 10o RECEIVE 1
77843 5 sbin/io-net 10o RECEIVE 1
77843 6 sbin/io-net 21o RECEIVE 19
94229 1 usr/sbin/spooler 10o NANOSLEEP
110607 1 sbin/devc-pty 10o RECEIVE 1
114704 1 usr/sbin/random 10o SIGWAITINFO
114704 2 usr/sbin/random 10o RECEIVE 1
114704 3 usr/sbin/random 10o NANOSLEEP
126998 1 usr/sbin/dumper 10o RECEIVE 1
143383 1 bin/sh 10o SIGSUSPEND
143384 1 bin/login 10o REPLY 4103
143385 1 bin/login 10o REPLY 4103
143386 1 bin/login 10o REPLY 4103
204812 1 bin/pidin 10o REPLY 1


David Marcos

I forgot to say, this is with F3 safe mode (F1 and F2 had the same problem than in normal mode). I’ve entered photon (normal and safe mode), and it doesn’t recognize the mouse.

I have the used backup I made to restore the devi-hid files, and the system starts withot problems. But the touchscreen does the same as before: it opens the User’s configuration window (Time & Date tab). What can I do to use the touchscreen?


David Marcos

You did calibrate the touchscreen, right?

I tried to. I used calib, and pressed the targets. But when I am prompted to “Press to complete calibration” I press, but nothing happens, and the calib program gets restarted.

OK, since this is a usb device, could you provide a “usb -v” (with the touchscreen plugged in)?

You do have the touchscreen patch as well right? (link posted earlier).