Handling touch screen with udev

Hello.

I am working on an embedded system with a USB touch screen (penmount

6000 controller). During service a mouse might be connected to the USB port too. Though the touch screen is supposed to be always up I am trying to make the system more robust so that in case the TS goes offline for any reason and comes back online the touch screen stays in a fail safe mode.

The Xorg driver opens the event? device under /dev/input (actually it opens a symbolic link to the event source). The problem is this driver does not support resuming operation for the go offline/back online scenario. However, when the TS is reconnected the mice input device receives events from the TS as well but as it is not calibrated, the mouse pointer is out of phase. I played with some udev rules and the only way I could make to have the system working was adding entries to xorg.conf with references to /dev/input/mouse* instead of /dev/input/ mice and suppressing the addition of a mouse entry when the TS is (re) connected using the rules bellow (60-penmount.rules file):

SUBSYSTEMS=="usb", KERNEL=="event*", ATTRS{product}=="PenMount USB",\ SYMLINK+="input/touchscreen" SUBSYSTEMS=="usb", KERNEL=="mouse*", ATTRS{product}=="PenMount USB",\ OPTIONS+="ignore_device"

Unfortunately this solution requires the mouse (for service) to be connected before X starts and it does not come back on line if disconnected as it happens when the mice input device is configured as mouse events source.

So my questions are:

1- Is there a way to make the touch screen not to be linked to the mice device e.g. by means of an udev rule? I searched the Internet for hints but could not find anything.

2- Is there some driver that implements that self recovery that I could use as a template to rewrite the penmount driver do do the same?

FWIW the embedded system is based on a stripped down version of Ubuntu

7.04 (aka Feisty.)

Thank you very much in advance for any help

Elder.

Reply to
ih8sp4m
Loading thread data ...

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.