QVirtualKeyboard su Raspberry riempie tutta la schermata
-
Buongiorno a tutti,
Sto muovendo i primi passi nel mondo della crosscompilazione con Qt e Raspberry
Nel complesso le operazioni di compilazione funzionano abbastanza bene, ma ho un problema con la tastiera virtuale. Mi spiego:
Compilo la mia applicazione (prendo ad esempio ll classica "basic" che si trova tra gli esempi proprio per la tastiera virtuale), mi crea un eseguibile che funziona senza problemi sotto X.
Ho installato comunque il Creator anche sotto Raspberry, e compilandolo nativamente tutto ok (ma questo è abbastanza ovvio).
Ora vorrei avviare l'applicazione direttamente all'accensione.
Ho inserito in /usr/share/xsessions/lightdm-xsession.desktop la riga:Exec=/home/pi/basic/basic
e, lanciando
sudo service lightdm restart
mi si apre l'applicazione a pieno schermo.
Il problema è nell'inserimento del testo, perchè la tastiera "copre" con una porzione di sfondo tutto il resto dell'applicazione (sia nell'esempio che nella mia applicazione).
Se uso la tastiera virtuale, e poi la nascondo, l'applicazione mostra di ricevere gli inserimenti in modo corretto.
Sembra che, se non carico un desktop manager, non vengano gestite opportunamente le componenti "applicazione" e "tastiera virtuale", che vengono visualizzate solo a pieno schermo.
Questo comportamento è presente sia nel programma compilato nativamente su Raspberry che su quello crosscompilato.
Tornando alla mia applicazione,la tastiera virtuale viene semplicemente chiamata dal main.cpp , con l'applicazione di uno stile.qputenv("QT_IM_MODULE", QByteArray("qtvirtualkeyboard")); qputenv("QT_VIRTUALKEYBOARD_STYLE",QByteArray("orange"));
Mi è sembrato di capire che questo metodo è un po' troppo minimale quando si utilizza eglfs, senza appoggiarsi al server X11 o Wayland, ma speravo, nel mio caso (usando lightdm) di non aver problemi.
Qualcuna sa indirizzarmi sulla strada giusta?
Grazie mille a tutti -
Buongiorno a tutti,
Sto muovendo i primi passi nel mondo della crosscompilazione con Qt e Raspberry
Nel complesso le operazioni di compilazione funzionano abbastanza bene, ma ho un problema con la tastiera virtuale. Mi spiego:
Compilo la mia applicazione (prendo ad esempio ll classica "basic" che si trova tra gli esempi proprio per la tastiera virtuale), mi crea un eseguibile che funziona senza problemi sotto X.
Ho installato comunque il Creator anche sotto Raspberry, e compilandolo nativamente tutto ok (ma questo è abbastanza ovvio).
Ora vorrei avviare l'applicazione direttamente all'accensione.
Ho inserito in /usr/share/xsessions/lightdm-xsession.desktop la riga:Exec=/home/pi/basic/basic
e, lanciando
sudo service lightdm restart
mi si apre l'applicazione a pieno schermo.
Il problema è nell'inserimento del testo, perchè la tastiera "copre" con una porzione di sfondo tutto il resto dell'applicazione (sia nell'esempio che nella mia applicazione).
Se uso la tastiera virtuale, e poi la nascondo, l'applicazione mostra di ricevere gli inserimenti in modo corretto.
Sembra che, se non carico un desktop manager, non vengano gestite opportunamente le componenti "applicazione" e "tastiera virtuale", che vengono visualizzate solo a pieno schermo.
Questo comportamento è presente sia nel programma compilato nativamente su Raspberry che su quello crosscompilato.
Tornando alla mia applicazione,la tastiera virtuale viene semplicemente chiamata dal main.cpp , con l'applicazione di uno stile.qputenv("QT_IM_MODULE", QByteArray("qtvirtualkeyboard")); qputenv("QT_VIRTUALKEYBOARD_STYLE",QByteArray("orange"));
Mi è sembrato di capire che questo metodo è un po' troppo minimale quando si utilizza eglfs, senza appoggiarsi al server X11 o Wayland, ma speravo, nel mio caso (usando lightdm) di non aver problemi.
Qualcuna sa indirizzarmi sulla strada giusta?
Grazie mille a tutti@Andrea_M,
Non ho mai usato Qt su Raspberry, penso che la configurazione sia dovuta al qml.
Il pannello della tastiera si può spostare in base al focus dell'oggetto. attivato in quel momento.
Questo è un vecchio test che avevo fatto.
https://github.com/piervalli/Qt-VirtualKeyboard