Kalibrierung eines Touchscreens von Hope Industrial auf einem Raspberry Pi

UM22-Touchscreen und -Tastatur von Hope Industrial mit Raspberry Pi im Gehäuse integriert
UM22-Touchscreen und -Tastatur von Hope Industrial mit Raspberry Pi im Gehäuse integriert

Bitte beachten:Linux ändert sich ständig. Aus diesem Grund werden die folgenden Informationen schnell veraltet sein. Bitte kontaktieren Sie unser Support-Team, wenn Sie weitere Unterstützung benötigen.

Wir haben viele Kunden, die unsere Industrie-Touchscreens und Workstations als robustes, wasserfestes Frontend für einen einfachen Raspberry Pi-Computer nutzen.  Im Laufe der Jahre haben wir mehrere Artikel dazu geschrieben, wie Touchscreens sowohl physisch montiert als auch unter einem Raspbian-Betriebssystem installiert/kalibriert werden können.  Wir haben auch einige allgemeine Linux-Übersichtsartikel geschrieben, die die verschiedenen Verwendungsmöglichkeiten unserer Bildschirme unter Linux behandeln.

Das Raspbian-Betriebssystem hat sich ein wenig weiterentwickelt und einige der zuvor genannten Methoden funktionieren nicht mehr wie beschrieben.  Am wichtigsten ist, dass neuere Versionen jetzt libinput anstelle von evdev enthalten.  Hier ist eine aktualisierte Version unserer empfohlenen Methode für die Verwendung eines beliebigen Touchscreens von Hope Industrial mit den neuesten Versionen von Raspbian 9 Stretch (Kernel 4.9).

Da es sich bei unserem Touchscreen-Controller wie bereits erwähnt um ein Standard-HID-Gerät handelt, ist nach wie vor kein spezieller Treiber erforderlich, aber wir müssen bestimmte Konfigurationsschritte vornehmen, um alles zum Laufen zu bringen.

Download und Installation von evdev und evtest

Zuerst müssen wir evdev, eine generische Eingabe-Ereignisschnittstelle, herunterladen und installieren.  Wie bereits erwähnt, war sie in neueren Versionen von Raspbian durch libinput ersetzt worden, aber sie eignet sich immer noch hervorragend für unsere Zwecke.  Wir werden in einem zukünftigen Beitrag detaillierte Anweisungen zur Verwendung von libinput geben.  Um evdev zu installieren, führen Sie die folgenden Schritte aus:

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

Wir benötigen auch evtest, ein Dienstprogramm, das uns hilft, die Offset-Parameter für die Kalibrierung des Touchscreens zu finden.  Um evtest zu installieren, führen Sie die folgenden Schritte aus:

    sudo apt-get install evtest

Sie müssen eventuell alle notwendigen Abhängigkeiten akzeptieren.

Konfiguration und Kalibrierung des Touchscreens

Die Ausrichtung des Touchscreens erfordert es, dass wir einige Parameter einstellen, damit der Treiber die Touch-Eingabe über den verfügbaren Bildschirmbereich „dehnen“ kann. Wir werden evtest verwenden, um diese zu finden. Dann werden wir einige Konfigurationsdateien bearbeiten, um sie anzuwenden und andere Touchscreen-Eigenschaften einzustellen.

1. Führen Sie evtest aus.

2. evtest listet die angeschlossenen Eingabegeräte auf. Wählen Sie die Nummer des Geräts für die 2218 Accutouch-Schnittstelle von Elo TouchSystems.

3. evtest zeigt einige Konfigurationsdaten an und wartet dann auf die Eingabe.

4. Berühren Sie mit dem Finger oder einem Eingabestift die linke obere Ecke des Touchscreens. Sie werden sehen, wie der evtest eine Reihe von Datenausgaben mit ABS_X- und ABS_Y-Zeilen durchläuft, gefolgt von numerischen Werten:

Event: time 1374175747.420998, type 3 (EV_ABS), code 0 (ABS_X), value 484
Event: time 1374175747.421011, type 3 (EV_ABS), code 1 (ABS_Y), value 3364

Notieren Sie aus diesen Werten den niedrigsten beobachteten ABS_X-Wert und den höchsten beobachteten ABS_Y-Wert.

5. Wiederholen Sie nun den Vorgang, aber berühren Sie diesmal die untere rechte Ecke des Bildschirms und notieren Sie sich den höchsten ABS_X- und den niedrigsten ABS_Y-Wert. Beenden Sie evtest (Strg + C).

6. Öffnen Sie die libinput-Konfigurationsdatei in Ihrem bevorzugten Texteditor: /usr/share/X11/xorg.conf.d/40-libinput.conf

7. Fügen Sie am Ende der Datei Folgendes ein und ersetzen Sie minX, maxX, maxX, minY, maxY (rot dargestellt) durch die Werte, die Sie oben notiert haben.

Abschnitt „InputClass“
		Bezeichner „elo touchscreen catchall“
		MatchVendor "ELO"
		MatchDevicePath "/dev/input/event*"
		Treiber "evdev"
		Option "InvertY" "true"
		Option "Calibration"minX maxX minY maxY"
                Option "EmulateThirdButton" "1"
                Option "EmulateThirdButtonTimeout" "750"
                Option "EmulateThirdButtonMoveThreshold" "30"
EndSection
  • Beachten Sie, dass wir in der MatchVendor-Zeile diese Konfiguration auf alle Eingabegeräte anwenden, deren Anbieter „ELO“ enthält. Dies sollte ausreichen, aber wenn Sie ein anderes Gerät angeschlossen haben (oder mehrere Touchscreens), müssen Sie möglicherweise spezifischer sein.  Wir wollten in diesem Beispiel einen breiten Überblick geben, um verschiedene Versionen unseres Touch-Controllers abzudecken.
  • Die Optionen, die mit „Emulate“ beginnen, erlauben das Antippen und Halten (für 750 ms), um einen Rechtsklick zu simulieren. Wenn kein Rechtsklick erforderlich ist, können diese Zeilen weggelassen werden.

8. Speichern Sie die Datei und starten Sie neu. Jetzt sollte Ihr Mauszeiger Ihrem Finger sehr genau folgen und die Funktion „Halten für Rechtsklick“ vollständig unterstützen.