Touch screen calibration

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo!

    Ich bin seit kurzem Besitzer eines HDMI Touch Displays mit kapazitivem Touchsensor.
    Der Touchsensor wird via USB angeschlossen und meldet sich als HID Device.

    Das Teil funktioniert problemlos am PC mit Ubuntu oder Mint.
    Auch am Raspberry mit Raspian funktioniert der Touchsensor korrekt.

    Unter Rasbmc funktioniert der Touchscreen prinzipiell auch (mit der Standardkonfig und dem Standardkernel), jedoch gibt es je nach Touch-Position einen grossen Unterschied zwischen der Position an der ich den Touchsensor berühre und der Position an der der "Mauszeiger" erscheint:

    In der linken obere Ecke stimmt das noch einigermassen aber gehe ich ca. 1/3 des Schirms nach unten, erscheint der Mauszeiger schon ganz am unteren Bildschirmrand. Das gleiche in X-Richtung, gehe ich ca. 1/3 des Schirms nach rechts, erscheint der Mauszeiger ganz am rechten Rand des Bildschirms.
    Da liegt also ein Faktor 3 oder so zwischen der Touchsensorposition und der Bildschirmposition.

    Gibt es eine Touch-Screen Kalibrierung bei Raspbmc? Oder eine Datei in der die Touchscreen bzw. Kalibrierungsdaten abgelegt sind?
    Arbeitet Raspbmc mit X11? Die X11-typische Kalibrierungsdatei habe ich nicht gefunden.
    Xinput-calibrator habe ich installiert und ausgeführt, hat aber nicht geholfen :(

    Bin dankbar für alle Hinweise und Tips

    Danke und viele Grüsse
    Randolph

  • Hallo zusammen,

    Das Problem ist gelöst :).
    Mein Touchscreen funktioniert inzwischen so wie er soll.

    Wie ?
    Bin auf folgendes Tutorial gestossen und habe damit die Kalibrierung erfolgreich durchführen können:

    http://markamc.cybaman.net/?p=168

    Das Tutorial bezieht sich auf einen Touchscreen mit eGalax Controller, scheint aber auch für andere Controller zu funktionieren (mein Touch Screen hat keinen eGalax Controller).

    viele Grüsse
    Pirmin

  • Es ist dieses Touch Monitor kit:
    http://www.ebay.de/itm/10-1-inch-…=item338c0f500c

    10.1 Zoll IPS display
    1280x800 pixel
    16M Farben (6 bit + FRC)
    Projected Capacitive Touch sensor
    Komplett ebenes Coverglass mit schwarzem Rand (wie bei den Tablets)
    Coverglass hat hinten ringsum Klebeband zum Einkleben in eine Front o.ä.
    Anschluss Touchsensor via USB

    Der Touchcontroller identifiziert sich als HID device:
    USBest_Technology_SiS_HID_Touch_Controller

    Bild ist gut, Blickwinkel/Helligkeit/Kontrast/Farben auch.
    HDMI, DVI und VGA Eingang.
    Verarbeitet Signale bis 1080p (1920x1080).

    Grüsse
    Randolph

  • Was hat denn nicht funktioniert?


    und überprüfe doch einfach mal mit:

    lsusb


    und dann

    sudo lsusb -vs BUS:DeviceID

    (wobei du natürlich die BUS nummer und device id von deinem touch einsetzen musst)


    dann solltest du die infos vom touchscreen bekommen

    wobei der touch genau so heißen müsste

    ATTRS{name}==\"*eGalax Inc. USB TouchController*\"


    Ansonsten mach mal:

    sudo apt-get install evtest

    und dann

    evtest

    und schaub ob da der touchscreen aufgeführt wird bzw auch uimapper - touchscreen

    Einmal editiert, zuletzt von Schlupp (21. August 2014 um 10:40)

  • Hallo Schlupp, danke für die Infos!

    Also es passiert nichts heißt, dass alles durchläuft, der Pi neu startet aber der Touch immer noch nicht ordentlich läuft.

    Mit sudo lsusb -vs BUS:DeviceID komme ich irgendwie nicht klar. Entweder ich bin zu doof oder es geht nicht. Mein Bus ist 001 und die DeviceID sowas wie 0eef:0001
    Wie genau muss ich das dann eingeben?

    Über Evtest bekomme ich allerdings alles angezeigt. eGalxy Inc. Touch sogar zwei Mal. Auf event0 und auf event1.

    Ich bin eher blutiger Anfänger in Linuxfragen. Vielleicht hat da noch jemand einen Tipp für mich ;)

  • Ja hab leider auch nicht allzuviel Ahnung hab erst vor ner Woche mit dem spaß angefangen und hat doch 2-3 tage gedauert biss ich meinen zum laufen bekommen habe... aber das wird schon noch...

    Hab dir auch cleverer weise den falschen befehl genannt ;)

    Also ich erkläre mal wie das ablaufen sollte wenn alles funktioniert...

    1. über die udev rule wird der touchscreen immer als touchscreen gemountet
    2. danach wird mir tslib die calibrierung durchgeführt und als config gespeichert
    3. uimapper simuliert nen input device und benutzt die calibrierungsdatei

    Jetz ist die frage bei dir was da nun los ist ;)

    also ich hab nur einen event für meinen touchscreen aber hab in nem forum das gefunden:

    "I have the same thing with raspbmc, ther are 2 events, one for BTN_ events and the other for touchscreen position and BTN_TOUCH, this is the one you need. If you install evtest, you can see the event that gives the position feedback."


    stop xmbc
    evtest

    und probier mal bei welcher eventnummer evtest was anzeigt.

    und für das event welches was anzeigt mache mal den befehl

    udevadm info --name=/dev/input/eventX --attribute-walk | grep name

    (wobei das X natürlich die eventnummer ist)

    wie heißt denn das teil? :)


    Hast du den Touchscreen calibriert, also hattest du die aufforderung die 5 punkte aufm
    touchscreen zu machen? -> wenn nicht welche fehlermeldung gabs da?

    wenn du den touchscreen calibriert hast geht es nur noch darum ob uimapper läuft oder nicht
    und ob er das richtige input device benutzt (was wiederrum mit der udev rule und deinem touchscreen zusammenhängt)

    Einmal editiert, zuletzt von Schlupp (21. August 2014 um 13:51)

  • Also eine Eingabe wird registriert beim Event 1. Das Ganze heißt "eGalax Inc. Touch".
    Zur Kalibirerung mit den Punkten auf dem Bildschirm bin ich irgendwie nie gekommen.... Eine Fehlermeldung habe ich dazu auch nicht.

    Ich blicke gerade gar nicht mehr durch, ich habe schon so viel versucht aber nichts hat irgendetwas gebracht. Eigentlich kann das doch nicht so schwer sein.... =(

  • Keine sorge bekommen wir hin....


    mach

    sudo rm /etc/udev/rules.d/95egalax.rules
    sudo rm /home/pi/raspbmc-touch.sh


    und dann lass nochmal alles laufen


    hab das skript umgeschrieben

    Einmal editiert, zuletzt von Schlupp (21. August 2014 um 23:28)

  • Bei mir hat´s auch nicht geklappt.

    Nach der Anleitung von markmc läuft alles wunderbar mit Frodo.
    Allerdings brauche ich Gotham, weil sich der Raspberry beim Vorspulen von Audio/Video aufhängt.
    Mit Gotham komme ich nach der Anleituung von markamc bis zur Kalibrierung. Dort wird dann aber keine Eingabe erkannt, obwohl die richtige Event Nummer eingetragen ist.
    Das Skript von Schlump funktioniert auch nicht so richtig. Nach "sudo sh raspbmc-touch.sh" stoppt zwar XBMC aber startet danach gleich wieder neu. D.h. eine Kalibrierung ist nicht möglich.

  • Ich habe alles noch mal durchlaufen lassen mit dem neuen Script. Alles läuft wohl auch ordentlich durch. Das Script startet, dann startet der Pi neu, dabei passiert auch allerhand.
    Die letzten Zeilen aus Putty lauten

    Installing uimapper...
    Generating config file
    Moving config...
    Cleaning up...
    start: Job is already running: uimapper
    xbmc start/running, process 3348
    Installation done!
    pi@raspbmc:~$


    Das sieht doch eigentlich ganz gut aus. Ein Kalibrierungsfeld mit Punkten oder sowas kommt nicht. Der Pi startet neu und alles ist wie vorher :(

    Ich habe übrigens alle alten Dateien gelöscht und das Script neu heruntergeladen!
    sudo rm /etc/udev/rules.d/95egalax.rules
    sudo rm /home/pi/raspbmc-touch.sh
    sind natürlich entsprechend ausgeführt vorher....

  • JA scheiße liegt an der udev rule da du nen anderen touchscreen hast als ich kann der deinen irgendwie nicht mittels der parametet catchen und mounten

    sudo nano /etc/udev/rules.d/95egalax.rules

    "KERNEL==\"event*\", SUBSYSTEM==\"input\", ATTRS{idVendor}==\"0eef\", ATTRS{configuration}==\"USB TouchScreen\", SYMLINK+=\"input/touchscreen\""


    da muss bei idVendor und ATTRS config genau die sachen drinnen stehen die dem touchscreen entsprechen


    wenn wir das nicht hinbekommen schreib ich das script am sonntag nochmal so dass man den input definieren muss... dann sollte es auf jedenfall klappen.. allerdings mit dem nachteil man an den usb ports was ab/um steckt es sein kann dass der touch nichtmehr funktioniert weil das event sich geändert hat

    Einmal editiert, zuletzt von Schlupp (22. August 2014 um 18:44)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!