Touchscreen lässt sich nicht MEHR kalibrieren

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Ich habe schon länger ein 7" (resistiv) Touch Display. Bisher habe ich das immer mit dem xinput-calibrator kalibriert, den ich mit dem Befehl wget http://adafruit-download.s3.amazonaws.com/xinput-calibrator_0.7.5-1_armhf.deb herunter geladen und mit sudo dpkg -i -B xinput-calibrator_0.7.5-1_armhf.deb installiert habe. Leider erkennt das Programm keinen Druck auf den Touchscreen mehr und bricht nach einer gewissen Zeit ab ;(

    Ich habe es darauf hin mit dem Programm evdev-calibration-armv7 probiert, das hier empfohlen wurde. Es bietet mir beim Start zwei Optionen an:

    [1] eGalax Inc. Touch (/dev/input/event0)

    [2] eGalax Inc. Touch Touchscreen (/dev/input/event1)

    Bei [1] passiert nichts. Im Terminal wird Max X: 1981, Max Y: 1981 ausgegeben. Bei [2] sehe ich wie der Mauszeiger flackert, wenn ich irgendwo am Touch drücke. Im Terminal wird außerdem Max X: 2047, Max Y: 2047 ausgegeben. Kalibrieren kann ich aber leider trotzdem nicht ;(

    Als drittes habe ich es analog wie hier mit dieser Anleitung probiert. Als touch_area_width bzw. height habe ich zur Berechnung 2047 verwendet (Ausgabe von [2] oben). Bei meiner Auflösung von 1080x600 ergeben sich hier folgende faktoren: c0=1.99902, c2=3.41167, c1=0, c2=0. Somit würde "mein" Befehl xinput set-prop "eGalax Inc. Touch" --type=float "Coordinate Transformation Matrix" 1.99902 0 0 0 3.41167 0 0 0 1 lauten. Leider ändert das gar nichts. Auch wenn ich probehalber einfach mal Touch und Screenauflösung gleich annehme (c0 und c1=1) passiert auch nichts ;(

    Ach ja, der Befehl xinput list liefert übrigens nur eGalax Inc. Touch id=6 [slave pointer (2)] - aber kein zweites Gerät (mit ...Touchscreen) ...

    Ich weiß leider nicht mehr weiter. Gibt es neuere Programme für das aktuelle Raspberry OS (32 Bit), die für resistive touch funktionieren?

    ...wenn Software nicht so hard-ware ;) ...

    Freue mich über jeden like :thumbup:

  • Zur hilfreichsten Antwort springen
  • Hardwaredefekt kann ich (mittlerweile) ausschließen: Mit meinem "alten" System "jessie" reagiert der Touch Screen noch... Dort lässt sich der Touch mit dem Programm noch ohne Probleme kalibrieren ..

    Edit: Es bringt leider auch nichts, wenn ich mit der Ausgabe der Kalibrierung die Datei /usr/share/X11/xorg.conf.d/99-calibration.conf mit folgendem Inhalt erstelle:

    Code
    Section "InputClass"
        Identifier    "calibration"
        MatchProduct    "eGalax Inc. Touch"
        Option    "Calibration"    "27 1975 137 1969"
        Option    "SwapAxes"    "0"
    EndSection

    (und die Datei vorsichtshalber noch in /etc/X11/xorg.conf.d/ kopiere)

    ...wenn Software nicht so hard-ware ;) ...

    Freue mich über jeden like :thumbup:

    Einmal editiert, zuletzt von VeryPrivat (20. Juni 2020 um 10:56)

  • Jetzt bin ich schon einen großen Schritt weiter:

    Zuerst ist mir in der /var/log/Xorg.0.log folgendes aufgefallen:

    "[ 12.397] (EE) event5 - eGalax Inc. Touch Touchscreen: libinput bug: missing tablet capabilities: btn-stylus resolution. Ignoring this device."

    Hier der gesamte Ausschnitt bezüglich des Touch in der Datei:

    Nach etwas suchen bin ich auf diesen Bugreport gestoßen. Dort wird empfohlen die Datei /etc/udev/rules.d/91-libinput-egalax-local.rules mit folgendem Inhalt anzulegen:

    Code
    ACTION=="add|change", KERNEL=="event[0-9]*", ENV{ID_VENDOR_ID}=="0eef", \
    ENV{ID_MODEL_ID}=="0001", ENV{ID_INPUT_TABLET}="", ENV{ID_INPUT_TOUCHSCREEN}="1"

    Nach einem Neustart hat der Touch tatsächlich wieder reagiert. Auch die Touchkalibrierung funktioniert - allerdings wirkt die Kalibrierung weder nach dem kalibrieren (weiterhin an der falschen Stelle), noch nach dem Eintrag in die /etc/X11/xorg.conf.d/99-calibration.conf samt Neustart...

    ...wenn Software nicht so hard-ware ;) ...

    Freue mich über jeden like :thumbup:

  • Die Kalibrierung konnte ich analog zu dieser Anleitung mit xinput set-prob durchführen. Die Werte habe ich durch probieren herausgefunden. Folgender Befehl kalibriert den Touch halbwegs gut - nur die Bereiche am linken und oberen Rand erreiche ich nicht mehr.

    xinput set-prop "eGalax Inc. Touch Touchscreen" --type=float "Coordinate Transformation Matrix" 1.03 -0.015 0 0 1.07 -0.05 0 0 1

    Meine aktuelle Vermutung: Die Rohwerte des Touch (ich nehme an, dass xinput_calibrator diese liefert) werden schon irgendwo umgerechnet, da der Touch ohne Kalibrierung schon halbwegs passt. Mit obigen Befehl füge ich noch (relativ kleine) Multiplikatioren hinzu. Die "Vorkalibrierung" liefert aber keine Werte kleiner 0 - daher erreiche ich die Bereiche auch nicht...

    xinput_calibrator liefert folgende Werte:

    Code
    Option    "MinX"    "764"
    Option    "MaxX"    "63588"
    Option    "MinY"    "3896"
    Option    "MaxY"    "63168"

    ...wenn Software nicht so hard-ware ;) ...

    Freue mich über jeden like :thumbup:

    Einmal editiert, zuletzt von VeryPrivat (20. Juni 2020 um 14:25)

    • Hilfreichste Antwort

    So, nach langem probieren funktioniert es jetzt wieder. Ich bin mir nicht sicher, ob ich tatsächlich noch alle relevanten Schritte anführen kann.

    1) Datei /etc/udev/rules.d/91-libinput-egalax-local.rules mit folgendem Inhalt erstellen (siehe Beitrag #4)

    Code
    ACTION=="add|change", KERNEL=="event[0-9]*", ENV{ID_VENDOR_ID}=="0eef", \
    ENV{ID_MODEL_ID}=="0001", ENV{ID_INPUT_TABLET}="", ENV{ID_INPUT_TOUCHSCREEN}="1"

    2) Treiber http://www.eeti.com.tw/touch_driver/L….5.7413.L-x.zip ausführen - Rückfrage nach Aufnahme in Blacklist mit Y bestätigen - Installation schlägt in weiterer Folge fehl... (Hinweis: Es wurde die Datei /etc/modprobe.d/blacklist.conf mit folgendem Inhalt erstellt:

    Code
    -e 
    ### Beginning: blacklist usbtouchscreen ###
    blacklist usbtouchscreen
    ### End: blacklist usbtouchscreen ###

    3) Kalibrierung mit xinput_calibrator durchführen - die Ausgabe entspricht wieder dem "alten" Format (wie in Beitrag #3).

    4) Datei /usr/share/X11/xorg.conf.d/99-calibration.conf mit der Ausgabe der Kalibrierung erstellen.

    Der linke und obere Rand sind noch immer sehr schlecht erreichbar - dürfte wohl doch bauartbedingt durch den Touch sein.

    ...wenn Software nicht so hard-ware ;) ...

    Freue mich über jeden like :thumbup:

Jetzt mitmachen!

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