LG1730SF touch screen en Linux OpenSuse

La verdad que fue un dolor de huevos hacer que funcionara el touchscreen en openSuse, pero como siempre investigando un poco salió, sin problemas.

Lo primero es tener el Xorg configurado para funcionar. Detenemos X (init 3).

Utilizando Yast2 instalamos el siguiente paquete que posee el driver del touchscreen:

x11-input-evtouch

Instalado el driver descargamos el driver de la pagina del autor, esto lo hacemos por 2 problemas, primero el driver del paquete es viejo, segundo no funciona :) (a mi sin la instalación del paquete no me funciono el driver).

Descargamos el driver correcto de la pagina del autor:

http://www.conan.de/touchscreen/evtouch.html

http://www.conan.de/touchscreen/evtouch-0.8.8.tar.gz

Descomprimimos el archivo:

#>tar zxvf evtouch-0.8.8.tar.gz

Copiamos el driver a la carpeta donde debe estar:

#>cp evtouch_drv.so /usr/lib/xorg/modules/input/

Ahora configuramos X con su editor favorito:

Eliminamos las líneas que correspondes al mouse y agregamos las siguientes:

Section “InputDevice”
Identifier “touchscreen”
Driver “evtouch”
Option “CorePointer”
Option “Device” “/dev/input/evtouch_event”
Option “DeviceName” “touchscreen”
Option “MinX” “295″
Option “MinY” “200″
Option “MaxX” “3815″
Option “MaxY” “3948″
Option “ReportingMode” “Raw”
Option “Emulate3Buttons”
Option “Emulate3Timeout” “50″
Option “SendCoreEvents” “On”
Option “Rotate” “cw”
Option “SwapY” “1″
EndSection

Creamos una nueva sección donde se utilizara un puntero que se utilizara al mismo tiempo con el touchscreen:

Section “InputDevice”
Identifier “dummy”
Driver “void”
Option “Device” “/dev/input/mice”
EndSection

Agregamos las siguientes lineas en sección “ServerLayout”:

InputDevice “touchscreen” “CorePointer”
InputDevice “dummy”

Con esto configuramos el touchscreen en Xorg para que funcione, pero aun hay que crear el dispositivo. Para esto creamos una regla nueva en el udev.

Ingresamos al “/etc/udev/rules.d

Creamos el archivo “69-touchscreen.rules”, si ya existe borren el contenido que lo que trae es una puta mierda!

Vemos donde esta el dispositivo:

#>cat /proc/bus/input/devices

I: Bus=0003 Vendor=0403 Product=f9e9 Version=0100
N: Name=”ITM Inc USB Touch Panel”
P: Phys=usb-0000:00:1d.0-2/input0
S: Sysfs=/devices/pci0000:00/0000:00:1d.0/usb1/1-2/1-2:1.0/input/input0
U: Uniq=
H: Handlers=mouse0 event0
B: EV=b
B: KEY=400 0 0 0 0 0 0 0 0 0 0
B: ABS=1000003

Buscamos en la información el que figura con el nombre de:

N: Name=”ITM Inc USB Touch Panel”

En el grupo veremos los handlers del dispositivo:

H: Handlers=mouse0 event0

Usando la opción info del “udevadm”, vemos la información del dispositivo:

udevadm info -a -p $(udevadm info -q path -n /dev/input/event0)
(donde dice “/dev/input/event0” es el handler del dispositivo)

Este comando nos data mucha información, pero buscamos lo que nos interesa:

looking at parent device ‘/devices/pci0000:00/0000:00:1d.0/usb1/1-2/1-2:1.0/input/input0′:
KERNELS==”input0″
SUBSYSTEMS==”input”
DRIVERS==”"
ATTRS{name}==”ITM Inc USB Touch Panel”
ATTRS{phys}==”usb-0000:00:1d.0-2/input0″
ATTRS{uniq}==”"
ATTRS{modalias}==”input:b0003v0403pF9E9e0100-e0,1,3,k14A,ra0,1,18,mlsfw”

Copiamos las líneas:

ATTRS{name}==”ITM Inc USB Touch Panel”
ATTRS{modalias}==”input:b0003v0403pF9E9e0100-e0,1,3,k14A,ra0,1,18,mlsfw”

Editamos la regla de udev “69-touchscreen.rules” y agregamos lo siguiente:

KERNEL==”event*”, SUBSYSTEM==”input”, ATTRS{name}==”ITM Inc USB Touch Panel”, ATTRS{modalias}==”input:b0003v0403pF9E9e0100-e0,1,3,k14A,ra0,1,18,mlsfw”, SYMLINK+=”input/evtouch_event”

