China-LCD in Betrieb nehmen
- Mittels
sudo raspi-config
das SPI-Interface aktivieren sudo nano /boot/config.txt
ausführen und um
dtoverlay=ads7846,speed=1000000,penirq=17,swapxy=1
(Das aktiviert das Touchpanel.)
dtoverlay=piscreen,rotate=90
1 (Das aktiviert das Display)
ergänzen.- Bei mir ist die X-Achse des Touchpanels gespiegelt. Mit einer geeigneten Transformation bekommt man auch das in den Griff:
sudo nano /usr/share/X11/xorg.conf.d/40-libinput.conf
Dort in derSection
InputClass
mit demIdentifier
libinput...
die Zeile
Option "TransformationMatrix" "0 1 0 -1 0 1 0 0 1"
2
einfügen. sudo nano /boot/cmdline.txt
und am Ende
fbcon=map:10 fbcon=font:ProFont6x11 logo.nologo
eintragen- abschließend in
/usr/share/X11/xorg.conf.d/99-fbturbo.conf
dasfb0
gegenfb1
tauschen
Bleibt abschließend noch das Problem, dass der Touchbereich kleiner zu sein scheint als das Display: mittig des Bildschirms stimmen Touchstelle und Zeigerposition überein, weiter am Rand driften sie aber auseinander.
Ersten Indizien nach kann man das mit einer weiteren Matrix in der 40-libinput.conf
händeln, und zwar
Option "CalibrationMatrix" "string"
. 3
Der entsprechende String basiert auch auf einer Matrix wie oben: 4
[ c0 0 c1 ]
[ 0 c2 c3 ]
[ 0 0 1 ]
und wird entsprechend mit c0 0 c1 0 c2 c3 0 0 1
eingetragen. Hierbei ist zu beachten, dass es sich nicht um absolute Beträge handelt, sondern um Verhältnisse 5, die sich wie folgt berechnen:
- c0 = touch_area_width / total_width
- c2 = touch_area_height / total_height
- c1 = touch_area_x_offset / total_width [Versuch: 20px / 480px = 0.041666]
- c3 = touch_area_y_offset / total_height [Versuch: 20px / 320px = 0.0625] 4
Die heute [2017-07-04] noch offene Frage lautet: wo bekomme ich die entsprechenden Zahlen her? Oder ist es doch ausreichend, die Integer-Werte der TransformationMatrix in floats o.ä. umzuwandeln? 6
Sonst nochmal bei notro nachsehen
Quelle(n):
Raspberry-Forum [abgerufen 2017-05-10]
[1] Laut https://github.com/raspberrypi/firmware/blob/master/boot/overlays/README kann das dtoverlay piscreen noch mit Parametern versehen werden. [abgerufen 2017-07-04]
[2] Exemplarisch https://raspberrypi.stackexchange.com/a/61060 Stichwort “Input Coordinate Transformation Matrix” [abgerufen 2017-07-04]
[3] https://www.systutorials.com/docs/linux/man/4-libinput/ [abgerufen 2017-07-04]
[4] https://wiki.archlinux.org/index.php/Calibrating_Touchscreen [abgerufen 2017-07-04]
[5] https://wayland.freedesktop.org/libinput/doc/latest/absolute_axes.html [abgerufen 2017-07-04]
[6] https://wiki.ubuntu.com/X/InputCoordinateTransformation [abgerufen 2017-07-04]
Gib auch Du Deinen Senf dazu