WaveShare 7" LCD (C) Touch drehen

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

    ich habe heute mien 7" WaveShare C Touchscreen Display bekommen. (Dieses hier: https://www.amazon.de/gp/product/B01HPV7KL8?tag=psblog-21 [Anzeige])
    Habe es auch wunderbar zum laufen bekommen.

    Allerdings möchte ich gerne das Display "auf dem Kopf" montieren.
    Die Displayausgabe habe ich wunderbar mit "display_rotate=2" hinbekommen, allerdings sind jetzt noch die Touchscreen achsen vertauscht..

    Ich versuche jetzt mittlerweile seit Stunden die Touch-Achsen zu invertieren... Bekomme es aber einfach nicht hin.... :@

    Ich starte den Pi als Console und will dann einen Browser als Vollbild öffnen.
    Das mach ich aktuell mit:

    Bash
    #!/bin/sh
    xset -dpms # disable DPMS (Energy Star) features.
    xset s off # disable screen saver
    xset s noblank # don't blank the video device
    unclutter &
    matchbox-window-manager &
    midori -e Fullscreen -a http://127.0.0.1:5000

    Klappt auch wunderbar - bis auch das umgedrehte Touch...... :wallbash:

    Habe auch schon versucht in "/usr/share/X11/xorg.conf.d" (in "/etc/X11/" existiert "xord.conf.d" nicht) folgende dateien anzulegen bzw anzupassen:
    01-input.conf:

    Code
    Section "InputClass"
           Identifier      "calibration"
           MatchProduct    "WaveShare WaveShare Touchscreen"
           Option "InvertX" "1"
    Option "InvertY" "1"
    EndSection


    99-calibration.conf:

    Code
    Section "InputClass"
           Identifier      "calibration"
           MatchProduct    "WaveShare WaveShare Touchscreen"
           Option "InvertX" "1"
    Option "InvertY" "1"
    EndSection


    auch Option "SwapAxes" "0" klappt nicht.


    Sprechen die Optionen evtl nicht an an wenn ich midori direkt aus der Console starte?


    Bin am verzweifeln.. Kann mir jemand helfen meine Touch Problemchen zu beseitigen?


    Danke schon mal und viele grüße!

  • Moin real_Napster,
    irgendwo habe ich gelesen, das man die Kalibrierung des Touch nochmal durchführen sollte.

    Gruss Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.

  • Eben mal in die xorg.log geschaut:

    Dort wird meine Kalibrierung scheinbar erkannt:

    Zitat

    [ 19.226] (**) WaveShare WaveShare Touchscreen: Applying InputClass "calibration"


    nur ändern tut es leider nix..

    Die Swap und Invert optionen habe ich schon mehrfach hin und her getoggelt (einzeln jeweils...)
    Scheint ihn aber nicht zu interessieren...

    Ich verzweifle...


  • Kalibrierung über xinput-calibrator (oder so ähnlich) hab ich übrigens auch schon ausgeführt und die Ergebnisse in "99-calibration.conf" und "01-input.conf" gesichtert. (im /usr/share/X11/xorg.conf.d/ Ordner)
    Ergab aber leider keine Änderung..


    Komisch, ich habe mal so getan als hätte ich ein 180° gedrehtes Display (habe die Positionen in der gegenüberliegenden Ecke angeklickt). Meine Ursprünglichen Kalibrierparameter waren (in der Datei /etc/x11/xorg.conf.d/99-calibration.conf):
    Option "Calibration" "29 1992 115 1988"
    Die Ausgabe des Kalibrierprogramms bei gespiegelter Kalibrierung ist:

    Code
    Section "InputClass"
        Identifier    "calibration"
        MatchProduct    "eGalax Inc. Touch"
        Option    "Calibration"    "2000 37 1981 134"
        Option    "SwapAxes"    "0"
    EndSection


    Bei mir ist die Bedienung momentan gespiegelt (=unbedienbar). Also ich brauche offensichtlich nichts mit "InvertX" oder "InvertY". Warum hast Du eigentlich keine Option "Calibration" Angabe?

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

    Freue mich über jeden like :thumbup:

  • gute frage.. wird mir aber mit "DISPLAY=:0.0 xinput_calibrator" auch nicht mit ausgegeben.

    Die Ausgabe sieht dann so aus:

    Ich vermute irgendwie, das die config bei mir (warum auch immer) weder in /etc/X11/xorg.conf.d noch in /usr/share/X11/xorg.conf.d steckt sondern iiiiirgendwo anders... =(

    Die default einträge in den xorg.conf.d files enthalten übrigens serienmäßig KEINEN Eintrag mit "WaveShare WaveShare Touchscreen".
    Touch geht aber (halt verdreht..)


  • Die Ausgabe sieht dann so aus:


    ...
    Ich vermute irgendwie, das die config bei mir (warum auch immer) weder in /etc/X11/xorg.conf.d noch in /usr/share/X11/xorg.conf.d steckt sondern iiiiirgendwo anders... =(


    OK, bei Dir scheint sich die Kalibrierung mit MinX/MaxX/MinY/MaxY zusammenzusetzen. Du müsstest also "nur mal" diagonal kalibrieren, dann müssten sich bei Dir auch die Zahlen umdrehen (wie bei mir). Die Kalibrierung ist nicht einfach, da Du schätzen musst wo der Punkt Dagonal wäre - und wenn zuweit weg - Fehlgeschlagen von vorne...
    Also bei mir ist es definitiv die /etc/x11/xorg.conf.d/99-calibration.conf auf die er zugreift. Ich musste das Verzeichnis und die Datei auch selbst erstellen... Aber im ersten Post hast Du ja 99-calibration.conf angeführt (stimmt das Verzeichnis?) aber halt ohne Kalibrierwerte - die stehen bei mir da drinnen! Bei mir war die Anweisung des Kalibrierprogramms übrigens auch falsch...

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

    Freue mich über jeden like :thumbup:

  • habe eben mal die kreuzchen auf das Display gemalt ;) (hab noch die schutzfolie drauf) und diagonal kalibriert.
    Ergebnis im /usr.. pfad gespeichert -> reboot -> keine änderung
    Also die 99-calibration.conf im /usr.. ordner gelöscht und den xorg.conf.d ordner in /etc/X11 angelegt und dort die datei mit der kalibrierung hinterlegt. -> reboot -> keine änderung

    und die aktuelle xorg.log dazu:

    EDIT:
    Achja, die diagonal kalibrierte config:


  • btw.. welches OS hast du VeryPrivat?


    Habe scheinbar linux8 (Jessie) (Ausgabe von cat /ect/os-release) - beim Start erscheint ein Pixel Bildschirm...
    Hat aber bei mir vorher (ohne den Pixel Startscreen) auch schon so funktioniert.
    Du hast also jetzt auch eine /etc/x11/xorg.conf.d/99-calibration.conf mit dem von Dir geposteten Inhalt?
    Funktioniert bei Dir der Touch nach dem (richtigen!) Kalibrieren und nach den Neustart ist er wieder weg? - Bei mir ist es so, wenn ich die Datei nicht (als Root) speichere.
    Eines ist klar: Mit dem falsch kalibrierten Screen wird's nicht funktionieren - das war nur ein Versuch ob man ihn einfach falsch rum kalibrieren kann - und offensichtlich funktioniert das - bei Dir offensichtlich auch, da nun die Zahlen auch verdreht sind...
    Bitte probiere nochmal die richtige Konfiguration in /etc/x11/xorg.conf.d/99-calibration.conf zu als root (sudo) speichern - dann sollte es meiner Meinung nach funktionieren. Falls nicht, könntest Du noch die Angabe der Kalibrierung so anpassen wie mein Format ist - meines funktioniert definitiv.

    Code
    Section "InputClass"
        Identifier    "calibration"
        MatchProduct    "WaveShare WaveShare Touchscreen"
        Option    "Calibration"    "64319 64 63760 -3741"
        Option    "SwapAxes"    "0"
    EndSection


    PS: Habe nicht exakt den gleichen Touch, das sollte aber nichts ausmachen...

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

    Freue mich über jeden like :thumbup:

  • nachdem ich jetzt das Pixel Image aufgespielt hatte (ist übrigens jetzt das selbe wie deins) und ich die kalibrierung das erste mal ausgeführt hatte waren 2 besonderheiten:
    1. Das Touch funktionierte erstmals wie es soll, also richtig rum. (Davor hat es selbst DIREKT nach der kalibrierung, egal ob über kreuz oder "richtig" nie gestimmt, war immer unverändert wie vor der kalibrierung)
    2. Das Script hatte mir dann ein Output OHNE meine Min / Max Optionen, sondern mit der Option "Calibration" - also so wie bei dir ausgegeben.

    So jetzt kommts...
    Hatte dann den /etc/xorg.conf.d Ordner und die 99-calibration.conf datei erstellt (ja mir sudo, geht gar nicht anders von den schreibrechten :) ).
    Nach reboot war aber alles wieder vorbei. Touch hat die "guten" einstellungen wieder verloren und der calibrator bringt mir jetzt auch nur noch mein Min/Max output...
    Leider hab ich ausversehen die conf mit den "richtigen" werten gelöscht.. da war der finger schneller als der kopf -.-

    sprich aktueller stand:
    kalibrierung wird nicht (auch nicht mehr temporär bis zum nächsten neustart!) übernommen und der calibrator output bringt wieder Min/Max Werte, aber kein "Option Calibration" mehr

  • *fluch*... schade. Warum bei Dir der Eintrag in etc/x11/xorg.conf.d/99-calibration.conf nicht funktioniert hat ist mir nicht klar. Noch weniger warum sich das Kalibrierprogramm jetzt anders verhalten soll. OK, Du könntest den Ursprünglichen Zustand wieder herstellen indem Du den Ordner xorg.conf.d (in etc/x11/) wieder löschst. Wird dem Kalibrierprogramm vermutlich egal sein...
    Momentan weiß ich auch nicht, wie ich Dir weiter helfen könnte...
    Eines ist mir noch aufgefallen: Deine Werte die Du bei minX, minY... raus bekommst sind teilweise (leicht) negativ. Meine nicht! Vielleicht war das bei Deiner erfolgreichen Kalibrierung nicht der Fall? Eventuell kann das Kalibrierprogramm mit den negativen Ergebnissen gar nicht umgehen oder es handelt sich um Messwerte außerhalb des gültigen Bereiches?
    Vielleicht solltest Du bei Deiner Kalibrierung etwas schwindeln, sodass Du mal keine negativen Werte bekommst???

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

    Freue mich über jeden like :thumbup:

    Einmal editiert, zuletzt von VeryPrivat (2. Februar 2017 um 19:53)

  • habe sogar die harte methode verwendet und komplett neuinstalliert.

    Was ich gemacht habe:
    - image auf SD aufgespielt
    - apt-get update & upgrade durchgeführt
    - xinput_calibrator mit apt-get geladen
    - xinput_calibrator ausgeführt
    - touch testen (es hat sich nichts geändert!)
    - "sudo mkdir /etc/X11/xorg.conf.d" ausgeführt
    - output mit "sudo nano /etc/X11/xorg.conf.d/99-calibration.conf" gespeichert
    - reboot

    Ergebnis: Touch wird NICHT kalibriert (kann es nicht mehr nachstellen, dass er die "Calibration" option generiert und es funktioniert auch NICHT bis zum nächsten reboot.) Touch bleibt verdreht.
    habe auch schon den calibrator mit argument: "--output-type xorg.conf.d" auf die sprünge zu helfen -> keine Änderung.

    Versucht die Option "Calibration" manuell in die .conf zu schreiben und die Min/Max Optionen zu löschen -> keine Änderung

    Ich werd wahnsinnig.. Ich kanns mir nicht erklären warum es bei dir geht und bei mir alle Versuche ignoriert...

  • Kaum zu glauben aber ich bin ein gutes Stück weiter gekommen.

    habe wieder ein neues Image gemacht und auf dem frischen Image OHNE apt-get update oder upgrade den calibrator installiert.

    So Nimmt das Touch die kalibrierung an und ich kann sie auch im /etc/X11/xorg.conf.d/99-calibration.conf sichern.
    Auch nach dem Neustart ist die Config noch da !

    Config sieht nun so aus:

    Code
    Section "InputClass"
    	Identifier	"calibration"
    	MatchProduct	"WaveShare WaveShare Touchscreen"
    	Option	"Calibration"	"1020 10 610 -10"
    	Option	"SwapAxes"	"0"
    EndSection


    Also auch kein Min/Max, sondern "Calibration" option wurde generiert.
    Interessant ist aber, die Zahlen die vorher immer aus dem calibrator gekommen sind waren murks..
    >60000 kommt bei einer Auflösung von 1024x600 nicht hin.. (hätte man auch selbst drauf kommen können :P)

    So weit so gut.
    Jetzt werde ich versuchen das System zu updaten und schauen was passiert.

    Ich werde berichten!

  • Das Problem ist soweit Geschichte und eingegrenzt.

    ich habe das system geupdatet und geupgradet.
    Einziges Paket was noch offen ist, ist "xserver-xorg-input-all".
    Entweder das Paket oder eines der abhängigen Paketen zerstört meine Touch kompatibilität.

    Code
    Die folgenden zusätzlichen Pakete werden installiert:
      libinput-bin libinput10 libwacom-bin libwacom-common libwacom2
      xserver-xorg-input-libinput
    Empfohlene Pakete:
      xserver-xorg-input-wacom
    Die folgenden NEUEN Pakete werden installiert:
      libinput-bin libinput10 libwacom-bin libwacom-common libwacom2
      xserver-xorg-input-libinput
    Die folgenden Pakete werden aktualisiert (Upgrade):
      xserver-xorg-input-all

    Das Paket steht auf hold und sollte mir erstmal keine Probleme mehr bereiten :)

    Vielen dank an VeryPrivat - du hast mir einige Denkanstöße gegeben!


  • Vielen dank an VeryPrivat - du hast mir einige Denkanstöße gegeben!


    Freut mich, wenn ich helfen konnte - obwohl mir lieber gewesen wäre ich hätte die Lösung gewusst ;)
    Danke, dass Du die Lösung mit uns geteilt hast... bin gespannt, ob ich beim nächsten Update auch meine Kalibrierung verliere - aber ich habe ja jetzt meine richtigen Kalibrierparameter gepostet :)

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

    Freue mich über jeden like :thumbup:


  • bin gespannt, ob ich beim nächsten Update auch meine Kalibrierung verliere - aber ich habe ja jetzt meine richtigen Kalibrierparameter gepostet :)


    Das hilft in dem Fall leider auch nicht weiter.
    Bin immer noch am experimentieren, weil ich am liebsten auf einem Raspbian Lite aufbauen möchte (brauche das ganze Pixel Zeug nicht das in dem Image steckt).

    Habe aber bisher noch nicht hinbekommen beim Raspbian Lite den Touch in Betrieb zu nehmen so das ich ihn kalibrieren kann.

    Sobald das Paket "xserver-xorg-input-all" aktualisiert oder wie im Lite erstmalig installiert wird, funktioniert die Touch kalibrierung nicht mehr und die korrekten 99-calibration.conf files werden nicht mehr angenommen.

    Sprich: Ich habe jetzt das korrekte Config file, wenn ich das Paket nun aber update oder installiere wird die config nicht mehr verarbeitet und der Touch steht wieder Kopf..


  • ...
    Habe aber bisher noch nicht hinbekommen beim Raspbian Lite den Touch in Betrieb zu nehmen so das ich ihn kalibrieren kann.

    Sobald das Paket "xserver-xorg-input-all" aktualisiert oder wie im Lite erstmalig installiert wird, funktioniert die Touch kalibrierung nicht mehr und die korrekten 99-calibration.conf files werden nicht mehr angenommen.

    Sprich: Ich habe jetzt das korrekte Config file, wenn ich das Paket nun aber update oder installiere wird die config nicht mehr verarbeitet und der Touch steht wieder Kopf..

    Hi
    Ich hatte ein Ähnliches Problem mit meinem egalax-Touchdisplay.
    Das Problem ist, dass nun standardmäßig libinput für die Input-Geräte verwendet werden. Das Problem dabei ist, dass libinput nur ein paar wenige Optionen kennt.
    Ich würde dir empfehlen mal das xserver-xorg-input-evdev zu installieren

    Code
    apt-get install xserver-xorg-input-evdev


    Anschliessend den libinput-Treiber in der Datei /usr/share/X11/xorg.conf.d/40-libinput.conf durch den evdev ersetzen. Bei mir sieht dann die touchdisplay Section so aus:

    Code
    Section "InputClass"
           Identifier "libinput touchscreen catchall"
           MatchIsTouchscreen "on"
           MatchDevicePath "/dev/input/event*"
           Driver "evdev"
    EndSection

    Wenn du das gemacht hast, dann kannst du wieder mit xinput-calibrate das Ding kalibrieren. Auch die InvertX,InvertY-Optionen funktionieren dann wieder.
    Viel Erfolg..

Jetzt mitmachen!

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