Ahora desenchufamos el USB del touchscreen y lo volvemos enchufar

Esto creara el “/dev/input/evtouch_event”.

Iniciamos X (init 5) y listo, el touchscreen funciona!

Si no funciona revisa bien los pasos, si no consúltame :P happy touch!

  • francisco hernandez

    hola, siguiendo tus pasos llego a cat /proc/bus/input/devices y no encuentro nada que diga algo de pantalla tactil o touch. me sale es esto:

    blueshare@bs7-001:/etc/udev$ cat /proc/bus/input/devices
    I: Bus=0019 Vendor=0000 Product=0001 Version=0000
    N: Name=”Power Button”
    P: Phys=PNP0C0C/button/input0
    S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input0
    U: Uniq=
    H: Handlers=kbd event0
    B: EV=3
    B: KEY=100000 0 0 0

    I: Bus=0019 Vendor=0000 Product=0001 Version=0000
    N: Name=”Power Button”
    P: Phys=LNXPWRBN/button/input0
    S: Sysfs=/devices/LNXSYSTM:00/LNXPWRBN:00/input/input1
    U: Uniq=
    H: Handlers=kbd event1
    B: EV=3
    B: KEY=100000 0 0 0

    I: Bus=0017 Vendor=0001 Product=0001 Version=0100
    N: Name=”Macintosh mouse button emulation”
    P: Phys=
    S: Sysfs=/devices/virtual/input/input2
    U: Uniq=
    H: Handlers=mouse0 event2
    B: EV=7
    B: KEY=70000 0 0 0 0 0 0 0 0
    B: REL=3

    I: Bus=0011 Vendor=0001 Product=0001 Version=ab41
    N: Name=”AT Translated Set 2 keyboard”
    P: Phys=isa0060/serio0/input0
    S: Sysfs=/devices/platform/i8042/serio0/input/input3
    U: Uniq=
    H: Handlers=kbd event3
    B: EV=120013
    B: KEY=4 2000000 3803078 f800d001 feffffdf ffefffff ffffffff fffffffe
    B: MSC=10
    B: LED=7

    I: Bus=0003 Vendor=0461 Product=4d80 Version=0111
    N: Name=”USB Optical Mouse”
    P: Phys=usb-0000:00:13.0-1/input0
    S: Sysfs=/devices/pci0000:00/0000:00:13.0/usb2/2-1/2-1:1.0/input/input4
    U: Uniq=
    H: Handlers=mouse1 event4
    B: EV=17
    B: KEY=70000 0 0 0 0 0 0 0 0
    B: REL=143
    B: MSC=10

    I: Bus=0003 Vendor=0ac8 Product=c412 Version=2003
    N: Name=”Lenovo USB2.0 UVC Camera”
    P: Phys=usb-0000:00:13.5-8/button
    S: Sysfs=/devices/pci0000:00/0000:00:13.5/usb1/1-8/1-8:1.0/input/input5
    U: Uniq=
    H: Handlers=kbd event5
    B: EV=3
    B: KEY=100000 0 0 0 0 0 0

    I: Bus=0019 Vendor=0000 Product=0006 Version=0000
    N: Name=”Video Bus”
    P: Phys=LNXVIDEO/video/input0
    S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/LNXVIDEO:00/input/input6
    U: Uniq=
    H: Handlers=kbd event6
    B: EV=3
    B: KEY=3f000b 0 0 0 0 0 0 0

    I: Bus=0001 Vendor=10ec Product=0262 Version=0001
    N: Name=”HDA Digital PCBeep”
    P: Phys=card0/codec#3/beep0
    S: Sysfs=/devices/pci0000:00/0000:00:14.2/input/input7
    U: Uniq=
    H: Handlers=kbd event7
    B: EV=40001
    B: SND=6

    no se cual escoger o es que acaso no la reconoce.
    uso un all in one lenovo c315 y en windows funciona perfectamente.

    agradesco cualquier tipo de ayuda

    buen dia

  • http://matablogs.com GoX_OnLine

    Hola, gracias por escribir, te comento que la guía que hice es solo para las pantallas LG, lamento no poder ayudarte! Igualmente podes recurrir a google en busca de información, no encontré nada, pero solo fue una mirada rápida.
    Por lo visto, el touchscreen lo detecta como “Bus=0003 Vendor=0461 Product=4d80 Version=011″. La mayoria de los linux siempre los detecta como un “mouse”.

    Mucha suerte, lamentablemente no tengo ese equipo para probarlo :(