Raspberry Pi Touchscreen um 90° drehen

Für unseren Wintergarten planen wir einen Touchscreen mit einer einfachen Oberfläche um diverser Komfortfunktionen besser steuern zu können. Auf dem Bildschirm sollen dann die Webseiten, welche auf einem anderen Server über Django realisiert sind, angezeigt werden. Wir haben uns dabei für den offiziellen 7″ Touchscreen der Raspberry Pi Foundation entschieden.

Wir planen den Touchscreen Hochkant, also um 90° gedreht, zu verwenden. Dafür sind einige Konfigurationsänderungen nötig. Nach einiger Recherche haben wir festgestellt, dass viele Anleitungen mit dem aktuellen Raspbian “Jessie” (Stand Januar 2018) nicht mehr richtig funktionieren.

Hier also die Beschreibung wie es auch mit der aktuellen Version funktioniert:

Als erstes in der config.txt den Touchscreen um 90° drehen

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sudo nano /boot/config.txt
sudo nano /boot/config.txt
sudo nano /boot/config.txt

und ans Ende

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
display_rotate=1
display_rotate=1
display_rotate=1

einfügen.

Nach einen Neustart ist der Bildschirm nun um 90° gedreht. Leider funktioniert aber die Toucheingabe nicht mehr richtig. Diese muss also auch gedreht werden.

Dazu legen wir ein kleines Script im lokalen Benutzerverzeichnis an:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
nano ~/screenrotate.sh
nano ~/screenrotate.sh
nano ~/screenrotate.sh

und fügen folgenden Code ein:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
#!/bin/bash
# Ungebungsvariable muss gesetzt sein da sonst keine Verbindung zum X-Server aufgebaut wird:
export DISPLAY=:0.0
# Toucheingabe um 90° drehen:
xinput --set-prop 'FT5406 memory based driver' 'Coordinate Transformation Matrix' 0 1 0 -1 0 1 0 0 1
#!/bin/bash # Ungebungsvariable muss gesetzt sein da sonst keine Verbindung zum X-Server aufgebaut wird: export DISPLAY=:0.0 # Toucheingabe um 90° drehen: xinput --set-prop 'FT5406 memory based driver' 'Coordinate Transformation Matrix' 0 1 0 -1 0 1 0 0 1
#!/bin/bash

# Ungebungsvariable muss gesetzt sein da sonst keine Verbindung zum X-Server aufgebaut wird:
export DISPLAY=:0.0

# Toucheingabe um 90° drehen:
xinput --set-prop 'FT5406 memory based driver' 'Coordinate Transformation Matrix' 0 1 0 -1 0 1 0 0 1

Das ganze machen mir dann noch ausführbar:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
chmod +x ~/screenrotate.sh
chmod +x ~/screenrotate.sh
chmod +x ~/screenrotate.sh

Das Script können wir dann testen indem wir es einfach aufrufen:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
~/screenrotate.sh
~/screenrotate.sh
~/screenrotate.sh

Es sollte keine Ausgabe erfolgen wenn alles funktioniert. Jetzt sollte die Toucheingabe wieder richtig funktionieren.

Nach einen Neustart ist die Einstellung der Toucheingabe leider wieder weg. Wir fügen daher das Script in den Autostart der Benutzeroberfläche ein:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
nano .config/lxsession/LXDE-pi/autostart
nano .config/lxsession/LXDE-pi/autostart
nano .config/lxsession/LXDE-pi/autostart

und fügen ans Ende der Datei folgendes ein:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
@lxterminal -e /home/pi/screenrotate.sh
@lxterminal -e /home/pi/screenrotate.sh
@lxterminal -e /home/pi/screenrotate.sh

Nach einem Systemneustart

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sudo reboot
sudo reboot
sudo reboot

sollte der Bildschirm nun um 90° gedreht sein und die Eingänge über den Touchscreen funktionieren.

 

 

 

Eine Antwort auf „Raspberry Pi Touchscreen um 90° drehen“

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.