QT embedded simulate (up,down,left,right,enter) navigation
-
HI,
I am using a Touchpanel for demonstration purpose, but in fact later it will not have touch functionality.
So i have added 5 Buttons (touchable left,right etc.) and if i press on one of these buttons the GUI (seperate widget) should then for example scroll down, mark a button click a button if i use the virtual keys.
I handle the touch events to see which one was pressed (left right etc.) and then executing the regarding Key Event.
But nothing happens in the widget. I thought qt can handle that easily if i trigger the KeyEvent, but it seems not to do it like I hoped.
So how can i achieve a navigation with my tocuhbuttons which are simulating the final embedded config?
-
You should rather make a virtual input panel like described in the "Input panel example". That would be more accurate with the final setup of your device
-
Hi,
i found in the net some hint using the configure switch -D QT_KEYPAD_NAVIGATION and set the nav mode QApplication::setNavigationMode.
But if i try that approach I get setNavigationMode is not a member if QApplication.
Is this in anymore? I am using latest QT 5.4 creator and cross compile to embedded with 4.8.6 qmake target.Please help me, i am getting confused here. Since I think i am not the only one who just has keypad for navigation.
Regards
-
setNavigationMode is still there but requires QT_KEYPAD_NAVIGATION to be defined when when building Qt
-
HI,
i have set this flag for my cross compiled qmake configuration QT4.8.6.
So how to configure qt creator QT5.4.1 to handle this QT_KEYPAD_NAVIGATION?Do i need to configue the sources for my Ubuntu ?
like ./configure -v -D QT_KEYPAD_NAVIGATION
make -j 4
sudo make install?
will it then be recognized, as QApplication function?
Maybe this picture helps to understand which my target platform is similar to:
http://emsystech.de/wp-content/uploads/2012/09/raspi-lcd-1.jpgIs Qt able to get interaction with input fields/combo boxes etc. and menu navigations with only these 5 buttons?
-
Yes thats that but there's something puzzling me, why are you developing with Qt 5 on your desktop and run 4.8.6 on your device ?
-
Well I just downloaded the latest QT total package and that had QT 5.4.1.
I need to use 4.8.6 as cross target because the target is not really running with qt 5.4.1 it gives DBUS errors etc.
So I wanted to start keeping the working 4.8.6 as a base to go on.So maybe I can configure qt 5.4.1 with this KEYPAD define and keep the configured cross 4.8.6 qmake?
Are you seeing any issue with this?Or what would you suggest to get qt running on such a platform:
http://emsystech.de/wp-content/uploads/2012/09/raspi-lcd-1.jpgwith navigation, iputs etc? Have you already done such a project?
-
I did, years ago and Qt wasn't even in it's 4 series
What exact errors are you getting with Qt 5 ?
In any case, if you have Qt 4 running properly, then use it also on your desktop to ensure you have the same behavior on both sides
-
Okay thats sound good, maybe I need to give qt5 a second try or use also qt4 on the desktop.
I am not a the system right now but as I have in mind starting the application with
./test -qpa linuxFB:/dev/fb0
and then i got the DBUS error. Maybe my cmdline is also wrong. QT5 cross compile was not plug and play for me.
Do you remember how you have realized inputs with this few buttons?
-
The exact error messages would be useful. Just to rule out the obvious: do you have the dbus daemon running ?
The UI was written to be very keyboard friendly and had a lot thinking about focusing so as to make sense when moving from up to down and left to right. What kind of UI will that be ?
-
Okay, seems to be DBUS not running correctly:
./TestQTCross -platform linuxfb:fb"/dev/fb0"
QIconvCodec::convertToUnicode: using Latin-1 for conversion, iconv_open failed
QIconvCodec::convertFromUnicode: using Latin-1 for conversion, iconv_open failed
process 2302: D-Bus library appears to be incorrectly set up; failed to read machine uuid: Failed to open "/var/lib/dbus/machine-id": No such file or directory
See the manual page for dbus-uuidgen to correct this issue.
D-Bus not built with -rdynamic so unable to print a backtrace
Aborted (core dumped)is the DBUS really needed for qt5 embedded? since it is not in 4.8?
-
The DBus module is also included in the 4 series however AFAIK it should not be mandatory for the linuxfb plugin but you also have another problem with iconv_open. Are you using the same version of libraries on your target than the one used to build Qt 5 ?
-
Hi,
yes i am using the same ones.The configure command looks as follows:
./configure -release -opensource -confirm-license -arch arm -xplatform linux-arm-gnueabi-g++ -no-icu -no-pch -prefix /usr/local/Trolltech/qt5 -skip qtwebkit-examples -skip qtwebkit
I have adapted the qmake.conf of the linux-arm-gnueabi-g++ to fit my cross compile toolchain.
Do you see any issue?
-
which platform plugins are built ?
-
How did you install Qt on your board ?
-
I normally just move over the files of the given configure path /usr/local/Trolltech/qt5 to the target board into the same directory.
I found out if I use dbus-uuidgen -ensure before calling the app it starts up without the DBUS warning but the icon warning is still there.
Also I cannot configure qt to work with webkit (see different post).
Regards
-
Did you use your device root filesystem to cross-compile build Qt 5 ? If not, you have probably used a different set of library than the one that's being used on your board