Ich hatte das gleiche Problem und fand diese Diskussion.
Meine Lösung für X11 (Matchbox Window Manager) mit qt5 lautet wie folgt.
Optional schalte ich das Display nicht vollständig aus, sondern reduziere stattdessen die Helligkeit. Ich möchte jedoch weiterhin vermeiden, dass der erste Klick auf die Anwendung erfolgt, da die abgeblendete Anzeige etwas dunkel ist und der Benutzer möglicherweise nicht gesehen hat, was er berührt hat.
Erstens habe ich ein Skript, das für eine bestimmte Zeit (zur gleichen Zeit wie für den Bildschirmschoner) auf ein Touchscreen-Ereignis wartet. Nach Ablauf der Zeit wird die Helligkeit des Displays verringert und eine Animation gestartet, die beendet wird, wenn jemand auf den Touchscreen drückt. Wenn diese Anwendung beendet wird, wird die Helligkeit auf den ursprünglichen Wert eingestellt.
Zweitens ist die Animationsanwendung eine Qt5 QuickScript Qml-Anwendung.
Erstens: das Skript, das im Hintergrund ausgeführt wird:
device = / dev / input / mouse0
timeout = $ screentime
während [1]; tun
Lesen Sie -t $ timeout -n 1 <$ device
notread = $?
if [$ notread == 0]; dann
Echo $ Helligkeit> / sys / Klasse / Hintergrundbeleuchtung / PWM-Hintergrundbeleuchtung / Helligkeit
sonst
Echo niemand hat den Bildschirm berührt, Bildschirm dunkler eingestellt
Echo $ Dunkelheit> / sys / Klasse / Hintergrundbeleuchtung / PWM-Hintergrundbeleuchtung / Helligkeit
/ usr / bin / qt5 / qml /usr/local/bin/darkshow.qml
fi
erledigt
Zweitens - das Skript darkshow.qml:
QtQuick importieren 2.2
QtQuick.Window importieren 2.1
Artikel {
Fenster {id: Hauptfenster
Breite: 1024
Höhe: 600
sichtbar: wahr
Sichtbarkeit: Window.Maximized
Opazität: 0,5
Modalität: Qt.ApplicationModal
// wenn es oben bleiben soll: flags: Qt.SplashScreen
MouseArea {
onClicked: Qt.quit ();
anchor.fill: Eltern
}}
onActiveChanged: {
console.log ("onActiveChanged");
if (active == 0) Qt.quit ();
}}
AnimatedSprite {
id: Sprite
Breite: 1024
Höhe: 600
anchor.centerIn: Eltern
Quelle: "content / awibuben_spritesheet.png"
frameCount: 5
frameSync: true
Rahmenbreite: 1024
Rahmenhöhe: 600
}}
}}
}}