News:

Rule #1 - Be Patient - Rule #2 - Don't ask when, if you don't contribute - Rule #3 - You have coding skills - LinuxMCE's small brother is available: http://www.agocontrol.com

Main Menu

How to properly make udev rule for touch screen device controller ?

Started by bulek, January 31, 2008, 12:44:31 AM

Previous topic - Next topic

bulek

Hi,

under Pluto it was enough to put this rule into /etc/udev/rules.d :

QuoteBUS=="usb", KERNEL=="event[0-3]*", SYSFS{product}=="GeneralTouch USB Touchscreen", SYMLINK=="input/gtouch"

and my touchscreen device always appeared at /dev/input/gtouch. Under LMCE same thing doesn't work. As I see (I don't know Linux so well), rules are now defined in 3 parts : first in 20-names.rules, then in 40-permissions.rules and at last on the spot I was adding my rule before : 60-symlinks.rules .

Currently I'm, getting this in dmesg :

Quotedmesg | grep input
[   20.699985] input: Macintosh mouse button emulation as /class/input/input0
[   20.752388] input: AT Translated Set 2 keyboard as /class/input/input1
[   33.113212] input: PC Speaker as /class/input/input2
[   34.662851] input: ImPS/2 Logitech Wheel Mouse as /class/input/input3
[   35.248511] input: General Touch Co. Ltd.  GeneralTouch USB Touchscreen as /class/input/input4
[   35.248588] input,hiddev96: USB HID v1.10 Mouse [General Touch Co. Ltd.  GeneralTouch USB Touchscreen] on usb-0000:00:1d.7-3.4
[   35.248604] drivers/usb/input/hid-core.c: v2.6:USB HID core driver
[   53.983763] input: Power Button (FF) as /class/input/input5
[   54.028533] input: Power Button (CM) as /class/input/input6

Does anyone know how to define proper rules, so touchscreen device will be under it's own device hook ?

Thanks in advance,

regards,

Bulek.

Thanks in advance,

regards,

Bulek.

dopey

I haven't used a device like this before, so I could be mistaken, but it looks like the new kernel version renamed the device node. It seems before it was called event*, whereas now it's called input*. Also, it's input4 which is outside of your range of [0-3].

Try this:
BUS=="usb", KERNEL=="input[0-6]*", SYSFS{product}=="GeneralTouch USB Touchscreen", SYMLINK=="input/gtouch"

dopey

After thinking about it more, what you really need to do is look at the Handlers property listed for the device in /proc/bus/input/devices and change KERNEL=="event[0-3]*" to match it.

blackoper

I've got my Elo screen working in normal Kubuntu 7.10 using this guide
http://ubuntuforums.org/showthread.php?t=579155
So far I havn't gotten it working in linuxmce beta 3 but I'll be trying here in a few days

1audio

I just implemented an ELO serial interface in 710. I just edited the xorg.conf. The elographics driver is included in the system. I can provide the details. They will need adjustment for your display.

blackoper

this would be helpful to me as I have a second 12" touchscreen that uses the elo serial driver

1audio

Sorry about the slow reply, I missed your response earlier.

The elographics driver is installed on the system by default. here is how I configured it to worjk with a 12" Elo touchscreen (Usually under $100 on eBay)


1) Set screen to 800X600 (or otherwise match touchscreen)

2) add the following to the xorg.conf file:

Section "Module"
Load "elographics"

Section "InputDevice"
        Identifier "Touchscreen1"
        Driver     "elographics"
        Option     "Device"     "/dev/ttyS0"
        Option     "AlwaysCore"
        Option     "screenno"    "0"
        Option      "MinX" "400"
        Option      "MaxX" "3700"
        Option      "MinY" "500"
        Option      "MaxY" "3500"
        Option     "UntouchDelay" "3"
        Option     "ReportDelay" "1"
EndSection

Section "ServerLayout"
        Inputdevice     "touchscreen1"  "SendCoreEvents"

The Elographics driver should be installed. The device setting may need to be changed. Change
        Option     "Device"     "/dev/ttyS0"

To:
        Option     "Device"     "/dev/ttyUSB0"

Assuming that is how the usb-serial port maps.


I hope this helps someone.

blackoper

thanks for the response that will save me some time when I set up the little 12" screen.