Journal Nouveau pilote xorg pour les écrans tactiles USB/HID

Posté par  (site web personnel) .
Étiquettes : aucune
25
30
oct.
2008
Bonsoir,

J'ai récemment acheté chez Surcouf un pc portable assemblé basé sur une coque tn120r, disposant d'un écran tactile. L'écran n'était pas exploité par Linux comme un périphérique d'entrée ou évènement et je n'ai donc pas trouvé le paramétrage adéquat, en supposant qu'il existe, malgré des jours d'essais et de recherches sur le net.

Par contre, j'ai trouvé de quoi examiner les données envoyées par le périphérique, le tutorial xorg pour écrire un pilote de périphérique d'entrée, et je me suis donc lancé dans l'écriture d'un pilote.
Le pilote est relativement configurable et donc ne devrait pas se limiter à mon modèle d'écran (ET&T TC4UM)

Pour télécharger, c'est ici:
http://www.sporniket-studio.com/page/200810300038

J'ai fait une doc rapide en anglais (dans l'archive).

Pour le moment le curseur se positionne correctement mais les clics ne se font pas, malgré les évènements boutons envoyés par le pilote.
  • # Bonne nouvelle

    Posté par  . Évalué à 4.

    J'espère que ça va vite se déployer, j'imagine déjà l'utilisation que l'on peut faire d'un écran tactile avec compiz (faire tourner le cube avec mes doigts) !!!
    • [^] # Re: Bonne nouvelle

      Posté par  . Évalué à 2.

      Ca ne se fait pas déjà ça ?

      Il me semble avoir vu des vidéos assez amusantes où quelqu'un faisait changer de bureau gnome en faisant tourner le cube compiz...

      Pour impressionner les non linuxiens c'est pas mal :)
  • # L'écran ne se salit pas trop ?

    Posté par  (site web personnel) . Évalué à 1.

    Les écrans tactiles, c'est bien, mais moi j'aime bien avoir un écran propre. Si on commence à le toucher avec les doigts, ça commence à faire des traces et c'est de plus en plus pénible.

    Comment cela se passe pour toi ? Ont-ils trouvé un moyen de résoudre ce problème ?
  • # evtouch

    Posté par  . Évalué à 4.

    Je possède aussi ce type d'ordinateur ( Jet TR chez Keynux ). l'écran tactile fonctionne bien avec le driver evtouch ( http://www.conan.de/touchscreen/evtouch.html )
    • [^] # Re: evtouch

      Posté par  (site web personnel) . Évalué à 1.

      j'aurai bien voulu utiliser evtouch, mais mon linux ne cree pas de peripherique de type event, seulement un peripherique hid qui fait planter evtouch
  • # pour info

    Posté par  (site web personnel) . Évalué à 2.

    j'ai trouvé la solution au probleme du clic, je posterai une nouvelle version ce week-end.

    c'est le numero de bouton qui était erroné dans l'appel a xf86PostButtonEvent (3e param, de mémoire): le bouton gauche a pour code 1 et non 0.
  • # Selon mes infos

    Posté par  . Évalué à 2.

    La dalle est une IDEACO IDC 6680. Le pilote est le evtouch. non?

    Et avec ces infos internet donne ceci:
    http://lists.freedesktop.org/archives/hal/2008-August/012152(...)
    • [^] # Re: Selon mes infos

      Posté par  (site web personnel) . Évalué à 1.

      Hé ben pas la mienne, ma dalle tactile est une TC4UM de chez ET&T. C'est un périphérique USB de classe HID, d'usage "Digitizer".

      Mon installation ne créé pas de périphérique input ou event, mais un banal hiddev, et evtouch ne peut rien en faire... ("cannot grab device: bad ioctl machin chose")

      Pour info, ci dessous quelques logs pour montrer ce que j'avais

      M'enfin, maintenant, j'ai un pilote qui forctionne ^_______^


      === infos dmesg ===
      [ 31.423618] usbcore: registered new interface driver hiddev
      [ 31.428088] hiddev96hidraw0: USB HID v1.00 Device [ET&T Technology TC4UM] on usb-0000:00:1d.2-1
      [ 31.428101] usbcore: registered new interface driver usbhid
      [ 31.428104] /build/buildd/linux-2.6.24/drivers/hid/usbhid/hid-core.c: v2.6:USB HID core driver


      === ma règle udev ===
      ATTR{idVendor}=="0664", ATTR{idProduct}=="0306", SYMLINK+="input/touchscreen"

      === contenu de /var/log/Xorg.0.log ===
      ...
      (**) EVTouch TouchScreen: always reports core events
      ...
      (II) evaluating device (EVTouch TouchScreen)
      (II) XINPUT: Adding extended input device "EVTouch TouchScreen" (type: TOUCHSCREEN)
      ...
      (**) Option "Device" "/dev/input/touchscreen"
      (EE) EVTouch TouchScreen: Unable to grab device (Inappropriate ioctl for device).
      • [^] # Re: Selon mes infos

        Posté par  . Évalué à 2.

        C'est étrange que tous les modèles basés sur ce clevo n'aient pas la même dalle tactille. Est-ce que modifier le hid du kernel pour qu'il prenne en compte ce modèle ne serait pas plus simple?
        • [^] # Re: Selon mes infos

          Posté par  (site web personnel) . Évalué à 1.

          Je ne sais pas, mais étant donné que je pouvais m'en sortir avec un petit pilote de périphérique pour xorg, j'ai préféré utiliser ce moyen, plutot que de toucher à un fichier source du noyau.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.